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í:

Plantilla editor

Después asignamos a cada botón las siguientes funciones:

Botón abrir:

Actionscript:
  1. bot_abrir.onRelease = function() {</p>
  2.     mdm.Dialogs.BrowseFile.title = "Abrir";
  3. mdm.Dialogs.BrowseFile.buttonText = "Abrir";
  4. fileName = mdm.Dialogs.BrowseFile.show();
  5. if (fileName == "false") {
  6. // Do nothing if user presses cancel
  7. } else {
  8. //  Comprobamos si existe el archivo
  9. var fileExists = mdm.FileSystem.fileExists(fileName);
  10. if (fileExists == true) {
  11. //  Si existe, lo abrimos
  12. var extension = fileName.substr(-4).toLowerCase();
  13. if (extension == ".txt") {
  14. //  Comprobar que es un .txt
  15. texto_cargado = mdm.FileSystem.loadFile(fileName);
  16. // Convertimos los saltos de linea
  17. _root.texto_txt.text = texto_cargado.split("\r"+"\n").join("\r");
  18. } else {
  19. // Si no es un .txt
  20. mdm.Dialogs.prompt("Esto no es un txt");
  21. }
  22. } else {
  23. //  Si no ha escogido un archivo
  24. mdm.Dialogs.prompt("Ese archivo no existe");
  25. }
  26. }
  27. };

Botón Guardar:

Actionscript:
  1. bot_guardar.onRelease = function() {
  2. var guardar = _root.texto_txt.text.split("\r").join("\r"+"\n");
  3. //    Correctly saves carriage returns
  4. mdm.Dialogs.BrowseFile.title = "Guardar como...";
  5. mdm.Dialogs.BrowseFile.buttonText = "Guardar";
  6. mdm.Dialogs.BrowseFile.filterList = "Documento TXT|*.txt";
  7. fileName = mdm.Dialogs.BrowseFile.show();
  8. if (fileName == "false") {
  9. } else {
  10. //    Comprobamos txt
  11. var extension = fileName.substr(-4).toLowerCase();
  12. if (extension == ".txt") {
  13. // Si el usuario ha escrito una extensión correcta
  14. mdm.FileSystem.saveFileUnicode(fileName, guardar);
  15. } else {
  16. // Si el usuario NO ha escrito una extensión correcta
  17. mdm.FileSystem.saveFileUnicode(fileName+".txt", guardar);
  18. }
  19. }
  20. };

Botón Imprimir:

Actionscript:
  1. bot_imprimir.onRelease = function() {
  2. var imprimir = _root.texto_txt.text.split("\r").join("\r"+"\n");
  3. mdm.Application.printVar(imprimir, true);
  4. };

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.

Tags: , , , , ,