Bonjour,
dans cette vidéo nous allons apprendre à appeler des méthodes et utiliser les paramètres.
Nous aborderons le passage de paramètres de type pointeurs ultérieurement.
L'objectif de cette programmation générique est d'optimiser le développement, de faciliter la maintenance et la portabilité.
Nous avons déjà utilisé l'appel simple d'une méthode (c-à-d sans paramètre) dans la méthode base "Sur Ouverture" où nous avions appelé la méthode NAVIGATION.
Nous avons vu dans les premières leçons de programmation comment paramétrer les boutons en fonction de la page sélectionnée dans le formulaire navigation.
Nous allons maintenant optimiser cette programmation pour ne conserver qu'une seule méthode utilisable par tous les boutons de navigation (Toutes, Chercher, Trier, etc ...).
- On affiche l'explorateur
- nous allons créer une nouvelle méthode
- une méthode projet que nous allons appeler NAVIGATION_FONCTIONS.
Elle va recevoir 2 paramètres :
- - Le premier concernera l'action à réaliser sous forme de texte (Chercher, Trier...)
- - Le deuxième correspondant à la page sur laquelle on se trouve au moment du clic (1, 2, 3 et ainsi de suite . ..)
L'appel à cette méthode se fera de la manière suivante :
Dans un bouton nous appellerons NAVIGATION_FONCTIONS
- Le texte correspondant à l'action que nous souhaitons réaliser
- et ici comme 2è paramètre la page concernée
NAVIGATION_FONCTIONS("Toutes";Form lire page courante)
Donc nous souhaitons utiliser les fonctions de navigation concernant l'item "Toutes" et en passant comme 2è paramètre le numéro de la page à traiter.
Le typage des paramètres dans la méthode qui va être appelée, c'est à dire cette méthode NAVIGATION_FONCTIONS se fait de cette manière là :
Vous remarquez que pour nommer les paramètres on utilise la syntaxe $1, $2, ... $n pour récupérer chacun des paramètres.
Pour des questions de lisibilité de vos méthode, je vous conseille de créer des variables locales avec des noms explicites auxquelles vous affectez la valeur des paramètres reçus. Il est donc préférable d'écrire :
puisqu'on peut déclarer plusieurs variables dans une directive de compilation type C_TEXTE pour les variables simples
ici, une 2è variable qui sera le numéro de page
et pour récupérer dans $Action la valeur de
$1 et dans $Numpage la valeur de
$2, il suffit d'écrire ceci.
$Action:=$1
$NumPage:=$2
Le reste de la méthode est une adaptation de ce que nous avons déjà écrit dans les précédents chapitres, à savoir adapter l’action à la demande et la paramétrer en fonction de la page, donc de la table choisie :
Nous allons utiliser :
:($Action="Toutes")
- et là nous allons récupérer le code du bouton "Toutes"
- couper
- et l'adapter dans la méthode.
Quelles sont les informations à remplacer :
- Le FORM Lire page courante n'a plus de raison d'être puisqu'il nous est envoyé par la méthode appelante. Nous allons donc le remplacer par $Numpage
- Le reste pour l'instant n'a pas besoin d'être modifié.
Lorsque nous aborderons les pointeurs, bien évidemment nous remplacerons ce qui est ici par une méthode bien plus générique.
Nous pouvons faire la même chose avec le bouton chercher.
- - Là je glisse le bout de code en appuyant sur ALT pour le dupliquer
- - nous aurons donc une action "Toutes", une action "Chercher"
- - nous allons copier le code du bouton "Toutes"
- - venir le coller sur le bouton "Chercher"
- - remplacer l'action ici
- - recopier le code du bouton "Chercher"
- - le refermer
- - repasser sur la méthode ici
et remplacer comme tout à l'heure Form lire page courante par la variable que nous avons reçue.
Nous allons mettre un point d'arrêt et vérifier que nous passons bien dans cette méthode lors de l'exécution du formulaire :
Si on clique sur "toutes", nous voyons la méthode en cours d'exécution mais surtout ce qui est intérressant c'est l'empilement des méthodes :
- la dernière appelée est en haut
- la précédente en bas.
Si on double-clique sur cette méthode apparaît le code qui nous a permis d'arriver ici et on voit bien que la méthode NAVIGATIONS_FONCTIONS (avec les paramètres "Toutes", FORM lire page courante) a bien été appelée. La méthode a été reçue. Ici elle a reçu les paramètres qui sont $1 "Toutes", $2 le numéro de page c'est à dire la page 1.
Ensuite $Action vaut "Toutes" donc on est censé passer dans cette partie
ensuite $Numpage vaut 1 nous allons donc TOUT SELECTIONNER de la table Interventions et déterminer le nombre d'enregistrements concernés.
Je vais :
- enlever le point d'arrêt
exécuter la méthode
en venant sur technicien si on cherche ceux dont le nom contient bon nous trouvons bien BONAPARTE.
et si on demande toutes
donc notre méthode fonctionne bien elle est bien appelée et reçoit les paramètres.