Skip to main content

Instruction ST : CASE

L'instruction CASE est une structure de contrôle conditionnelle qui provoque l'exécution d'une instruction ou d'une section d'instruction uniquement sous une condition spécifique. La section exécutée est déterminée en comparant la condition et l'étiquette.

Syntaxe:

CASE <condition> OF
    <label-1> : 
        <instruction-1>
    <label-2> : 
        <instruction-2>
    <label-3, label-4, label-5> : 
        <instruction-3>
    <label-6 .. labe-10> : 
        <instruction-4>
    <label-n> : 
        <instruction-n>
    ELSE <ELSE-instruction>
END_CASE

condition

Variable entière pour la condition

Exemple: iCondition

La valeur des variables est comparée aux étiquettes déclarées dans la construction.

N'importe quel nombre d'étiquettes (minimum : 2) peut être utilisé dans une instruction CASE. Sinon, la construction peut être affichée plus clairement avec une construction IF-THEN-ELSE.

Toutes les étiquettes doivent avoir des valeurs différentes.

étiquette-n

Expression constante, littérale ou constante avec le même type de données que la condition

Agit comme une étiquette (cible de saut) dans la construction CASE.

Exemple : 1, 5, c_ONE, c_TWO

Si cette valeur est égale à condition, alors les instructions suivantes sont parcourues.

Si cette valeur n'est pas égale à condition, l'instruction correspondante est ignorée et le système passe à l'étiquette suivante.

<étiquette-n >, < étiquette-n1>

Liste séparée par des virgules avec plusieurs étiquettes qui agissent comme des cibles de saut

Exemple : 1, 5

Si l'une des étiquettes correspond à la condition condition, puis la section suivante est parcourue.

<étiquette-n1>..<étiquette-n2>

Plage avec étiquette de limite inférieure et supérieure

10..20

Si l'état condition prend une valeur comprise dans la plage allant de étiquette-n1 à étiquette-n2, puis la section suivante est parcourue.

ELSE

Facultatif, maximum une fois

Cible de saut par défaut vers laquelle sauter si toutes les étiquettes précédentes ne pas correspondre à la condition.

instruction-n

ELSE-instruction

Instruction ou segment d'instruction composé de plusieurs instructions

Une instruction se termine toujours par un point-virgule (;).

Exemple 72. Exemple
CASE iCondition OF
    1, 5, c_ONE, C_TWO: 
        bVar1 := TRUE;
        bVar3 := FALSE;
    2: 
        bVar2 := FALSE;
        bVar3 := TRUE;
    10..20: 
        bVar1 := TRUE;
        bVar3 := TRUE;
    ELSE
        bVar1 := NOT bVar1;
        bVar2 := bVar1 OR bVar2;
END_CASE