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