Crystal Reports Designer  

Expressions multiples (syntaxe Crystal)

Habituellement, chaque expression occupe une ligne, mais vous pouvez la continuer sur la ligne suivante si vous avez besoin de plus de place.

La formule ci-dessous est composée de cinq expressions. Elle renvoie la valeur numérique 25 car celle-ci correspond à la dernière expression de la formule.

Exemple

//Exemples d'expressions
//Première expression. Sa valeur correspond au Nombre
//valeur 30
10 + 20;
//Deuxième expression. Sa valeur correspond à la Chaîne
//"Bonjour le monde". Elle occupe deux lignes.
"Bonjour " +
"le monde";
//Troisième expression. Sa valeur est de type numérique
{Détails des commandes.Quantité} * 2 - 5;
//Quatrième expression. Sa valeur est de type chaîne
If {Détails des commandes.Quantité} > 1 Then
   "plusieurs unités"
Else
   "une unité";
//Cinquième et dernière expression. Sa valeur est la
//valeur de nombre 25
20 + 5

Un point-virgule peut être placé après la dernière expression de la formule, mais c'est facultatif. Par exemple, la formule précédente pourrait se terminer ainsi :

20 + 5;

Certaines formules présentées dans la section Expressions ne comportent pas de point-virgule. C'est parce qu'elles sont composées d'une seule expression et que le point-virgule est facultatif après la dernière expression. Dans la syntaxe Crystal, de nombreuses formules peuvent être écrites sous la forme d'une seule expression.

Remarquez qu'il n'y a pas de point-virgule après la chaîne "plusieurs unités". En fait, si vous placez un point-virgule à cet endroit, le programme signalera une erreur. C'est parce qu'un point-virgule sépare les expressions, et que le groupe

Else
   "une unité";

ne forme pas une expression séparée. Il ne peut pas exister sans le If. En fait, il fait partie intégrante de l'expression If car il décrit la valeur qui sera renvoyée par celle-ci dans certaines circonstances.

Remarque   L'exemple fourni manque d'intérêt pratique car les 4 premières expressions de la formule n'ont aucun effet sur la dernière.

Les expressions précédentes affectent les expressions suivantes

Le fait qu'une formule établie avec la syntaxe Crystal soit une suite d'expressions dont le résultat est la valeur de l'expression finale est le concept le plus important pour la compréhension de la syntaxe Crystal. Cette syntaxe reposant sur les expressions vous permet d'écrire des formules très courtes comportant de nombreuses fonctionnalités.

Exemple

//Première expression. Elle déclare la variable numérique x
//puis renvoie la valeur d'une variable
//numérique non initialisée, qui est 0.
NumberVar x;
//Deuxième expression. Elle affecte à x la valeur 30,
//et renvoie 30.
x := 30

La formule ci-dessus produirait une erreur si la première expression était omise. En effet, la deuxième expression fait référence à la variable numérique x, et le programme exige que la variable x soit déclarée pour pouvoir comprendre les expressions dans lesquelles elle intervient.

En général, vous utilisez des variables pour que les expressions précédentes d'une formule aient une incidence sur l'expression finale. Voir Variables.

Voir aussi

Expressions If