Opérateurs du langage de génération par template

Le langage de génération par template prend en charge des opérateurs arithmétiques et logiques standard ainsi que certains opérateurs de template avancés.

Les opérateurs arithmétiques et logiques suivants sont pris en charge, dans lesquels x et y peuvent être des nombres ou des templates dont la résolution produit des nombres :

Opérateur

Description

= Opérateur d'affectation.
== et != Opérateurs égal à et différent de.
> et < Opérateurs supérieur à et inférieur à.
>= et <= Opérateurs supérieur ou égal à et inférieur ou égal à.
&& et || Opérateurs logiques AND et OR.

%+(x,y)%

Opérateur d'addition.

%-(x,y)%

Opérateur de soustraction.

%*(x,y)%

Opérateur de multiplication.

%/(x,y)%

Opérateur de division.

%&(x,y)%

Opérateur logique and

Dans cet exemple, le template contenu dans la colonne de gauche produit le résultat affiché dans la colonne de droite :

Template Résultat
Base number=   %Number%       
Number+1=      %+(Number,1)% 
Number-1=      %-(Number,1)% 
Number*2=      %*(Number,2)% 
Number/2=      %/(Number,2)% 
Number&1=      %&(Number,1)%
Base number=   4       
Number+1=      5 
Number-1=      3 
Number*2=      8 
Number/2=      2 
Number&1=      0

Les opérateurs de template avancés suivants sont également pris en charge :

Opérateur

Description

*

Opérateur de déréférencement - Correspond à une double évaluation, qui renvoie un template au lieu d'un texte, en utilisant la syntaxe suivante :
%*template [(P1,P2...)]%
Pour plus d'informations sur les paramètres des templates, voir Passage de paramètres à un template.
Dans l'exemple suivant, une variable locale est renvoyée normalement et sous une forme déréférencée :
.set_value(C, Code)
%C%
%*C%
Résultat :
Code
%Code%

!

Opérateur d'évaluation - Evalue le résultat de l'évaluation de la variable comme un template.

Dans l'exemple suivant, une variable locale est renvoyée normalement et sous une forme évaluée :
.set_value(C, %%MonAttribut%%)
%C%
%!C%
Résultat :
%MonAttribut%
Red

L'opérateur ! peut être utilisé plusieurs fois. Par exemple :

%!!t%

Vous obtenez ainsi les résultats de l'évaluation de l'évaluation du template t.

?

Opérateur d'existence - Teste si un template, une variable locale ou une propriété est ou non présent, et renvoie false si tel n'est pas le cas.

Par exemple :

.set_value (maVariable, 20, new)
%myVariable?%
.unset (maVariable)
%myVariable?%

Résultat :

true
false

+

Opérateur de visibilité - Teste si une propriété d'objet est visible dans l'interface, et renvoie false si telle n'est pas le cas.

Par exemple, pour tester si le champ Type est affiché dans l'onglet Général d'une feuille de propriétés de base de données dans un MFI (ce qui signifie qu'un fichier d'extension Replication Server® est attaché au modèle), saisissez le code suivant :
%Database.Type+%