| 4D v20.1RESOUDRE POINTEUR | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v20.1
 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)
	
	
	
 Ajouter un commentaire
Ajouter un commentaire