| 4D v20.1Analyser formule | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v20.1
 Analyser formule 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Analyser formule ( formule {; options}{; messageErr} ) -> Résultat | ||||||||
| Paramètre | Type | Description | ||||||
| formule | Texte |   | Texte brut de la formule | |||||
| options | Entier long |   | Instructions d'entrée / sortie | |||||
| messageErr | Texte |   | Message d'erreur (chaîne vide si pas d'erreur) | |||||
| Résultat | Texte |   | Formule avec transformation (texte brut) | |||||
La commande Analyser formule inspecte le contenu de la formule 4D, vérifie sa syntaxe, et la retourne sous une forme normalisée. Cette opération permet à la formule de rester valide dans le cas où un élément du langage 4D ou de la structure est renommé (commande, constante, table, champ ou plug-in 4D).
Vous pouvez utiliser Analyser formule pour évaluer et traduire les formules de différentes manières :
* Les noms de la structure virtuelle sont définis à l'aide de commandes FIXER TITRES TABLES et FIXER TITRES CHAMPS (utilisées avec le paramètre *).  
** Les équivalents tokenisés sont les éléments du langage 4D et de la structure exprimés en texte brut et avec la syntaxe tokenisée, comme illustré ci-dessous (voir aussi la page Utiliser des tokens dans les formules) :
[Table:3]Field:1+Chaine:C10(1)Passez dans le paramètre formule une formule 4D en texte brut. Elle peut utiliser des noms réels ou virtuels ainsi que des équivalents tokenisés.
Quels que soient les types de noms utilisés dans formule, par défaut Analyser formule retourne les noms réels des éléments de langage 4D ou de structure sans tokens. Le paramètre optionnel options vous permet d'indiquer comment la formule est exprimée et/ou doit être retournée. Vous pouvez passer dans ce paramètre une ou plusieurs des constantes suivantes du thème Formules (vous pouvez combiner des constantes afin d'indiquer simultanément les formats d'entrée et de sortie de la formule.
| Constante | Valeur | Comment | 
| Formule entrée avec structure virtuelle | 1 | La formule utilise les noms de la structure virtuelle (noms personnalisés). Par défaut, la formule retournée utilise les noms réels. | 
| Formule sortie avec structure virtuelle | 2 | La formule doit être retournée avec les noms de la structure virtuelle (noms personnalisés). | 
| Formule sortie avec tokens | 4 | La formule doit être retournée avec des équivalents tokenisés (ex. : Cxx). | 
Si une erreur de syntaxe est détectée dans la formule, un message d'erreur est retourné dans le paramètre optionnel messageErr. Si aucune erreur n'est détectée, une chaîne vide est retournée.
 TABLEAU TEXTE($t1;1)
 TABLEAU ENTIER LONG($t2;1)
 $t1{1}:="Table virtuelle"
 $t2{1}:=1
 FIXER TITRES TABLES($t1;$t2;*)
 
 TABLEAU TEXTE($tf1;1)
 TABLEAU ENTIER LONG($tf2;1)
 $tf1{1}:="Champ virtuel"
 $tf2{1}:=2
 FIXER TITRES CHAMPS([Table_1];$tf1;$tf2;*)
 
  //Structure virtuelle vers équivalents réels
 $parsedFormula:=Analyser formule("[Table virtuelle]Champ virtuel";Formule entrée avec structure virtuelle;$errorMessage)
  //retourne [Table_1]Champ_2
 
  //Noms de champ et de table réels vers leur équivalent dans la structure virtuelle
 $parsedFormula:=Analyser formule("[Table_1]Champ_2";Formule sortie avec structure virtuelle;$errorMessage)
  //retourne [Table virtuelle]Champ virtuel
 
  //Noms de champ et de table vers leur équivalent tokenisés
 $parsedFormula:=Analyser formule("Chaine([Table_1]Champ_2)";Formule sortie avec tokens;$errorMessage)
  //retourne Chaine:C10([Table_1:1]Champ_2:2)  //demander à l'utilisateur de saisir sa formule
 $formula:=""
 EDITER FORMULE([Table_1];$formula)
 
  //sauvegarder la formule de l'utilisateur pour une utilisation ultérieure
 CREER ENREGISTREMENT([users_preferences])
 $persistentFormula:=Analyser formule($formula;Formule sortie avec tokens)
 [users_preferences]formula:=$persistentFormula
 STOCKER ENREGISTREMENT([users_preferences])
 
  //plus tard : exécution de la formule
 CREER ENREGISTREMENT([Table_1])
 EXECUTER FORMULE([users_preferences]formula)
									FIXER TITRES CHAMPS
									
									FIXER TITRES TABLES
									
									Formule sur chaine
									
									Utiliser des tokens dans les formules
									
	Produit :  4D
	Thème :  Formules
	Numéro :  
        1576
        
        
        
	Nom intl. :  Parse formula
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	4D - Langage ( 4D v20)
	
	
	4D - Langage ( 4D v20.1)
	
	
	
 Ajouter un commentaire
Ajouter un commentaire