|
|
|
|
|
- Instruction conditionnelle monoligne
- Condition
- Condition composée
Instruction SI En anglais : If
L'instruction conditionnelle SI permet de choisir d'exécuter une action en fonction d'une condition. SI Client.AgeCalculé > 60 ALORS PersonneAgée += 1 SINON SI Client.AgeCalculé > 18 ALORS PersonneAdulte += 1 SINON SI Client.AgeCalculé > 4 ALORS PersonneEnfant += 1 SINON PersonneBébé += 1 FIN // Utilisation de 'DANS' SI Client.Ville DANS ("PARIS", "MARSEILLE", "LYON") ALORS Info("Vous habitez une des 3 plus grandes villes de France") FIN  // Utilisation de 'PAS x DANS' SI PAS Client.Ville DANS ("PARIS", "MARSEILLE", "LYON") ALORS Info("Vous n'habitez pas une des 3 plus grandes villes de France") FIN  // Utilisation de 'PAS DANS' (à partir de la version 23) SI Client.Ville PAS DANS ("PARIS", "MARSEILLE", "LYON") ALORS Info("Vous n'habitez pas une des 3 plus grandes villes de France") FIN Syntaxe
Syntaxe 1
SI <Condition> ALORS <Action si condition vraie> [SINON <Action si condition fausse>] FIN
Syntaxe 2
SI <Condition> ALORS <Action si condition vraie> [SINON <Action si condition fausse>]
Syntaxe 3 Masquer les détails
SI <Condition> ALORS <Action si condition vraie> [SINON <Action si condition fausse>]
<SI> : Signale le début du bloc d'instructions. <Condition> : Condition à tester. <ALORS> : Lance les actions si la condition est vraie. <Action si condition vraie> : Action à lancer si la condition est vraie. <SINON> : Lance les actions si la condition est fausse (optionnel). <Action si condition fausse> : Action à lancer si la condition est fausse (optionnelle). <FIN> : Signale la fin du bloc d'instructions.
Syntaxe 4 Masquer les détails
SI <Condition 1> ALORS <Action si condition 1 vraie> [SINON SI <Condition 2> ALORS <Action si condition 2 vraie> [SINON SI <Condition 3> ALORS <Action si condition 3 vraie> [...]]] FIN
<SI> : Signale le début du bloc d'instructions. <Condition 1> : 1ère condition à tester. <ALORS> : Lance les actions si la condition précédente est vraie. <Action si condition 1 vraie> : Action à lancer si la 1ère condition est vraie. <SINON SI> : Teste la condition suivante (optionnel) si la condition précédente est fausse. <Condition 2> : 2ème condition à tester (optionnel). <Action si condition 2 vraie> : Action à lancer si la 2ème condition est vraie et si la 1ère condition est fausse (optionnel). <Condition 3> : 3ème condition à tester. <Action si condition 3 vraie> : Action à lancer si la 3ème condition est vraie et si les 1ère et 2ème conditions sont fausses. <FIN> : Signale la fin du bloc d'instructions. Remarques Instruction conditionnelle monoligne Il est également possible d'utiliser la syntaxe suivante : <Résultat> = <Condition> ? <Expression 1> SINON <Expression 2> Détail de la syntaxe : | | <Résultat> | Variable à affecter avec le résultat de la condition. | <Condition> | Condition à tester. | <Expression 1> | Valeur affectée au <Résultat> si la condition est Vraie. | <Expression 2> | Valeur affectée au <Résultat> si la condition est Fausse. |
Equivalence : SI <Condition> ALORS <Résultat> = <Expression 1> SINON <Résultat> = <Expression 2> FIN Remarque : L'expression conditionnelle monoligne peut être utilisée directement dans une expression. Exemple : Si l'âge est supérieur à soixante, on compte une personne en plus, dans le cas contraire, le nombre de personnes est inchangé. PersonneAgée =  Client.AgeCalculé > 60 ? PersonneAgée + 1 SINON PersonneAgée
Le paramètre <Condition> peut être de la forme : | | | Test d'égalité | | Test de comparaison | | Test de comparaison | | Test de comparaison | | Test de comparaison | - <Valeur> = <Expression minimale> A <Expression maximale>
| La <Valeur> doit être comprise entre l'expression minimale et maximale | - <Expression minimale> <= <Valeur> <= <Expression maximale>
| | - <Valeur> DANS (<Expression1>, <Expression2>, ..., <Expression N>)
| <Valeur> est comparée au résultat d'une liste d'expressions. Toutes les expressions de la liste sont évaluées. L'opérateur renvoie Vrai si <Valeur> est égale à au moins une des expressions, Faux si <Valeur> n'est égale à aucune des expressions. | - <Valeur> PAS DANS (<Expression1>, <Expression2>, ..., <Expression N>)
| <Valeur> est comparée au résultat d'une liste d'expressions. Toutes les expressions de la liste sont évaluées. L'opérateur renvoie Faux si <Valeur> est égale à au moins une des expressions, Vrai si <Valeur> n'est égale à aucune des expressions. | - <Valeur> _DANS_ (<Expression1>, <Expression2>, ..., <Expression N>)
| <Valeur> est comparée au résultat d'une liste d'expressions. Les expressions sont évaluées de gauche à droite. Dès qu'une expression est égale à <Valeur>, les expressions restantes ne sont pas évaluées et l'opérateur renvoie Vrai. Si <Valeur> n'est égale à aucune expression, l'opérateur renvoie Faux. | - <Valeur> PAS _DANS_ (<Expression1>, <Expression2>, ..., <Expression N>)
| <Valeur> est comparée au résultat d'une liste d'expressions. Les expressions sont évaluées de gauche à droite. Dès qu'une expression est égale à <Valeur>, les expressions restantes ne sont pas évaluées et l'opérateur renvoie Faux. Si <Valeur> n'est égale à aucune expression, l'opérateur renvoie Vrai. Attention : il faut un espace entre "PAS" et "_DANS_". |
Les mots-clés ET et OU permettent d'effectuer des opérations logiques et de construire des conditions composées. Par exemple : SI Client.Ville = "Montpellier" ET Client.Civilité = "Monsieur" ALORS HommeMontpellier ++   // Nombre d'hommes habitant à Montpellier FIN  SI Client.Ville = "Montpellier" OU Client.Ville = "Lyon" ALORS MontpellierLyon ++  // Nombre de clients habitant soit à Montpellier, soit à Lyon FIN
Les conditions composées de ET et OU sont évaluées dans leur totalité. Par exemple : A > 10 ET B < 20 Si la première condition (A > 10) est fausse, la deuxième condition (B < 20) sera tout de même vérifiée. Optimiser l'évaluation des conditions composées : Utilisez les mots-clés _ET_ et _OU_. Si la première condition est fausse (A>10 dans notre exemple), la seconde condition (B<20 dans notre exemple) ne sera pas testée. Pour plus de détails, consultez Opérateurs logiques.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|