BlitzBasic: If

Aus Wikibooks

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]

  • If kann einzeilig oder mehrzeilig verwendet werden.
  • Wenn If mehrzeilig ist, ist EndIf erforderlich. Ist If jedoch einzeilig, so ist EndIf optional, weil der If-Block dann mit dem Zeilenende beendet ist.
  • In einem If-Block darf nur ein Else-Teil sein, jedoch sind mehrere ElseIf-Teile möglich.
  • Hinter If und ElseIf muss eine Bedingung angegeben werden, jedoch Then ist optional.
  • Alle Anweisungteile hinter If, ElseIf und Else sind optional.
  • In der mehrzeiligen Form können hinter Else die Anweisungen in der gleichen Zeile stehen, hinter If oder ElseIf ist das jedoch nicht zulässig
  • In jedem Anweisungteil können weitere If-Zeilen, oder If-Blöcke stehen, um If-Anweisungen zu verschachteln. Dabei muss ein innerer If-Block jedoch innerhalb eines Anweisungsteils komplett sein.
  • Else ist nur sinnvoll, wenn nach Else eine oder mehrere Anweisungen folgen. Else ohne 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."