Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v20 R7
Analyser formule

Analyser formule 


 

Analyser formule ( formule {; options}{; messageErr} ) -> Résultat 
Paramètre Type   Description
formule  Texte in Texte brut de la formule
options  Entier long in Instructions d'entrée / sortie
messageErr  Texte in Message d'erreur (chaîne vide si pas d'erreur)
Résultat  Texte in 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 "réels" de tables et de champs peuvent être convertis en noms "virtuels*" (noms personnalisés) ou en équivalents tokenisés**.
  • Les équivalents tokenisés des tables/champs peuvent être convertis en noms "virtuels" ou "réels".
  • Les noms "virtuels" des tables/champs peuvent être convertis en noms "réels" ou en équivalents tokenisés.
  • Les éléments du langage 4D peuvent être convertis en équivalents tokenisés du langage 4D.
  • Les équivalents tokenisés du langage 4D peuvent être convertis en éléments du langage 4D.

* 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)



Voir aussi  

FIXER TITRES CHAMPS
FIXER TITRES TABLES
Formule sur chaine
Utiliser des tokens dans les formules

 
PROPRIÉTÉS 

Produit : 4D
Thème : Formules
Numéro : 1576
Nom intl. : Parse formula

 
PAGE CONTENTS 
 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v20 R7)