Editor de texto con Flash y MDM Zinc
In: Flash|MDM Zinc
13
oct
2007
Como primer ejemplo voy a poner uno que puse en Cristalab hace ya algún tiempo. Se trata de cómo crear un editor de texto mediante Flash y MDM Zinc. Mucha gente tiene la duda de cómo poder guardar txt con Flash, pues bién, mediante una pequeña ayuda de Zinc es muy facil de conseguir.
Lo primero que tenemos que hacer es crear 3 botones en nuestro escenario (Imprimir, Abrir y Guardar) y además crear un textarea. Nos quedaría una cosa así:

Después asignamos a cada botón las siguientes funciones:
Botón abrir:
Actionscript:
-
bot_abrir.onRelease = function() {</p>
-
mdm.Dialogs.BrowseFile.title = "Abrir";
-
mdm.Dialogs.BrowseFile.buttonText = "Abrir";
-
fileName = mdm.Dialogs.BrowseFile.show();
-
if (fileName == "false") {
-
// Do nothing if user presses cancel
-
} else {
-
// Comprobamos si existe el archivo
-
var fileExists = mdm.FileSystem.fileExists(fileName);
-
if (fileExists == true) {
-
// Si existe, lo abrimos
-
var extension = fileName.substr(-4).toLowerCase();
-
if (extension == ".txt") {
-
// Comprobar que es un .txt
-
texto_cargado = mdm.FileSystem.loadFile(fileName);
-
// Convertimos los saltos de linea
-
_root.texto_txt.text = texto_cargado.split("\r"+"\n").join("\r");
-
} else {
-
// Si no es un .txt
-
mdm.Dialogs.prompt("Esto no es un txt");
-
}
-
} else {
-
// Si no ha escogido un archivo
-
mdm.Dialogs.prompt("Ese archivo no existe");
-
}
-
}
-
};
Botón Guardar:
Actionscript:
-
bot_guardar.onRelease = function() {
-
var guardar = _root.texto_txt.text.split("\r").join("\r"+"\n");
-
// Correctly saves carriage returns
-
mdm.Dialogs.BrowseFile.title = "Guardar como...";
-
mdm.Dialogs.BrowseFile.buttonText = "Guardar";
-
mdm.Dialogs.BrowseFile.filterList = "Documento TXT|*.txt";
-
fileName = mdm.Dialogs.BrowseFile.show();
-
if (fileName == "false") {
-
} else {
-
// Comprobamos txt
-
var extension = fileName.substr(-4).toLowerCase();
-
if (extension == ".txt") {
-
// Si el usuario ha escrito una extensión correcta
-
mdm.FileSystem.saveFileUnicode(fileName, guardar);
-
} else {
-
// Si el usuario NO ha escrito una extensión correcta
-
mdm.FileSystem.saveFileUnicode(fileName+".txt", guardar);
-
}
-
}
-
};
Botón Imprimir:
Actionscript:
-
bot_imprimir.onRelease = function() {
-
var imprimir = _root.texto_txt.text.split("\r").join("\r"+"\n");
-
mdm.Application.printVar(imprimir, true);
-
};
Ahora ya sólo nos queda publicar nuestra .fla y obtendremos el swf. Una vez hecho esto, abriremos MDM Zinc y compilaremos nuestro swf para obtener el .exe y poder ver el resultado de nuestro editor de texto.
Archivos del ejemplo.
13 Responses to Editor de texto con Flash y MDM Zinc
César
noviembre 7th, 2007 at 2:43
me parece genial, pero tengo una pregunta, es necesario instalar MDM Zinc en cada equipo si el proyecto es un cd interactivo para entregar a varias personas, o simplemente lo necesito yo como desarrollador para realizar el proyecto.
Juan
noviembre 7th, 2007 at 10:03
No Cesar, el Mdm zinc únicamente lo necesitas tú como desarrollador para convertir tu swf, en exe y así hacer que funcionen los comandos del mdm zinc.
César
noviembre 8th, 2007 at 3:39
Juan te agradezco mucho
Bleend
diciembre 18th, 2007 at 14:32
Ey! Esta muy chulo One :O
Nunca usé MDM Zinc
Juan
diciembre 18th, 2007 at 14:37
Bleend, no lo uses. Aprende AIR y así luego intercambiamos conocimientos xDD
Agusto
julio 2nd, 2008 at 6:03
como puedo obtener el texto de un archivo .FLA sin tener que copiar y pegar en un txt?
Juan
julio 2nd, 2008 at 8:46
Augusto explicate mejor, no se a que te refieres con obtener el texto de un archivo .fla.
ricardo
julio 25th, 2008 at 18:38
como instalo el mdm zinc??
Juan
julio 25th, 2008 at 20:22
Es un programa como otro cualquiera. Bajate la versión trial de la web oficial y ejecutalo. Se te instalará solo.
http://www.multidmedia.com/
fernando
agosto 30th, 2008 at 6:33
Juan te quiero hacer una pregunta como se haria para que no me guarde un txt si no un documento de word???
te agradezco si me despejas la duda.
ardardina
septiembre 3rd, 2009 at 15:18
Hola, no creo que este post esté ya activo, pero bueno, por si acaso lo intento. Me ha parecido la explicación, creo que para lo que necesito podría servir perfectamente este método, la duda que tengo es si toda la información que se guarde lo hace en un mismo .txt o bien, cada vez que se guarda la información va a un archivo .txt diferente (he intentado hacer pruebas con tu ejemplo, pero no puedo porque me dice que me tengo que importar un libreria de msn ???), bueno el caso es que no he podido verlo.
Por otro lado lo que necesito es guardar datos de formulario a poder ser en un mismo archivo, …
Gracias si aún estás por ahí y puedes ayudarme
Juan
septiembre 4th, 2009 at 17:30
Hola ardina, el ejemplo te pregunta donde quieres guardarlo. Y es como cualquier programa que te pregunta donde quieres guardarlo. Así que puedes o chafar el anterior o cada vez guardarlo en uno nuevo.
Y lo de la librería pues puede que sea porque este ejmplo lo hice en su día con el mdm 2.5 y tiene problemas con algunas actualizaciones de windows.
Te recomiendo que te instales la última versión del mdm zinc y lo vuelvas a rehacer.
[fernando] Siento la tardanza….más de un año…pero no, words no se pueden guardar.
ardardina
septiembre 7th, 2009 at 10:01
Gracias, no esperaba que después de tanto tiempo fueras a contestar! Muy amable.
Lo cierto es que me he dado cuenta de que este programa no me vale, porque realmente lo que necesito es que un formulario guarde datos en un fichero txt ( a ser posible, o tamibién valdría un xls) pero directamente, es decir que le usuario le de al botón de guardar y se olvide del tema (que se encargue de guardar datos el programa) ya que se van a tratar datos privados y no es bueno que el usuario tenga acceso a la información de otros. H investigado mucho y creo que lo que quiero es bastante complicado, porque no me puedo valer de php ni java ya que se ha de trabajar en local. Creo que la clase Shareobject guarda el carpeta user data archivos temporales que se almacenan (algo similar a las cookies), pero no sé exactamente cómo aplicarlo ni si llegaría a valer, porque esos datos se han de almacenar (pertenecerán a diferentes personas) y luego recuperarlos. Ay, es complicado (al menos para mí) pero seguiré intentándolo. De todas maneras, si me puedes echar una mano te lo agradezco, cualquier ayuda es buena en mi deseperación.
Thank u.