Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20.6
RESOUDRE POINTEUR
|
RESOUDRE POINTEUR ( pointeur ; nomVar ; numTable ; numChamp ) | ||||||||
Paramètre | Type | Description | ||||||
pointeur | Pointeur |
![]() |
Pointeur duquel récupérer l'objet référencé | |||||
nomVar | Chaîne |
![]() |
Nom de la variable référencée ou chaîne vide | |||||
numTable | Entier long |
![]() |
Numéro de la table ou de l'élément de tableau référencé(e) ou 0 ou -1 | |||||
numChamp | Entier long |
![]() |
Numéro du champ ou de l'élément de tableau 2D référencé ou 0 ou -1 | |||||
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 | ||
nomVar | numTable | numChamp | |
Aucun (pointeur NIL) | "" (chaîne vide) | 0 | 0 |
Variable | Nom de la variable | -1 | -1 |
Tableau | Nom du tableau | -1 | -1 |
Elément de tableau | Nom du tableau | numéro de l'élément | -1 |
Elément de tableau 2D | Nom du tableau 2D | numéro de ligne de l'élément | numéro de colonne de l'élément |
Table | "" (chaîne vide) | numéro de la table | 0 |
Champ | "" (chaîne vide) | numéro de la table | numéro du champ |
Notes :
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 :
FaireQuelqueChose(Self) ` FaireQuelqueChose est une méthode projet de la base
RESOUDRE POINTEUR($1;$vaNomVar;$vlNumTable;$vlNumChamp)
$vlVarNum:=Num(Sous chaine($vaNomVar;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=-1)&($vlNomVar="")))
// ATTENTION : Le pointeur n'est pas une référence à une table
TRACE
Fin de si
Fin de si
// ...
Reportez-vous à l'exemple de la commande _o_PROPRIETES GLISSER DEPOSER.
Voici un exemple de pointeur vers un tableau 2D :
TABLEAU TEXTE(atCities;100;50)
C_POINTEUR($city)
atCities{1}{2}:="Rome"
atCities{1}{5}:="Paris"
atCities{2}{6}:="New York"
// ...autres valeurs
$city:=->atCities{1}{5}
RESOUDRE POINTEUR($city;$var;$rowNum;$colNum)
//$var="atCities"
//$rowNum="1"
//$colNum="5"
_o_PROPRIETES GLISSER DEPOSER
Champ
Est une variable
Pointeur nil
Pointeur vers
Table
Produit : 4D
Thème : Langage
Numéro :
394
Nom intl. : RESOLVE POINTER
Créé : 4D v6
Modifié : 4D v15
4D - Langage ( 4D v20)
4D - Langage ( 4D v20.1)
4D - Langage ( 4D v20.2)
4D - Langage ( 4D v20.3)
4D - Langage ( 4D v20.4)
4D - Langage ( 4D v20.5)
4D - Langage ( 4D v20.6)