Comunidad de diseño web y desarrollo en internet

Cargar datos con MDM Zinc y AS3

En este tutorial crearemos un archivo SWF utilizando, además de los convencionales componentes de Flash y/o AS3, código MDM Zinc que dota a nuestro SWF de la posibilidad de cargar datos de varias formas.

En este caso veremos dos formas, una interna ya conocida a través de un TextField de tipo "Introducción de Texto", y otra externa en la cual prepararemos nuestro archivo Flash para que obtenga una cadena de texto desde un cuadro de diálogo de Windows llamada InputBox. En próximos tutoriales veremos cómo hacerlo desde un archivo de texto u otro lugar.



Prueba el ejemplo aquí

Paso 1


Crear con las herramientas de diseño de Flash, 4 objetos que son los siguientes:


  • Área de texto con nombre de instancia "entrada" de tipo "Introducción de texto".
  • Área de texto con nombre de instancia "salida" de tipo "Dinámica".
  • Botón con nombre de instancia "botonZinc".
  • Botón con nombre de instancia "botonFlash".


Paso 2


En el fotograma 1 poner el siguiente código inicialmente:

Código :

import mdm.*;
mdm.Application.init(this);
import fl.controls.UIScrollBar;

Las primeras dos líneas importan e inicializan los script's de MDM Zinc, o sea, importan la clase y al iniciarla, el swf está listo para ejecutar esas nuevas funciones de Zinc. En el tercer renglón importamos la clase que hará posible crear por código AS3, la barra de desplazamiento que utilizará nuestro programa.


Paso 3


En el fotograma 1 debajo del anterior código creamos en posición, tamaño y lugar el componente ScrollBar (barra de desplazamiento) con el siguiente código:

Código :

var sb:UIScrollBar = new UIScrollBar();
sb.move(salida.x + salida.width, salida.y);
sb.setSize(sb.width, salida.height);

En la primer línea creamos la variable "sb" que es de tipo UIScrollBar y proviene de la familia o clase UIScrollBar(), por ende, será similar en la mayoría de sus características a esa familia, pero no obstante, en las líneas subsiguientes definimos su tamaño y posición de forma, relativa a la forma y posición del componente TextField de nombre "salida".


Paso 4


En el fotograma 1 debajo del anterior código creamos 2 funciones, enlazándolas con el evento CLICK de los dos botones llamados "botonFlash" y "botonZinc".

Las funciones son:

Código :

botonZinc.addEventListener(MouseEvent.CLICK, cargaymuestraZinc);
function cargaymuestraZinc(eventObj:MouseEvent):void
{
var datosintroducidos:String = mdm.Dialogs.inputBox("Cargador de datos","Ingresa tu datos aquí...");
salida.appendText(datosintroducidos);
refrezcarScrollBar();

}
botonFlash.addEventListener(MouseEvent.CLICK, cargaymuestra);
function cargaymuestra(eventObj:MouseEvent):void
{
salida.text = salida.text + entrada.text;
refrezcarScrollBar();
}

Función cargaymuestraZinc()


En primer lugar se le asigna al botón "botonZinc" que esté atento a cuando hagan click sobre sí, y cuando eso suceda, ponga en funcionamiento o llame a la función creada debajo de nombre "cargaymuestraZinc()", cuyo objetivo es crear una variable de "datosintroducidos" de tipo "String", en la cual se cargarán los datos introducidos por el usuario en un inputBoxText o dicho de otra manera, un cuadro de dialogo de Windows.

Dicha acción del SWF es posible sólo si el mismo es compilado por MDM Zinc y se ejecuta fuera de todo entorno web, como bien puede ser el escritorio de una PC o Mac OS según como sea desarrollado.

La función que hace posible mostrar el cuadro de diálogo de Windows para introducir los datos se muestra como "mdm.Dialogs.inputBox". Una vez que el usuario llene la caja de texto y presione el botón "OK" los datos ingresados se guardan momentáneamente en la variable "datosintroducidos", que en segundo lugar son cargados a través de la función "appendText()" AGREGANDO los datos al final del componente de nombre "salida". En tercer lugar se llama a la función refrezcarScrollBar() que más adelante se explica.

Función cargaymuestra()


En primer lugar se le asigna al botón "botonFlash" que esté atento a cuando hagan click sobre sí, y cuando eso suceda haga ponga en funcionamiento o llame a la función creada debajo de nombre "cargaymuestra()" cuyo objetivo es transferir los datos ingresados en el componente llamado "entrada" e introducirlos en el componente de nombre "salida". Aquí también se llama a la función refrezcarScrollBar() que más adelante se explica.


Paso 5


En el fotograma 1 debajo de las anteriores funciones, creamos la tercera y última función que es la siguiente:

Código :

function refrezcarScrollBar():void
{
sb.scrollTarget = Object(root).salida;
addChild(sb);
salida.scrollV = salida.maxScrollV;
}


Función refrezcarScrollBar()


Esta función es de vital importancia para que se logre que la barra de desplazamiento, siempre después de haber introducido nuevos datos, se mantenga bajada al máximo, o sea, que el texto estará subido al máximo.


Paso 6 Final


En el fotograma 1, debajo de las anteriores funciones, llamamos a la función refrezcarScrollBar() de la siguiente forma:

Código :

refrezcarScrollBar();


Simplemente se llama a que el ScrollBar se posicione en su lugar para que podamos visualizarlo en la aplicación.

Aquí el código completo


Código :

import mdm.*;
mdm.Application.init(this);
import fl.controls.UIScrollBar;
var sb:UIScrollBar = new UIScrollBar();
sb.move(salida.x + salida.width, salida.y);
sb.setSize(sb.width, salida.height);
botonZinc.addEventListener(MouseEvent.CLICK, cargaymuestraZinc);
function cargaymuestraZinc(eventObj:MouseEvent):void
{
var datosintroducidos:String = mdm.Dialogs.inputBox("Cargador de datos","Ingresa tu datos aquí...");
salida.appendText(datosintroducidos);
refrezcarScrollBar();

}
botonFlash.addEventListener(MouseEvent.CLICK, cargaymuestra);
function cargaymuestra(eventObj:MouseEvent):void
{
salida.text = salida.text + entrada.text;
refrezcarScrollBar();
}
function refrezcarScrollBar():void
{
sb.scrollTarget = Object(root).salida;
addChild(sb);
salida.scrollV = salida.maxScrollV;
}
refrezcarScrollBar();


Espero que toda esta información sea de utilidad para alguien que lo necesite.
Cristalab me ha dado mucho y ser desagradecido es peor que ser traidor.
Saludos!

¿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