DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Gestion des langages externes / Fortran
  • Présentation
  • Mise en place
  • Inclusion des fichiers de l'interface Fortran de WINDEV
  • Chargement de la bibliothèque WINDEV (WDL)
  • Exécution de codes WINDEV depuis le langage externe
  • Mettre fin à l'application
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
Il s'agit ici d'appeler les éléments développés en WINDEV (projet, fenêtres, analyse, etc.) depuis le langage Fortran. Le code WLangage utilisé depuis le langage externe sera compilé dynamiquement et exécuté lors de son appel.
Ce mode est illustré dans le projet Ville.dsp (au format Fortran) fourni dans le sous-répertoire "External Languages\FR\Fortran" du répertoire d'installation de WINDEV.
Remarques :
  • Le langage externe Fortran ne permet pas d'utiliser le moteur HFSQL. Pour manipuler le moteur HFSQL, réalisez les traitements nécessaires dans WINDEV.
  • Le langage externe Fortran ne permet pas de gérer l'alphabet chinois.
Mise en place

Inclusion des fichiers de l'interface Fortran de WINDEV

Voici une liste des fichiers à inclure dans un projet Fortran pour faire appel à l'interface Fortran de WINDEV :
  • WDDEBUT.FI
  • WDFIN.FI
  • WinDev.FI
  • WinDeve.FI
  • WinDev.FD
Les lignes suivantes doivent être placées dans le code du fichier ".FOR" principal de votre projet Fortran :
* Fichier de declaration obligatoire
include 'Windev.fd'
include 'Windev.fi'
Character*2 Chn
* Initialisation obligatoire de windev
include 'WDDebut.fi'
Ces lignes permettent de récupérer les déclarations minimales nécessaires pour l'utilisation de l'interface externe.
Chargement de la bibliothèque WINDEV (WDL)
La bibliothèque WINDEV d'extension .WDL contient tous les éléments du projet (fenêtres, états, classes, requêtes, analyse, etc.). Il faut donc la charger en mémoire pour faire appel aux composants qu'elle contient.
Attention : Si la bibliothèque à charger contient des fenêtres, le code de chacune de ces fenêtres doit être intégré dans le fichier ".WDW" correspondant (option "Intégrer le code compilé" cochée, dans l'onglet "Détail" de la description de chaque fenêtre).
* Ouverture de la bibliotheque
* si WDEntier n'est pas nul, la bibliothèque n'a pas été trouvée!
CALL APPELWD(LOC('BIBLI,Disque,ville.wdl'C))
if (WDEntier .EQ. 0) then
.......
else
* Bibliothèque non trouvée
CALL APPELWD(Loc('Erreur, Bibliothèque non trouvée'C))
endif
Exécution de codes WINDEV depuis le langage externe
1. Appel d'un code WLangage
Toutes les fonctions WLangage peuvent être appelées depuis le langage externe. Leur comportement et les valeurs retournées par ces fonctions du WLangage sont exactement identiques qu'elles soient appelées :
  • depuis WINDEV ou
  • depuis l'interface langage externe
Pour connaître les paramètres et les valeur de retour d'une fonction du WLangage, il suffit donc de se reporter à l'aide en ligne ou la documentation papier habituelle relative au WLangage.
L'appel à une procédure
* ouverture de la première fenêtre du programme contenant le menu
CALL APPELWD(LOC('Ouvre,menufc.wdw'C))
2. Récupération des événements déclenchés dans les fenêtres WINDEV
La saisie dans les fenêtres WINDEV rend nécessaire la récupération des événements déclenchés dans ces fenêtres.
Afin de récupérer les événements (clic sur un menu, un bouton, etc.) de l'utilisateur, vous devez mettre en place un système basé sur une boucle dans votre programme Fortran. Cette boucle sera active tant que la fenêtre WINDEV sera ouverte et permettra d'intercepter chaque action de l'utilisateur.
Pour connaître le type d'action de l'utilisateur, vous disposez d'une variable de type chaîne de caractères (en WLangage) nommée 'WDTouche'. Cette variable sera utilisée dans votre code WLangage pour signaler au programme Fortran quel bouton a par exemple été actionné.
Exemple : Code Fortran
* ouverture de la première fenêtre du programme contenant le menu
CALL APPELWD(LOC('Ouvre,menufc.wdw'C))
* le programme boucle jusqu'à ce que le choix Fichier Quitte
* soit sélectionné
DO While (WDTouche .NE. 'ESC')
* on effectue la saisie du menu
CALL APPELWD(Loc('Ecran,Saisie'C))
* le compte-rendu WDTouche vaut *M* lorsque un choix de menu
* a été sélectionné
if (WDTouche .EQ. '*M*') then
Chn = WDChaine
...
* Affichage liste.
if (Chn .EQ. 'DD') then
call APPELWD(Loc('Ouvre,lstdepfc.wdw'C))
call APPELWD (Loc('Ecran,Saisie'C))
call APPELWD (Loc('Ferme'C))
endif
* Impression.
if (Chn .EQ. 'DI') then
call APPELWD (Loc('Ouvre,impdep.wdw'C))
WDTouche = ' '
endif
...
Code d'interception de la sélection du menu "Fichier..Quitter" de la fenêtre WINDEV "Menu" :
DO While (WDTouche .NE. 'ESC')
* le compte-rendu WDTouche vaut *M* lorsque un choix de menu
* a été sélectionné
if (WDTouche .EQ. '*M*') then
Chn = WDChaine
endif
...
if (Chn .EQ. 'FQ') then
WDTouche = 'ESC'
endif
     ...
END DO
* Quitter l'application
Lorsque l'utilisateur cliquera sur l'option de menu "Fichier .. Quitter" :
  • WDTouche sera égale à "*M*".
  • WDChaîne contiendra les lettres d'appel dans l'ordre de sélection des menus. Dans notre exemple, WDChaîne contient "FQ".
Mettre fin à l'application
Pour terminer l'utilisation de l'interface externe, il suffit de saisir les lignes de code suivantes :
* Terminer...
include 'wdfin.fi'
END
Version minimum requise
  • Version 9
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 06/09/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale