¿Quieres registrarte?

Crear un editor de texto en Flash con MDM Zinc

Por: One
13 de Abril del 2007
1296 de clabLevel
Otros artículos de One
17,446 visitas

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]

Enviar a twitter Enviar a facebook


También te interesa


Etiquetas actionscript

Comentarios | Enviar un comentario
Maravilloso Zinc... yo lo he utilizado alguna vez para cds interactivos o aplicaciones de escritorio y es una maravilla.
Por: Huge_blog
Lastima que apollo mande a la basura al zinc, he trabajado bastante con él y me parece lo máximo, aunque sigue teniendo la ventaja de no requerir un runtime pre-instalado.
Por: Xyrer_blog
Hasta que no se asiente más el Apollo un servidor va a seguir usando el Zinc :D
Por: One
eso no es cierto, apollo no se compara en nada a zinc
Por: jose_blog
hola como puedo llamar un exe o ejecutar un archivo externo con Zing. lo e intendado poner FScomand pero nomas no puedo. alñguien me puede ayudar
Por: marcos_blog

Código :

mdm.System.exec("Notepad.exe");


Por: One
hola, tengo la versión de prueba que me acabo de descargar y no se como puedo crear un area de texto, ni los botones, por favor, decirme como los puedo crear. gracias-
Por: Genius_blog
puede ser mas claro o gráfico en el desarrollo del temario.
Por: jorge angarita_blog
[SWAT]link roto[SWAT]
Por: rosvel

rosvel :

[SWAT]link roto[SWAT]


gracias, ya escribi a One para que me envie el archivo asi lo arreglo :)
Por: Mariux
hola que tal yo quisiera saber como puedo hacer una nomia en txt
Por: maria_blog
me parece muy bueno
Por: daniel_blog
Ya te envié los archivos hace muuuucho tiempo xD
Por: One_blog
me parece excelente , bien por Zinc
Por: jesus alberto_blog
hola a todos, y fabuloso tutorial, nescesito alluda con el MDM Zinc no es muy complicado, solo que en el tutorial edito el punto zinc y importo exactamente el mismo swf del tutorial y lo exporto .exe y no me funciona el "browse" por faveo si me pueden responder !!!!
gracias saludos
Por: roberto-blog
hola a todos lo que necesito es guardar pero un documento wor como lo hago, y tambien que me aparezca mi icono en mi proyecto gracias.
Por: fernando-blog
Oigan alguien podria ayudarme?
Este editor de texto esta genial sin embargo no deja poner acentos, aparecen unos caracteres raros.
Gracias.
Por: hugo-blog
@hugo-blog prueba remplazar esta línea:

Código :

texto_cargado = mdm.FileSystem.loadFile(fileName);


por esta:

Código :

texto_cargado = mdm.FileSystem.loadFileUnicode(fileName);

Por: elchininet
Muchas gracias elchininet !!!
Ya funcionó !!!
En verdad te lo agradezco mucho.
Por: hugo-blog
Como hago para guardar una imagen en vez de un texo???

Gracias...
Por: Jose-blog
hola. como hago para imprimir directamente desde el swf cualquier cantidad de variables. gracias
Por: daniel-blog
Este post no tiene relación con tu pregunta. Si vas a tratar un tema diferente debes buscar un post que hable de tu tema o abrir un hilo nuevo si no lo encuentras.

Para lo que deseas, en la ayuda de Zinc busca la clase "Application" y consulta el método "printVar".
Por: elchininet
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.