DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Syntaxe WLangage / Instructions structurées
  • Instruction conditionnelle monoligne
  • Condition
  • Condition composée
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
L'instruction conditionnelle SI permet de choisir d'exécuter une action en fonction d'une condition.
Exemple
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

Condition

Le paramètre <Condition> peut être de la forme :
  • <Valeur> = <Expression>
Test d'égalité
  • <Valeur> < <Expression>
Test de comparaison
  • <Valeur> <= <Expression>
Test de comparaison
  • <Valeur> > <Expression>
Test de comparaison
  • <Valeur> >= <Expression>
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_".

Condition composée

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.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Le pluriel
L'instruction en ligne est intéressante dans les construction de chaîne pour ajouter éventuellement du pluriel.

CONDITION > 1 ? "s" SINON ""

Exemple :

chaineconstruit(...
"%1 client%2 concerné%2 par la modification.%3Fichiers à jour.",...
Glo_I_NombreDeClientPurgés,...
Glo_I_NombreDeClientPurgés > 1 ? "s" SINON "",...
RC...
)
Pour 1 seul client purgé, le message devient :
___________________________________________
1 client concerné par la modification.
Fichiers à jour.
___________________________________________


Par contre, si on a purgé 20 clients, le message devient :
___________________________________________
20 clients concernés par la modification.
Fichiers à jour.
___________________________________________
bernard SOBRA
29 nov. 2022

Dernière modification : 21/12/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale