Blog ENI : Toute la veille numérique !
💥 Un livre PAPIER acheté
= La version EN LIGNE offerte pendant 1 an !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

Le Rapid Application Development (RAD)

Présentation

Le Rapid Application Development crée une application complète à partir des fichiers décrits dans l’analyse.

Les cases à cocher RAD dans la description d’un fichier (onglet RAD) et dans la description de ses rubriques (onglet Avancé) précisent l’utilisation qui sera faite du fichier et de ses rubriques lors de la création des fenêtres et des états.

images/07WD008.png

Dans sa version actuelle, le RAD Simple génère cinq éléments pour chaque fichier standard : une fenêtre sous forme de fiche, une sous forme de table, une fenêtre de recherche, un état Fiche et un état Table. Si un fichier est déclaré comme Fichier de relations (onglet Options de sa description), une seule fenêtre est créée pour sa gestion. Pour relier et ouvrir les fenêtres entre elles, une fenêtre de menus est générée comme première fenêtre de l’application.

Les fenêtres créées incluent des champs liés aux rubriques et des boutons dans lesquels les codes sont déjà écrits pour gérer les données de la base de données.

L’icône RAD Application complète de l’onglet Projet du ruban lance l’assistant Génération RAD pour générer les fenêtres et les états....

Éléments générés

1. Fenêtre Menu

La première fenêtre de l’application est la fenêtre FEN_MENU qui dispose d’un menu principal pour lancer les fenêtres gérant les fichiers définis comme points d’entrée avec l’assistant.

images/07WD009.png

Chaque fichier dispose de son menu avec deux options, l’une pour ouvrir une fenêtre fiche vierge afin de saisir un nouvel enregistrement, l’autre pour ouvrir la fenêtre Table du fichier. L’option Fichier du menu permet de quitter l’application. 

Un clic droit sur une des options du menu permet d’accéder à son Code. Celui-ci ouvre la fenêtre voulue en mode modal avec la fonction Ouvre() écrite en syntaxe préfixée.

FEN_Table_parking.Ouvre() 
 
// similaire à  
Ouvre(FEN_Table_parking) 

En mode modal, la fenêtre appelante n’est plus accessible lorsqu’elle a ouvert une autre fenêtre et il faut fermer la fenêtre en cours pour y revenir.

2. Fenêtre Table

Les fenêtres Table contiennent toutes un champ Table et cinq boutons : Nouveau pour ouvrir la fenêtre Fiche en ajout, Modifier pour l’ouvrir sur un enregistrement, Supprimer pour effacer l’enregistrement sélectionné, Imprimer pour lancer l’impression d’un état Table et Fermer pour quitter la fenêtre.

images/07WD011.png

Le Contenu dans la description du champ Table associe directement la table au fichier géré.

images/07WD012.png

La table étant reliée directement au fichier qu’elle gère, la sélection d’une de ses lignes met à jour le contexte HFSQL du fichier avec l’enregistrement correspondant à la ligne sélectionnée.

Son bouton Nouveau remet à zéro le contexte HFSQL du fichier avec la fonction .RAZ() similaire à HRAZ() et ouvre une fenêtre Fiche avec la fonction Ouvre(). Si à sa fermeture la fenêtre Fiche retourne la valeur Vrai, un rafraîchissement de la table est réalisé avec la fonction .Affiche() similaire à TableAffiche().

Le bouton Modifier vérifie qu’une ligne est bien sélectionnée avec la fonction .Select() similaire à TableSelect() avant de poursuivre son code. Il ouvre ensuite la fenêtre avec la fonction Ouvre()...

Personnalisation

1. Fenêtre non modale

L’application générée par le RAD Simple fonctionne sur la base de fenêtres partageant un unique contexte HFSQL et s’ouvrant de façon modale avec la fonction Ouvre(). Avec l’ouverture modale, une seule fenêtre Fiche est ouverte à la fois.

Pour permettre l’ouverture de plusieurs fenêtres Fiche simultanément, il faut, pour chaque fenêtre Fiche, indiquer dans sa description depuis l’onglet Détail qu’elle utilise un Contexte HFSQL indépendant.

images/07WD014.png

Sans cette option, l’ouverture simultanée de la même fenêtre sur des données différentes risque de mélanger les informations dans la base de données.

Ensuite, la fonction .Ouvre(), présente dans les boutons Nouveau et Modifier des fenêtres tables, doit être remplacée par la fonction .OuvreSoeur() pour ne plus ouvrir les fenêtres en mode modal.

Le bouton Nouveau contient les fonctions .RAZ() et .OuvreSoeur() et le bouton Modifier ne contient que la fonction .OuvreSoeur().

// Bouton Nouveau = Création d'un nouvel enregistrement  
vehicule.RAZ()  
// Ouverture de la fiche du fichier vehicule en mode création  
FEN_Fiche_vehicule.OuvreSoeur() 

// Bouton Modifier   
// Une ligne est-elle sélectionnée ?  
SI TABLE_vehicule.Select()=-1 ALORS RETOUR  
// Ouverture de la fiche du fichier vehicule en mode modification 
FEN_Fiche_vehicule.OuvreSoeur() 

La fonction .Ouvre() interrompt le code qui l’exécute et récupère une valeur de retour, ce qui n’est pas le cas de la fonction .OuvreSoeur(). L’actualisation des champs Table avec la fonction .Affiche() ne doit plus être réalisée immédiatement après la fonction .OuvreSoeur(). Elle peut être déplacée dans la prise de focus de la fenêtre Table après avoir été retirée des boutons et en utilisant son paramètre taCourantBandeau.

// Prise de focus de la fenêtre  
TABLE_vehicule.Affiche(taCourantBandeau)...