4D v16.3

Utiliser des tokens dans les formules

Accueil

 
4D v16.3
Utiliser des tokens dans les formules

Utiliser des tokens dans les formules  


 

Le langage de 4D comporte un système unique en son genre de tokenisation de tous les noms d'objets du langage utilisés dans le code (commandes, tables, champs, constantes, mots-clés). Tokeniser ces noms signifie les stocker en interne sous forme de références absolues (des numéros) au moment de leur saisie dans l'éditeur de code et les restituer à l'exécution ou à l'affichage en tenant compte du contexte. Ce principe permet de garantir que le code sera toujours correctement interprété, même si vous renommez vos tables ou vos champs, ou si des commandes du langage 4D sont renommées au fil des versions de l'application.

Note : Ce principe permet également d'assurer la traduction automatique du code lorsque vous avez activé l'option "Utiliser langage français et paramètres régionaux système" de la Page Méthodes des Préférences et ouvrez vos bases avec des versions de 4D de langues différentes.

La tokenisation est entièrement transparente pour les développeurs 4D lorsqu'ils travaillent dans l'éditeur de code. Toutefois, ce mécanisme n'est pas automatiquement mis en oeuvre dans les formules de 4D, puisqu'elles sont constituées de texte qui est interprété au moment de l'exécution, et non au moment de la saisie. En fait, c'est le cas dès que le code 4D est exprimé sous forme de texte brut, notamment lorsque le code est exporté puis importé via les commandes METHOD GET CODE et METHOD SET CODE, copié-collé, ou interprété depuis des Balises HTML 4D.
Pour continuer à bénéficier des mécanismes de la tokenisation dans ce contexte, il suffit d'utiliser une syntaxe explicite, consistant à faire précéder les noms des objets du langage de leur token. Cette syntaxe est décrite ci-dessous.

Par défaut, le mécanisme des tokens n'est pas automatiquement mis en oeuvre dans les formules de 4D (ainsi que dans les contextes où le code 4D est exprimé sous forme de texte brut, cf. ci-dessus). Par conséquent, 4D propose, pour les éléments nommés contenus dans les expressions, une syntaxe spéciale permettant de référencer directement les tokens : il suffit d'ajouter à la suite du nom de l'élément un suffixe spécifique indiquant sa nature (commande, champ...) puis sa référence. La syntaxe tokenisée est décrite dans ce tableau :

ElémentExemple (syntaxe standard)SuffixeExemple (syntaxe tokenisée)Commentaire
Commande 4DChaine(a):CxxString:C10(a)xx est le numéro de la commande
Table[Employés]:xx[Employés:1]xx est le numéro de la table
Champ[Employés]Nom:xx[Employés:1]Nom:2xx est le numéro du champ
Plugin 4DPV IMPRIMER(zone):Pxx:yyPV IMPRIMER:P13000:229(zone)xx est l'ID du plug-in et yy l'index de la commande

Note : Les lettres utilisées dans les suffixes (C, P) doivent impérativement être en majuscules, sinon elles ne seront pas correctement interprétées.

Lorsque vous utilisez cette syntaxe, vous avez la garantie que vos formules seront correctement interprétées même en cas de renommage ou d'exécution de la base dans une langue différente.

Note : Les constantes sont également tokenisées dans le langage, toutefois dans les formules il suffit de passer leur valeur afin de les rendre indépendantes du contexte. 

Cette syntaxe est acceptée dans toutes les formules 4D (ou expressions 4D), quel que soit leur contexte d'appel :

La syntaxe tokenisée nécessite l'ajout de numéros de référence des éléments. L'emplacement de ces références dépend de la nature de l'élément.

Les numéros des commandes sont indiqués dans ce manuel Langage (zone "Propriétés") ainsi que dans la page Commandes de l'Explorateur :

Les numéros des tables et des champs peuvent être obtenus à l'aide des commandes Table et Field.

Ils sont également affichés dans la Palette Inspecteur de l'éditeur de structure :

Pour connaître les tokens des commandes de plug-ins 4D, l'astuce consiste à saisir le code souhaité dans l'éditeur de méthodes, puis à relancer 4D après avoir inactivé le plug-in (par exemple en déplaçant son dossier). Dans l'éditeur de méthodes, seuls les tokens sont affichés ; vous pouvez alors les copier.

Code avec plug-in installé :

Le même code après inactivation du plug-in :



Voir aussi  

METHOD GET CODE

 
PROPRIÉTÉS 

Produit : 4D
Thème : Formules

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)