|
|
|
|
- Presentación
- Implementación
- Incluyendo los archivos de la interfaz Java de WINDEV
- Carga de la biblioteca WINDEV (WDL)
- Ejecutar códigos WINDEV desde el idioma externo
- 1. Llamar a un código de WLanguage
- 2. Recuperación de los eventos lanzados en las ventanas WINDEV
- Finalización de la aplicación
Lenguaje externo: Programación en Java
Vamos a llamar a los elementos desarrollados en WINDEV (proyecto, ventanas, análisis,...) desde el lenguaje Java. El código WLanguage utilizado desde el lenguaje externo se compilará dinámicamente y se ejecutará durante la llamada. Este modo está ilustrado por el proyecto City.JAVA (en formato Java) suministrado en el subdirectorio "ExternalLanguages\Java" del directorio de instalación de WINDEV. Observación: El lenguaje Java no permite utilizar el motor HyperFileSQL. Para manipular el motor HyperFileSQL, realice los procesos necesarios en WINDEV. Incluyendo los archivos de la interfaz Java de WINDEV El siguiente archivo debe estar incluido en su código Java para poder llamar a la interfaz Java de WINDEV: WINDEV.CLASS (código fuente disponible en WINDEV.JAVA) Las siguientes líneas deben encontrarse en el código del archivo principal ".JAVA" de su código Java: public class city extends WINDEV { ... } Estas líneas le permiten recuperar las declaraciones mínimas necesarias para utilizar la interfase externa. Observación: También puede llamar a los métodos de la clase WINDEV anteponiendo estos métodos por "WINDEV".. En este caso, las líneas de código anteriores no son necesarias. Carga de la biblioteca WINDEV (WDL) La biblioteca WINDEV (extensión.WDL) contiene todos los elementos del proyecto (ventanas, informes, clases, consultas, análisis,...). Por lo tanto, debe ser cargado en la memoria para que sus componentes puedan ser llamados. Atención: Si la biblioteca a cargar contiene ventanas, el código de cada una de estas ventanas debe ser incluido en el correspondiente archivo ".WDW" ("Incluir el código compilado" debe ser comprobado en la pestaña "Detalles" de la description de cada ventana). /* Open the library */ /* if WDInt is not null, the library was not found! */ CALLWD("LIBRA,Disk,city.wdl"); /* equivalent to: WINDEV.CALLWD("LIBRA,Disk,city.wdl"); */ if (WDInt() == 0) /* equivalent to: if (WINDEV.WDInt() == 0) */ { ... else { /* Library not found */ CALLWD("Error, Library not found"); /* equivalent to: WINDEV.CALLWD("Error, Library not found"); */ } Ejecutar códigos WINDEV desde el idioma externo 1. Llamar a un código de WLanguage Todas las funciones WLanguage se pueden llamar desde el idioma externo. El comportamiento de estas funciones WLanguage, así como los valores devueltos, son idénticos tanto si se llaman: - de WINDEV o
- desde la interfaz del lenguaje externo
Para conocer los parámetros y los valores de retorno de una función WLanguage, consulte la ayuda en línea o la documentación sobre WLanguage. La llamada a un WLanguage Procedure desde la interfaz externa es realizada por Llame a CallWD. Por ejemplo: /* open the first window of the program that contains the menu */ CALLWD("Open,menufc.wdw"); /* equivalent to: WINDEV.CALLWD("OPEN,menufc.wdw"); */ 2. Recuperación de los eventos lanzados en las ventanas WINDEV La entrada en las ventanas WINDEV requiere recuperar los eventos desencadenados en estas ventanas. Para recuperar los eventos de usuario (haga clic en un menú, en un botón,...), debe implementar un sistema basado en un bucle en su programa Java. Este bucle permanecerá Active mientras se abra la ventana WINDEV y se utilizará para interceptar cada acción del usuario. Para averiguar el tipo de acción que realiza el usuario, tiene la posibilidad de utilizar una cadena de caracteres Variable (en WLanguage) llamada 'WDKey'. Este Variable se usará en su código WLanguage para indicar al programa Java qué botón se presionó, por ejemplo. Ejemplo: Java code /* open the first window of the program that contains the menu */ CALLWD("Open,menufc.wdw"); /* the program loops until the File Exit option is selected */ boolean bInput = true; while (bInput) { /* perform the input of the menu */ CALLWD("Screen,Input"); /* the status report WDKey is set to *M* when a menu choice was selected */ if (WDKey().equals ("*M*")) { ... } } CALLWD("CLOSE"); Código para interceptar la selección de "File...Exit" de la ventana "Menu" de WINDEV: String szOption = WDKey(); if (szOption.equals("FQ")) { bInput = false; } Cuando el usuario hace clic en "Archivo... Salir": - WDKey regresará "*M*".
- WDString devolverá las letras de acceso directo en el orden en que se seleccionen los menús. En nuestro ejemplo, WDString devuelve "FE".
Finalización de la aplicación Para finalizar el uso de la interfaz externa, escriba las siguientes líneas de código: /* Done... */ WDEnd(); /* equivalent to: WINDEV.WDEnd(); */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|