BlitzBasic: If
Syntax
[Bearbeiten]If(Bedingung)[Then] [(Anweisungen)] [ElseIf(Bedingung)[Then] [(Anweisungen)]] [Else [(Anweisungen)]] [EndIf]
oder
If(Bedingung)[Then] [(Anweisungen)] [ElseIf(Bedingung)[Then] [(Anweisungen)]] [Else [(Anweisungen)]] EndIf
Details
[Bearbeiten]Ifkann einzeilig oder mehrzeilig verwendet werden.- Wenn
Ifmehrzeilig ist, istEndIferforderlich. IstIfjedoch einzeilig, so istEndIfoptional, weil derIf-Block dann mit dem Zeilenende beendet ist. - In einem
If-Block darf nur einElse-Teil sein, jedoch sind mehrereElseIf-Teile möglich. - Hinter
IfundElseIfmuss eine Bedingung angegeben werden, jedochThenist optional. - Alle Anweisungteile hinter
If,ElseIfundElsesind optional. - In der mehrzeiligen Form können hinter
Elsedie Anweisungen in der gleichen Zeile stehen, hinterIfoderElseIfist das jedoch nicht zulässig - In jedem Anweisungteil können weitere
If-Zeilen, oderIf-Blöcke stehen, umIf-Anweisungen zu verschachteln. Dabei muss ein innererIf-Block jedoch innerhalb eines Anweisungsteils komplett sein. Elseist nur sinnvoll, wenn nachElseeine oder mehrere Anweisungen folgen.Elseohne Anweisungen kann also weggelassen werden, wird es nicht weggelassen, erfolgt aber keine Fehlermeldung.
Beschreibung
[Bearbeiten]Innerhalb einer If-Zeile oder eines If-Blocks wird nur ein Anweisungsteil ausgeführt und zwar der Teil, der der ersten erfüllten Bedingung folgt. Anweisungen hinter Else werden nur ausgeführt, wenn keine der vorherigen Bedingungen Wahr ist. Nach Ausführung eines Anweisungsteils wird mit der Anweisung hinter EndIf fortgefahren, oder bei der einzeiligen Form mit der nächsten Programmzeile.
Gruppen
[Bearbeiten]Bedingungen
In dieser Gruppe sind Anweisungen und Konstanten, die Bedingungen abfragen, oder in Bedingungen verwendet werden.
| Typ | Name | KurzInfo | Blitzversionen |
|---|---|---|---|
| Block-Anweisung | If | Beginnt einen If-Endif-Block | |
| Block-Anweisung | Select | Beginnt einen Select-End Select-Block | |
| Block-Anweisung | While | Beginnt eine While-Wend-Schleife | |
| Block-Anweisung | Until | Beendet eine Repeat-Until-Schleife | |
| Konstante | False | steht für eine falsche Bedinngung | |
| Konstante | True | steht für eine wahre Bedinngung |
Beispiele
[Bearbeiten]weggelassene Anweisungsteile
[Bearbeiten]Wenn die Anweisungsteile in If und allen ElseIf weggelassen werden, kann man Werte ausfiltern, da die Else-Anweisungen nur ausgeführt werden, wenn alle vorherigen Bedingungen False ergeben.
For A%=0 To 10 IF A=5 ElseIf A<2 ElseIf A>8 Else Write A Next
Erzeugt die Ausgabe: 234678
überprüfen ob ein Bild geladen wurde
[Bearbeiten]Wenn ein Bild nicht geladen werden konnte, erhält man eine Fehlermeldung sobald man versucht, das Bild darzustellen. darum wird nach der Funktion LoadImage gewöhnlich eine Abfrage gemacht, ob die Funktion 0 zurück gegeben hat.
Bild%=LoadImage (BildName$) If Bild=0 Then RuntimeError "Bild konnte nicht geladen werden."
Ein Test auf 0 läßt sich kürzer aber auch so machen:
Bild%=LoadImage (BildName$) If Bild Else RuntimeError "Bild konnte nicht geladen werden."