Comunidad de diseño web y desarrollo en internet online

Crear un editor de texto en Flash con MDM Zinc

Mucha gente pregunta en los foros como guardar un txt con flash. Bueno, pues con la ayuda de MDM Zinc es muy fácil. He intentado comentar todas la líneas de código. Por supuesto hay que tener instalado el MDM Zinc.

Abrimos un documento nuevo en flash y metemos en la escena un TextArea y 3 Botones. Nos quedaría algo así:


Luego le asignamos a cada botón las siguientes funciones:

Boton Abrir:

Código :

bot_abrir.onRelease = function() {
   mdm.Dialogs.BrowseFile.title = "Abrir"; //Titulo de la ventana
   mdm.Dialogs.BrowseFile.buttonText = "Abrir";   //Texto del botón
   mdm.Dialogs.BrowseFile.filterList = "Documento TXT|*.txt"; //Sólo nos mostrará los txt
   fileName = mdm.Dialogs.BrowseFile.show(); //Abrimos una ventana para buscar el archivo en nuestro disco duro
   if (fileName == "false") {
      // Si apretamos Cancel pues no hacemos nada
   } 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, nos sacará una alerta.
            mdm.Dialogs.prompt("Esto no es un txt");
         }
      } else {
         //   Si no ha escogido un archivo, otra alerta
         mdm.Dialogs.prompt("Ese archivo no existe");
      }
   }
};


Botón Guardar:

Código :

bot_guardar.onRelease = function() {
//Corregimos los saltos de linea
   var guardar = _root.texto_txt.text.split("\r").join("\r"+"\n");
   
   mdm.Dialogs.BrowseFile.title = "Guardar como..."; //Texto de la ventana
   mdm.Dialogs.BrowseFile.buttonText = "Guardar"; //Texto del botón
   mdm.Dialogs.BrowseFile.filterList = "Documento TXT|*.txt"; //Sólo nos mostrará los txt
   fileName = mdm.Dialogs.BrowseFile.show(); //Abrimos una ventana para buscar el archivo en nuestro disco duro
   if (fileName == "false") {
   } else {
      //   Comprobamos la extensión txt
      var extension = fileName.substr(-4).toLowerCase();
      if (extension == ".txt") {
         // Si el usuario ha escrito una extensión correcta procedemos al guardado del archivo
         mdm.FileSystem.saveFileUnicode(fileName, guardar);
      } else {
         // Si el usuario NO ha escrito una extensión, se la añadimos nosotros a la fuerza y guardamos el archivo
         mdm.FileSystem.saveFileUnicode(fileName+".txt", guardar);
      }
   }
};


Botón Imprimir:

Código :

bot_imprimir.onRelease = function() {
   var imprimir = _root.texto_txt.text.split("\r").join("\r"+"\n"); //Arreglamos los saltos de linea
   mdm.Application.printVar(imprimir, true); //Procedemos a la impresión.
};
Ahora publicamos nuestra aplicación y obtendremos el .swf, que como veremos, si lo probamos no pasará nada, pero eso es porque falta compilarlo con el Zinc.

Abrimos Zinc, en la pestaña "Input File" veremos una zona que se llama "Input Source", aquí escogeremos nuestro swf. Al escogerlo veremos que en "Output" por defecto te pondrá el nombre de tu SWF pero con la extensión .exe y te lo generará en la misma carpeta de tu SWF.
Por último, le daremos al botón de "BUILD" que está en la esquina inferior derecha para que te genere el ejecutable.

Ya tenemos nuestro editor de texto!! :D

[Archivos del ejemplo]

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro

Entra al foro y participa en la discusión

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate