DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Tuto WINDEV / Tuto - Les bases du WLangage
  • Leçon 4 - Les instructions conditionnelles
  • Présentation
  • Exemple pratique
  • L'instruction SI
  • L'instruction SELON
  • En résumé

Tuto - Les bases du WLangage

Leçon 4 - Les instructions conditionnelles
Ce que vous allez apprendre :
  • L'instruction SI.
  • L'instruction SELON.
Durée de la leçon 20 mn
Présentation
Le WLangage est une suite d'instructions manipulant des données.
Les instructions conditionnelles permettent de comparer des variables et/ou des valeurs entre elles afin de faire des traitements différents. Il existe plusieurs instructions conditionnelles :
  • SI... ALORS... SINON... FIN
  • SELON ...

Exemple pratique

Pour réaliser les manipulations de cette leçon, nous allons reprendre le projet "WLangage" que nous avons utilisé dans la leçon précédente. Le principe est toujours le même : le code exemple va être saisi directement dans l'événement "Initialisation" du projet.
Ouvrez si nécessaire le projet "WLangage" que vous avez créé dans la première leçon de ce tuto (consultez le paragraphe Un projet pour découvrir le WLangage de la leçon 1).
Pour afficher les événements WLangage liés au projet :
  1. Dans la barre des éléments ouverts, faites un clic droit sur le bouton "P". Le menu contextuel s'affiche.
  2. Sélectionnez l'option "Code de l'élément".
  3. L'éditeur de code affiche les différents événements associés au projet.
L'instruction SI
Cette instruction permet d'exécuter un traitement ou un autre en fonction du résultat d'une expression. Si l'expression est vérifiée, un traitement est lancé ; si l'expression n'est pas vérifiée, un autre traitement peut être lancé.
L'instruction SI s'utilise comme ci-dessous :
SI <Expression à vérifier> ALORS
  Traitement à exécuter dans le cas où l'expression est vérifiée
SINON
  Traitement à exécuter dans le cas contraire
FIN

Nous allons tester cette instruction grâce à un exemple simple de code WLangage :
  1. Supprimez si nécessaire le code WLangage présent dans l'événement "Initialisation" du projet et copiez le code suivant.
    Ce code sélectionne un nombre au hasard et selon la valeur affiche un message.
    NombreAléatoire est un entier
    // Initialise le générateur de nombre aléatoire
    InitHasard()
    // Prend un nombre au hasard entre 100 et 4000
    NombreAléatoire = Hasard(100, 4000)
    Trace("Valeur du nombre aléatoire " + NombreAléatoire)
    // Vérifie si ce nombre est supérieur strictement à 2000
    SI NombreAléatoire > 2000 ALORS
    	Trace("Nombre supérieur à 2000")
    SINON
    	Trace("Nombre inférieur ou égal à 2000")
    FIN
    Dans ce code, l'expression à vérifier correspond à "NombreAléatoire>2000".
  2. Testons immédiatement ce code : cliquez sur Tester le projet parmi les boutons d'accès rapide.
  3. Affichez si nécessaire le volet "Trace du débogueur" pour voir le résultat : sous le volet "Accueil", dans le groupe "Environnement", déroulez "Volets" et sélectionnez "Volets" puis "Trace du débogueur".
  4. Le volet "Trace du débogueur" contiendra le message correspondant à votre cas (le nombre étant aléatoire, le message peut changer à chaque test !).
Remarque : L'instruction SI peut également être présentée sous forme d'une seule ligne grâce à l'instruction "? ... SINON" (l'instruction est ici sur 2 lignes car elle ne rentre pas dans la page !) :
<Expression à vérifier> ? <Traitement si expression vérifiée>
SINON <Traitement dans le cas contraire>
Cette instruction est une forme abrégée de l'instruction SI ... ALORS ... SINON : elle prend moins de place, mais elle est peut être moins simple à comprendre.
Pour notre exemple, le code devient :
// Instruction conditionnelle monoligne
Trace(NombreAléatoire > 2000 ? "Nombre supérieur à 2000" SINON "Nombre inférieur ou égal à 2000")


Dans une instruction SI, il est également possible de cumuler ou non les conditions grâce aux mots-clés ET et OU. Voici quelques exemples simples que vous pouvez tester directement.
  • Condition composée avec le mot-clé ET : Permet de savoir si deux conditions sont respectées. Les deux conditions sont évaluées.
    // Condition composée (mots-clés ET et OU)
    Condition1 est un booléen = Faux
    Condition2 est un booléen = Vrai
    // - mot-clé ET
    SI Condition1 ET Condition2 ALORS
    	Trace("Condition1 ET Condition2 : <vrai>")
    SINON
    	Trace("Condition1 ET Condition2 : <faux>")
    FIN

    En lançant à nouveau le test du projet, vous obtiendrez dans le volet "Trace du débogueur" :
    Condition1 ET Condition2 : <faux>
  • Condition composée avec le mot-clé OU : Permet de de tester si l'une ou l'autre des conditions sont respectées. Là aussi, les deux conditions sont évaluées.
    Condition1 est un booléen = Faux
    Condition2 est un booléen = Vrai
    
    SI Condition1 OU Condition2 ALORS
    	Trace("Condition1 OU Condition2 : <vrai>")
    SINON
    	Trace("Condition1 OU Condition2 : <faux>")
    FIN

    En lançant à nouveau le test du projet, vous obtiendrez dans le volet "Trace du débogueur" :
    Condition1 OU Condition2 : <vrai>

    Il est possible de ne pas évaluer la seconde condition si la première condition est fausse : il suffit d'utiliser le mot-clé _ET_.
    De la même manière, en utilisant le mot-clé _OU_, si la première partie de l'expression est vraie, la suite de l'expression n'est pas évaluée.
Pour plus de détails, consultez Instruction SI.
L'instruction SELON
Cette instruction permet d'évaluer une expression et d'exécuter un traitement pour chaque valeur possible de l'expression.
L'instruction SELON s'utilise comme ci-dessous :
SELON <Expression>
CAS Valeur 1 :
Traitement 1
CAS Valeur 2 :
Traitement 2
...
CAS Valeur N :
Traitement N

AUTRES CAS
Traitement
FIN

Nous allons écrire un petit code WLangage afin de tester cette instruction :
  1. Supprimez si nécessaire le code WLangage présent dans l'événement "Initialisation" du projet et copiez le code suivant. Ce code récupère la date du jour et selon sa valeur affiche un message différent. Pour le 1er et le 15 du mois, un message spécifique est affiché. Dans les autres cas, la date du jour est affichée.
    // Par défaut, la variable de type Date est initialisée avec la date du jour
    LaDateDuJour est une Date
    
    // Teste le jour de la date
    SELON LaDateDuJour.Jour
    	// 1er jour du mois
    	CAS 1 : Trace("Nous sommes le premier jour du mois.")
    	// 15ème jour du mois
    	CAS 15 : Trace("Nous sommes le 15 du mois.")
    	// Pour toutes les autres jours, affiche la date
    	AUTRES CAS : Trace("Nous sommes le : " + LaDateDuJour.VersChaîne())
    FIN

    Le WLangage est composé de fonctions et de propriétés. Les fonctions peuvent attendre des paramètres et renvoient des résultats. Les propriétés sont directement appliquées aux champs ou aux variables grâce à la syntaxe :
    <Nom du champ ou de la variable>.<Nom de la propriété>
    Dans notre exemple, la propriété Jour est utilisée sur la variable LaDateDuJour pour obtenir le jour de la date.
  2. Testons immédiatement ce code : cliquez sur Tester le projet parmi les boutons d'accès rapide.
  3. Le volet "Trace du débogueur" contiendra le message correspondant à votre cas (selon la date du jour, le message peut changer !). Par exemple, si le test est lancé le 28/11/2021 :
    Nous sommes le : 28/11/2021
Remarques :
  • Si la ligne de code "CAS 1:..." est exécutée, les autres lignes de code correspondant aux valeurs possibles ne sont pas exécutées.
  • Il est possible de regrouper dans le même cas plusieurs valeurs. Les différentes valeurs sont séparées par une virgule. Par exemple, pour tester le mois de la date, il est possible de compléter notre code WLangage par les lignes suivantes :
    SELON LaDateDuJour.Mois
    	// Les mois 1, 2 et 3
    	CAS 1, 2, 3 : Trace("Nous sommes au premier trimestre de l'année.")
    	// Les mois compris entre 4 et 6
    	CAS 4 <= * <= 6 : Trace("Nous sommes au deuxième trimestre de l'année.")
    	// Les mois après le sixième mois
    	CAS > 6 : Trace("Nous sommes au second semestre de l'année.")
    FIN

    En lançant à nouveau le test du projet, vous obtiendrez dans le volet "Trace du débogueur" pour le 28/11/2021 :
    Nous sommes le : 28/11/2021
    Nous sommes au second semestre de l'année.
  • Dans nos exemples, le traitement correspondant à une valeur de l'expression est composé d'une seule ligne de code, placé directement après l'instruction "CAS X :". Il est également possible d'exécuter plusieurs lignes de code. Dans ce cas, les différentes lignes de code sont placées sous l'instruction "CAS X :". La syntaxe à utiliser est la suivante :
    SELON <Expression>
    CAS Valeur 1 :
    Traitement 1 - Ligne de code 1
    Traitement 1 - Ligne de code 2
    CAS Valeur N :
    Traitement N - Ligne de code 1
    Traitement N - Ligne de code 2
    AUTRES CAS
    Traitement
    FIN
Pour plus de détails, consultez Instruction SELON.
En résumé
Dans cette leçon, vous avez découvert deux types d'instructions conditionnelles que propose le WLangage :
  • l'instruction SI,
  • l'instruction SELON.
Dans la prochaine leçon nous verrons comment gérer les boucles en WLangage.
Leçon précédenteSommaireLeçon suivante
Version minimum requise
  • Version 2024
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 16/11/2023

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