WENN
Syntax :
WENN <NICHT> Bedingung <UND/ODER> Bedingung DANN
Anweisungen
<SONST>
Anweisungen
ENDEWENN
Die wenn-Anweisung ist die einzige Anweisung, die sich über mehrere Zeilen erstrecken kann.
Der wenn-Teil kann in mehreren Zeilen stehen während sonst und endewenn –Zeilen jeweils einzelne Zeilen sein müssen.
Mit der WENN-Anweisung ist es möglich den weiteren Programmablauf von einer oder mehreren Bedingungen abhängig zu machen. Wenn-Anweisungen können auch verschachtelt werden, d.h. zwischen dem wenn und dem endewenn (bzw. sonst) können weitere wenn-Anweisungen stehen. Jede wenn-Anweisung muss mit einer endewenn-Anweisung beendet werden, ansonsten wird bei der Code-Generierung eine entsprechende Fehlermeldung ausgegeben.
Beispiele:
WENN LichtBad ausgeschaltet UND
SCHALTDAUER(LichtBad) groesser "00:05:00" DANN
Ventilator ausschalten
ENDEWENN
WENN Temperatur < 20.5 dann
Heizluefter einschalten
SONST
Heizluefter ausschalten
ENDEWENN
WENN Taste2 = "lang" dann
Stehlampe ausschalten
SONST
Stehlampe einschalten
ENDEWENN
Vor jeder Bedingung kann ein NICHT gesetzt werden, dann wird die Anweisung hinter dann ausgeführt wenn die Bedingung nicht zutrifft.
Bitte beachten Sie:
Das Wort NICHT muss vor der eigentlichen Bedingung stehen, es darf nicht in der Bedingung stehen.
Beispiel:
Falsch wäre die umgangsprachliche Formulierung:
wenn LichtBad NICHT ausgeschaltet oder Wochentag NICHT = "Montag" dann
es würde ein Syntaxfehler angezeigt.
Richtig ist:
wenn NICHT LichtBad ausgeschaltet oder NICHT Wochentag="Montag" dann
Bitte beachten Sie:
Häufige Syntaxfehler in wenn-Anweisungen sind, dass das Wort dann vergessen wird und dass die Anweisung nicht mit einem endewenn abgeschlossen wird.
Da wenn-Anweisungen sich immer über mehrere Zeilen erstrecken, kann die Zeile für einen Syntaxfehler oft nicht bestimmt werden. Wenn in einem Skript mit einer wenn-Anweisung ein Syntaxfehler ohne Fehlerbeschrebung auftritt, prüfen Sie alle Elemente der wenn-Anweisung um den Fehler zu finden.
Zur besseren Übersichtlichkeit sollten SONST und ENDEWENN immer in separaten Zeilen stehen
|