Référence Mot-clé


Switch...Case...EndSwitch

Exécute alternativement des instructions suivant la valeur d'une expression.

Switch <expression>
    Case <valeur> [To <valeur>] [,<valeur> [To <valeur>] ...]
        instruction1
        ...
    [Case <valeur> [To <valeur>] [,<valeur> [To <valeur>] ...]
        instruction2
        ...]
    [Case Else
        instructionN
        ...]
EndSwitch

Paramètres

<expression> Une expression qui retourne une valeur. La valeur de l'expression est alors comparée avec les valeurs de chaque cas jusqu'à ce qu'une concordance soit trouvée. Cette expression est toujours évaluée une fois par structure.
<valeur> To <valeur> Le Case est exécuté si l'expression est entre les deux valeurs.
<valeur> Le Case est exécuté si l'expression correspond à la valeur.

Remarques

Si aucun Case ne correspond à la valeur du Switch, alors la section Case Else, si elle est présente, est exécutée. Si aucun Case ne correspond et que Case Else n'est pas présent, alors aucun code à l'intérieur de la structure Switch, autre que l'expression initiale, ne sera exécutée.

Les déclarations Switch peuvent être imbriquées.

En relation

If...Then, If...Else...EndIf, Select...EndSelect, ContinueCase

Exemple

#include <MsgBoxConstants.au3>

Local $sMsg = ""

Switch @HOUR
    Case 6 To 11
        $sMsg = "Bonjour"
    Case 12 To 17
        $sMsg = "Bon après-midi"
    Case 18 To 21
        $sMsg = "Bonsoir"
    Case Else
        $sMsg = "Qu'est-ce que vous faites encore là?"
EndSwitch

MsgBox($MB_SYSTEMMODAL, "", $sMsg)