4D v14

Script de la vidéo

Accueil

 
4D v14
Script de la vidéo

Script de la vidéo  


 

 

Bonjour,

dans cette vidéo nous allons apprendre ce que sont les pointeurs, optimiser leur programmation et la rendre générique.

Nous l’avons vu à l’exercice précédent, il peut être fastidieux de paramétrer les options de la méthode NAVIGATION_FONCTIONS car pour chaque fonction (Chercher, Trier, ...), il faut orienter l’action vers la table correspondant à la page sélectionnée.

Dans ce cas, il est plus simple d’indiquer une seule fois au début de la méthode quelle est la table à traiter. On stocke cette indication dans une variable puis on utilise la variable dans les commandes.

Pour des questions de cohérence, on ne peut pas dire qu’une variable soit égale à une table, ce sont des objets conceptuellement différents à contenu également différent. Nous avons vu qu’une variable peut être de type entier, numérique, texte, image... et donc contenir une valeur du type concerné. Or une table n’est pas un contenu comme le serait par exemple une valeur numérique.

La solution consiste à utiliser une variable de type pointeur.

Nous allons donc définir cette variable qui sera une variable locale

 C_POINTEUR($PointeurTable)

Cette variable existe en mémoire. Maintenant pour la valoriser nous allons utiliser ce type de syntaxe :
 $PointeurTable:=->[INTERVENTIONS]

Donc nous avons bien comme nous l'avions vu pour les variables

  • une initialisation
  • une valorisation

et par la suite, à chaque endroit où la table Interventions aurait dû être utilisée on va pouvoir remplacer par cette variable, qu'il va falloir dans ce cas "dépointer".

L'avantage étant que tout le code qui est ici, qui est un simple copier-coller avec juste changement de la table, peut être remplacé par ces 2 mêmes lignes, à condition que nous ayons défini au préalable vers quelle table il fallait pointer en fonction du numéro de page.

Nous nous retrouvons donc à récupérer le code que nous avions écrit tout à l'heure et ici à indiquer que :

  • si nous sommes en page 1 nous pointerons vers interventions (->[INTERVENTIONS])
  • si nous sommes en page 2 nous pointerons vers techniciens (->[TECHNICIENS])

Ceci étant indiqué nous n'avons plus besoin de tester les pages ici et il n'est donc plus utile d'avoir ce programme en double.

Nous avons une 1ère programmation ici qui permet :

  • de définir la table concernée en fonction de la page
  • et ensuite l'action à réaliser quelle que soit la page puisque de toute façon la bonne table a été définie.

Pour chercher le principe est le même :

  • on va déplacer ici le code
  • enlever complètement le au cas ou qui est là
  • et remplacer intervention par pointeur vers la table puisque si nous sommes sur la page 2

Arrivés ici le pointeur sera un pointeur vers "Techniciens" et nous chercherons donc dans la table "Techniciens".

Le nombre d'enregistrements trouvés sera bien le nombre d'enregistrements trouvés dans la table "Techniciens"
 

 
PROPRIÉTÉS 

Produit : 4D
Thème : Pointeurs
Nom intl. : Video script

 
UTILISATION DE L'ARTICLE

Autoformation ( 4D v13)
Autoformation ( 4D v14)