CASE-Anweisung
Mit der CASE-Anweisung kann man mehrere bedingte Anweisungen mit derselben Bedingungsvariablen in ein Konstrukt zusammenfassen.
Syntax:
CASE <Var1> OF
<Wert 1>:
<Anweisung 1>
<Wert 2>:
<Anweisung 2>
<Wert3, Wert4, Wert5:
<Anweisung 3>
<Wert6 .. Wert10 :
<Anweisung 4>
...
<Wert n>:
<Anweisung n>
ELSE
<ELSE-Anweisung>
END_CASE;
Eine CASE-Anweisung wird nachfolgenden Schema abgearbeitet:
- Wenn die Variable in <Var1> den Wert <Wert i> hat, dann wird die Anweisung <Anweisung i> ausgeführt.
- Hat <Var1> keinen der angegebenen Werte, dann wird die <ELSE-Anweisung> ausgeführt.
- Wenn für mehrere Werte der Variablen, dieselbe Anweisung auszuführen ist, dann kann man diese Werte mit Kommata getrennt hintereinanderschreiben, und damit die gemeinsame Anweisung bedingen.
- Wenn für einen Wertebereich der Variablen, dieselbe Anweisung auszuführen ist, dann kann man den Anfangs- und Endwert getrennt durch zwei Punkte hintereinanderschreiben, und damit die gemeinsame Anweisung bedingen.
Beispiel:
CASE INT1 OF
1, 5:
BOOL1 := TRUE;
BOOL3 := FALSE;
2:
BOOL2 := FALSE;
BOOL3 := TRUE;
10..20:
BOOL1 := TRUE;
BOOL3:= TRUE;
ELSE
BOOL1 := NOT BOOL1;
BOOL2 := BOOL1 OR BOOL2;
END_CASE;