RESOUDRE POINTEUR

4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant

version 6.0


RESOUDRE POINTEUR (pointeur; nomVar; numTable; numChamp)

ParamètreTypeDescription
pointeurPointeurPointeur duquel récupérer l'objet référencé
nomVarAlphaNom de la variable référencée ou chaîne vide
numTableNumériqueNuméro de la table ou de l'élément de tableau
référencé(e) ou 0 ou -1
numChampNumériqueNuméro du champ référencé ou 0

Description

RESOUDRE POINTEUR récupère l'information de l'objet référencé par pointeur et la retourne dans les paramètres nomVar, numTable et numChamp.

Selon la nature de l'objet référencé par le pointeur, RESOUDRE POINTEUR retourne les valeurs suivantes :

Objet référencéParamètres
nomVarnumTablenumChamp
Aucun (pointeur NIL)"" (chaîne vide)00
VariableNom de la variable-10
TableauNom du tableau-10
Elément de tableauNom du tableaunuméro de l'élément0
Table"" (chaîne vide)numéro de la table0
Champ"" (chaîne vide)numéro de la tablenuméro du champ

Notes :

Si la valeur que vous passez dans le paramètre pointeur n'est pas de type pointeur, une erreur de syntaxe est générée.

La commande RESOUDRE POINTEUR ne fonctionne pas avec les pointeurs vers des variables locales. En effet, par définition plusieurs variables locales de même nom pouvant exister à différents emplacements, il n'est pas possible pour la commande de connaître la variable à dépointer.

Exemples

(1) Dans un formulaire, vous créez un groupe de 100 variables saisissables qui s'appellent v1, v2... v100. Pour cela, vous procédez de la manière suivante :

Vous créez une variable saisissable que vous appelez v.

Vous définissez les propriétés de l'objet suivant vos besoins.

Vous associez la méthode suivante à l'objet :

   FaireQuelqueChose (Self) ` FaireQuelqueChose est une méthode projet de la base

Vous pouvez alors soit dupliquer la variable autant de fois que nécessaire, soit utiliser la fonctionnalité Tableau sur la grille de l'éditeur de formulaires.

Dans la méthode FaireQuelqueChose, si vous voulez connaître l'indice de la variable pour laquelle la méthode est appelée, vous écrivez le code suivant :

   RESOUDRE POINTEUR($1;$vaNomVar;$vlNumTable;$vlNumChamp)
   $vlVarNum:=Num(Sous chaine($vaNomVar;2))

En suivant ces étapes, vous avez écrit une fois seulement les méthodes objet pour les 100 variables : vous n'avez pas eu besoin d'écrire FaireQuelqueChose(1), FaireQuelqueChose(2)..., FaireQuelqueChose(100)).

(2) Pour des raisons de débogage, vous voulez vérifier si le deuxième paramètre ($2) d'une méthode est un pointeur vers une table. Le début de votre méthode peut être écrit ainsi :

      ` ...
   Si (<>Débogage)
      RESOUDRE POINTEUR($2;$vaNomVar;$vlNumTable;$vlNumChamp)
      Si (Non(($vlNumTable>0)&($vlNumChamp=0)&($vlNomVar="")))
         ` ATTENTION : Le pointeur n'est pas une référence à une table
         TRACE
      Fin de si
   Fin de si
      ` ...

(3) Reportez-vous à l'exemple de la commande PROPRIETES GLISSER DEPOSER

Référence

Champ, Est une variable, Nil, Pointeur vers, PROPRIETES GLISSER DEPOSER, Table.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant