Es gibt zwei Versionen der If
-Anweisung: Eine lange und eine kurze.
1) Lange Version der If-Anweisung:
If <expr> <block> [ElseIf <expr> <block> ...] [Else <block>] EndIf |
Die If
-Anweisung prüft, ob der angegebene Ausdruck wahr (ungleich Null) ist.
Ist dies der Fall, werden die Befehle nach der Anweisung ausgeführt. Wenn der
angegebene Ausdruck falsch (Null) ist, springt If
auf die nächste ElseIf
-Anweisung
(sofern vorhanden) und prüft, ob der gegebene Ausdruck wahr ist. Dies wird
wiederholt, bis die Else
-Anweisung erreicht ist. Wenn keine der Ausdrücke
vorher wahr war, wird der Code Else
ausgeführt.
Die Anweisungen If
und EndIf
sind obligatorisch. ElseIf
und Else
-Anweisungen sind
optional. Sie können beliebig viele ElseIf
's verwenden, aber
es darf nur eine Else
-Anweisung vorhanden sein. Darüber hinaus muss die Else
-Anweisung
die letzte Bedingung vor dem EndIf
sein. Hier ist ein Beispiel:
If a > 5 ; überprüft, ob a größer ist als 5 DebugPrint("a > 5") ElseIf a < 5 ; überprüft, ob a kleiner ist als 5 DebugPrint("a < 5") Else ; sonst ist a gleich 5 DebugPrint("a = 5") EndIf |
Sie können auch komplexere Ausdrücke als Bedingung verwenden:
If country$ = "USA" And age < 21 DebugPrint("No alcohol permitted under 21 in the USA!") EndIf |
2) Kurze Version der If-Anweisung:
If <expr> Then <true-stat> [ElseIf <expr> <true-stat> ...] [Else <stat>] |
Die kurze Version der If
-Anweisung funktioniert
auf die gleiche Weise wie die lange, hat aber den Vorteil, dass
Sie EndIf
nicht gebrauchen müssen. Die kurze
If
-Anweisung hat die Einschränkung, dass alle
seine Teile in einer einzigen Zeile plaziert werden müssen.
Eine weitere Einschränkung ist, dass nur eine Anweisung plaziert
werden darf, der dann die Anweisungen Then
/ ElseIf
/ Else
folgen müssen. Wenn Sie mehrere Anweisungen ausführen
möchten, müssen Sie die lange Version benutzen.
Das obige Beispiel haben wir mit der kurzen If
-Anweisung folgender Weise geschrieben:
If a>5 Then Print("a>5") ElseIf a<5 Print("a<5") Else Print("a=5") |
Sie können sehen, dass das Ergebnis nicht besonders gut lesbar ist. Für das
obige Beispiels ist es nicht empfehlenswert, die kurze Version zu verwenden.
Die kurze If
-Anweisung passt besser, wenn Sie nur eine Bedingung haben, z.B.
If a = True Then b = 5 |
Das ist besser lesbar als
If a = True b = 5 EndIf |
Eine andere Version von If
ist die so genannte Sofort-If-Anweisung
IIf(). Diese Version wird als Befehl in Hollywood durchgeführt
und ist Teil der Systembibliothek. Siehe IIf für Details.