BlitzBasic: If
Syntax
BearbeitenIf(Bedingung)
[Then] [(Anweisungen)
] [ElseIf(Bedingung)
[Then] [(Anweisungen)
]] [Else [(Anweisungen)
]] [EndIf]
oder
If(Bedingung)
[Then] [(Anweisungen)
] [ElseIf(Bedingung)
[Then] [(Anweisungen)
]] [Else [(Anweisungen)
]] EndIf
Details
BearbeitenIf
kann einzeilig oder mehrzeilig verwendet werden.- Wenn
If
mehrzeilig ist, istEndIf
erforderlich. IstIf
jedoch einzeilig, so istEndIf
optional, 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
If
undElseIf
muss eine Bedingung angegeben werden, jedochThen
ist optional. - Alle Anweisungteile hinter
If
,ElseIf
undElse
sind optional. - In der mehrzeiligen Form können hinter
Else
die Anweisungen in der gleichen Zeile stehen, hinterIf
oderElseIf
ist 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. Else
ist nur sinnvoll, wenn nachElse
eine oder mehrere Anweisungen folgen.Else
ohne Anweisungen kann also weggelassen werden, wird es nicht weggelassen, erfolgt aber keine Fehlermeldung.
Beschreibung
BearbeitenInnerhalb 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
BearbeitenBedingungen
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
Bearbeitenweggelassene Anweisungsteile
BearbeitenWenn 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
BearbeitenWenn 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."