|
Haremos un caso práctico de la interacción de una animación en Flash con Visual FoxPro.
En nuestro caso en particular, trataremos con SwishMax, aunque la práctica es válida para Macromedia Flash MX.
Para comenzar:
- Debemos crear un formulario en Visual FoxPro y definir las dimensiones del mismo (width = 384, Height=264), esto debe respetarse para estas dimensiones porque la película en SwishMax tendrá las mismas dimensiones, de no hacerlo habrá distorsión en la calidad de la película.
- Todo la acción se deberá hacer a través de una unidad de red mapeada, si se trabaja sobre un recurso compartido de la forma \\servidor\recurso\archivoswf la película se presentará bien, pero el traspaso de la variable de VFP a el SWF (película generada con SwishMax) no funcionará.
En materia:
Una vez realizado el formulario, debemos agregar el control Shockwave Flash Object, desde Herramientas->Opciones, pestaña Controles, como se muestra en la siguiente figura.
Activamos la barra de herramienta de Formulario y escogemos Controles ActiveX, ahí agregamos el control al formulario con las mismas dimensiones antes especificadas y lo nombramos login, lo que nos queda algo así
En el Init del formulario ponemos lo siguiente:
This.login.Movie = FULLPATH("login.swf?msg=") && debe estar en una unidad lógica, el msg= es la variable que se la pasará a la película en flash, que se llamará login.swf.
Hasta acá llegamos en VFP, procedemos a pasarnos a SwishMax (lo abrimos y creamos una nueva película con las mismas dimensiones, a este le agregamos dos los textos y los botones necesarios.
En el texto donde se digita el usuario y la clave debe ser de tipo input, marcado el check target (envío) y debe tener una variable asociada (en nuestro caso usuario y clave), como se muestra en la figura siguiente (Encerré en círculos lo que se debe de tomar en cuenta):
En el caso de la clave (o contraseña) se debe de dar clic sobre el botón que tiene tres asteriscos, caso contrario no activarlo.
Una vez hecho esto, pasamos al código en action script, en el botón aceptar y cancelar podremos (en ese orden):
En Aceptar poner:
on (release) {
fscommand(Usuario,Clave);
}
Asumiendo que las variables utilizadas sean USUARIO y CLAVE
En el botón Cancelar poner:
on (release) {
fscommand("Quit","");
}
Para que VFP le informe al SWF si fue satisfactorio o no, pondremos un último texto, con la variable msg.
Le damos guardar y generamos (o exportamos) el swf (en nuestro caso le pondremos login.swf)
En VFP, en el método FSCOMMAND del objeto LOGIN (el objeto olé que mostrará la película) ponemos el siguiente código
*** Evento ActiveX Control ***
Lparameters Command, args
If Command ="Quit"
Thisform.Release()
Else
If Upper(Command)="USUARIO" And Upper(args) = "CLAVE"
Thisform.login.Movie = Fullpath("login.swf?msg=ACCESO PERMITIDO")
Else
Thisform.login.Movie = Fullpath("login.swf?msg=ACCESO DENEGADO")
Endif
Endif
No utilizamos una tabla por motivos didácticos, pero bien se puede utilizar una hasta con encriptación de la contraseña.
El código básicamente pregunta si el usuario y la clave son correctas, si lo son, manda a cargar la película nuevamente y le envía en la variable msg el dato a mostrar.
Si lo que se devuelve es la palabra “QUIT”, se cierra el formulario
Con esto ya pueden comenzar a fusionar animaciones en Flash con VFP y no sólo en ventanas de login, sino donde uds. crean conveniente.
Dios l@s bendiga
|