AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Gestión de lenguajes externos / Fortran
  • Presentación
  • Implementación
  • Incluyendo los archivos de la interfaz Fortran de WINDEV
  • Carga de la biblioteca WINDEV (WDL)
  • Ejecutar códigos WINDEV desde el idioma externo
  • Finalización de la aplicación
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
Vamos a llamar a los elementos desarrollados en WINDEV (proyecto, ventanas, análisis,...) desde el lenguaje Fortran. El código WLanguage utilizado desde el lenguaje externo se compilará dinámicamente y se ejecutará durante la llamada.
Este modo se ilustra con el proyecto City.dsp (en formato Fortran) suministrado en el subdirectorio "ExternalLanguages\Fortran" del directorio instalación de WINDEV.
Observaciones:
  • El lenguaje Fortran no permite utilizar el motor HyperFileSQL. Para manipular el motor HyperFileSQL, realice los procesos necesarios en WINDEV.
  • El lenguaje externo Fortran no soporta el carácter chino set.
Implementación

Incluyendo los archivos de la interfaz Fortran de WINDEV

Los siguientes archivos deben estar incluidos en un proyecto de Fortran para poder llamar a la interfaz de Fortran de WINDEV:
  • WDDEBUT.FI
  • WDFIN.FI
  • WINDEV.FI
  • WinDeve.FI
  • WINDEV.FD
  • wd170FC.LIB
Las siguientes líneas deben estar incluidas en el código del archivo principal ".FOR" de su proyecto Fortran:
* Mandatory declaration file
include 'WINDEV.fd'
include 'WINDEV.fi'
Character*2 Chn
* Mandatory initialization of WINDEV
include 'WDDebut.fi'
Estas líneas le permiten recuperar las declaraciones mínimas necesarias para utilizar la interfase externa.
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).
* Opening the library
* if WDInt is not null, the library was not found!
CALL CALLWD(LOC('LIBRA,Disk,city.wdl'C))
if (WDInt .EQ. 0) then
.......
else
* Library not found
CALL CALLWD(Loc('Error, Library not found'C))
endif
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 Procedure
* open the first window of the program that contains the menu
CALL CALLWD(LOC('Open, menufc.wdw'C))
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, etc.), debe implementar un sistema basado en un bucle en su programa Fortran. 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'. Esta Variable se usará en su código WLanguage para señalar al programa Fortran qué botón fue pulsado por ejemplo.
Ejemplo: Código Fortran
* open the first window of the program that contains the menu
CALL CALLWD(LOC('Open,menufc.wdw'C))
* the program loops until the File Exit option
* is selected
DO While (WDKey .NE. 'ESC')
* perform the input of the menu
CALL CALLWD(Loc('Screen,Input'C))
* the status report WDKey is set to *M* when a menu choice
* was selected
if (WDKey .EQ. '*M*') then
Str = WDString
...
* Display the list.
if (Str .EQ. 'DD') then
Call CALLWD(LOC('Open,lstdepfc.wdw'C))
Call CALLWD(Loc('Screen,Input'C))
Call CALLWD(Loc('Close'C))
endif
* Print.
if (Str .EQ. 'DI') then
Call CALLWD(LOC('Open,impdep.wdw'C))
WDKey = ' '
endif
...
Código para interceptar la selección de "File...Exit" de la ventana "Menu" de WINDEV:
DO While (WDKey .NE. 'ESC')
* the status report WDKey is set to *M* when a menu choice
* was selected
if (WDKey .EQ. '*M*') then
Str = WDString
endif
...
if (Str .EQ. 'FE') then
WDKey = 'ESC'
endif
     ...
END DO
* Exit application
Cuando el usuario hace clic en "Archivo... Salir":
  • WDKey será igual a "*M*".
  • WDString contendrá los accesos directos en el orden en que se seleccionen los menús. En nuestro ejemplo, WDString contiene "FE".
Finalización de la aplicación
Para finalizar el uso de la interfaz externa, escriba las siguientes líneas de código:
* Done...
include 'wdfin.fi'
END
Versión mínima requerida
  • Versión 9
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local