Visual FoxPro es un potente lenguaje de programación que interactúa muy bien con muchas otras aplicaciones.
Flash con VFP
Todo esto es posible gracias a ActionScript, el lenguaje de programación de Flash.
Utilizaremos la aplicación SwishMax
(http://www.swishzone.com/index.php?area=products&product=max)
la cual genera presentaciones en Flash muy muy buenas, es casi como Macromedia Flash MX, pero más barata y menos pesada.
Básicamente explicaremos la parte donde VFP y Flash se comunican.
Lo que haremos será hacer un formulario de login en Swishmax, el cual será el encargado de recibir la contraseña, luego le pasará a VFP los datos recabados. VFP por su parte buscará esa contraseña y devolverá el nombre del usuario, que será mostrado en la presentación en SWF.
1. Primero que todo, se debe crear el formulario desde Swishmax, abriendo lo y seleccionando nuevo desde el menú.
2. Se fijan las dimensiones del mismo
3. Se agrega un texto, se le pone como INPUT, en la pestaña avanzadas (Advanced), se le especifica el nombre de una variable (que es lo que VFP le mandará), en este caso podemos ponerle passwd al texto le ponemos por nombre txtPasswd.
4. Creamos un botón y agregamos un evento:
On release()
Fscommand(txtPasswd.text);
5. Creamos otro texto, le ponemos como texto dinámico, lo nombramos txtNombre, a este le asignamos la variable Usuario.
6. Agregamos los efectos necesarios sobre este txtNombre
7. Generamos el swf, al cual titularemos, swflogin.swf
En VFP
1. Insertamos un control Show Wake Flash(SWF) en un formulario, con las mismas dimensiones que definimos a la película.
2. En el INIT de este control (oleLogin) podemos poner: this.Movie = [swfLogin.swf] (asumiendo que está en el mismo lugar del formulario, sino se le pone la ruta completa de la película).
3. Para saber lo que SWF nos devuelve, vamos a método FsCommand, que tiene dos parámetros command y args. Command es lo que nos manda a decir VFP.
4. En este evento, hacemos la búsqueda del usuario en nuestra tabla y cuando lo tengamos, lo podemos meter en una variable local llamada vlUsuario.
5. Para mandarle al SWF el nombre del usuario, debemos hacer:
a. Thisform.oleLogin.Movie = [swfLogin.swf?&Usurio =] + allt(vlUsuario)
Y ya a esta altura, el swf debería estar mostrando el valor pasado
Otra forma de pasarle algo al SWF es por medio de un archivo de texto, guardamos el archivo de texto con el siguiente contenido
&Usuario = Nombre&
luego desde SwishMax ponemos:
onFram (5)
//por poner un frame, pudo haber sido OnLoad()
LoadVariables(“archivotext.txt”)
Se debe de tener en cuanta que debe estar creado un text que tenga la variable Usuario referencia.
Y señalada (en ambos casos) el checkbox Target.
Los formularios debe verse mejor, con una animación en Flash que interactúe con VFP.