al hacer click en el escenario, arrastramos la ventana, naturalmente va a arrastrar desde cualquier parte que hagamos click, aún encima del campo de texto. En la documentación se detalla cómo definir este comportamiento, pero a fines de sencillez queda así:
Código :
function arrastrar(e:MouseEvent) { this.stage.nativeWindow.startMove(); }
al hacer click en el clip cerrar, cierra la ventana AIR:
Código :
function cerrar(e:MouseEvent) { this.stage.nativeWindow.close(); }
al hacer click en el clip cargar, pasan varias cosas:
Código :
function cargar(e:MouseEvent) {
Con el siguiente método llamamos al cuadro del diálogo Abrir del sistema, le pondremos de título a la ventana "Abrir archivo..." y mostraremos únicamente los tipos de archivos especificados anteriormente con el array FileFilter:
ya dentro de abrirArchivo, declaramos un puntero al archivo:
Código :
var puntero:FileStream = new FileStream();
Esta es la parte más curiosa. Abrimos el puntero pasándole como parámetro el archivo seleccionado al momento que se lanzó el evento SELECT. Este objeto está dentro del evento e, en la propiedad target sin embargo, si sólo lo llamamos e.target, lo toma como un objeto y no como un objeto FILE, es por eso es que le pondremos 'e.target as File'. Abrimos el flujo en modo de lectura.
Código :
puntero.open(e.target as File, FileMode.READ);
y lo volcamos a una string en unicode:
Código :
var datosArchivo:String = puntero.readUTFBytes(puntero.bytesAvailable);
function arrastrar(e:MouseEvent) { this.stage.nativeWindow.startMove(); } function cerrar(e:MouseEvent) { this.stage.nativeWindow.close(); } function cargar(e:MouseEvent) { archivo.browseForOpen("Abrir archivo...", [tipoArchivo]); archivo.addEventListener(Event.SELECT, abrirArchivo); function abrirArchivo(e:Event):void { var puntero:FileStream = new FileStream(); puntero.open(e.target as File, FileMode.READ); var datosArchivo:String = puntero.readUTFBytes(puntero.bytesAvailable); texto_txt.text = datosArchivo; } }
Uy que bueno!!! Lo voy a probar, tanks!! Por:CarlosRuminott
Lo probé (ctrl enter) y funciona bien tu tip, grax man! pero sigo teniendo un problema a la hora de querer exportarlo como paquete de instalación. Acá les dejo un link sobre este tema (ver el xml en dreamweaver ó algún editor de texto): http://designinlive.com/Cristalab/Air/ ¿puede ser que el xml, se esté exportando mal?
che maximo, fijate que en Commands\AIR Application & Installer Settings hay una etiqueta que probablemente dice Digital Signature: Create AIRI file to sign later y a la derecha hay un botón Change, si apretás el botón te sale un panel para crear tu propio certificado o importar uno ya existente. Con este certificado configurado ahora podrás publicar tu AIR como instalador. Gracias Carlos y Zguillez Por:Skatos