- Utilisation
- Règles
- Notes
- Variable numérique
- Variable chaîne
- Priorité
Les opérateurs logiques sont les suivants : | | | Multiplication logique. Les conditions composées de ET sont toujours évaluées dans leur totalité (même si la première condition est fausse). | | Multiplication logique. Les conditions composées de _ET_ sont évaluées de manière optimisée. Si la première partie de l'expression est fausse, la suite de l'expression n'est pas évaluée. | | Addition logique. Les conditions composées de OU sont toujours évaluées dans leur totalité (même si la première condition est vraie). | | Addition logique. Les conditions composées de _OU_ sont évaluées de manière optimisée. Si la première partie de l'expression est vraie, la suite de l'expression n'est pas évaluée. | | Négation logique. |
Les opérateurs logiques permettent d'effectuer des opérations logiques et de construire des conditions.
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
Vrai ET Vrai : retourne VraiVrai ET Faux : retourne Faux Vrai OU Vrai : retourne Vrai Vrai OU Faux : retourne Vrai PAS Vrai : retourne Faux Variable numérique Si une variable numérique est manipulée comme un opérateur logique (booléen), "0" est équivalent à Faux. Toute autre valeur est équivalente à Vrai. Par exemple, les deux lignes de code suivantes sont équivalentes :
SI NumTest <> 0 ALORS ...
La première syntaxe (SI NumTest ALORS) doit être préférée à la seconde syntaxe. Variable chaîne Si une variable chaîne est manipulée comme un opérateur logique, une erreur du WLangage sera générée. Par exemple, la syntaxe : "SI ChTest ALORS" retournera une erreur lors de l'exécution (mais pas lors de la compilation du projet). Priorité Les opérateurs ET et OU, _ET_ et _OU_ ont la même priorité. Pour donner des priorités à ces opérateurs, il suffit de mettre des parenthèses. Par exemple :
SI (A = 2 ET B > 3) OU (A = 2 ET B < 0) ALORS ...
Exceptions : - Dans les filtres SQL et les requêtes SQL, l'opérateur ET est prioritaire sur l'opérateur OU.
Par exemple :
Condition1 ET Condition2 OU Condition3
sera évalué ainsi :
(Condition1 ET Condition2) OU Condition3
- L'addition logique optimisée _OU_ ne doit pas être utilisée si une des expressions à comparer utilise le résultat d'une fonction pouvant renvoyer NULL.
Par exemple, la comparaison suivante :
SI AppelFonction() = "Valeur1" _OU_ AppelFonction() = "Valeur2" ALORS...
devra être remplacée par le code suivant si la fonction AppelFonction peut renvoyer la valeur NULL :
SI AppelFonction() = "Valeur1" OU AppelFonction() = "Valeur2" ALORS...
Documentation également disponible pour…
|
|
|
|