If : Else : EndIf


Syntax
If <Ausdruck>
  ...
[ElseIf <Ausdruck>]
  ...
[Else]
  ...
EndIf
Beschreibung
Die If Struktur wird zu Testzwecken benutzt und/oder um die Richtung der weiteren Programmausführung zu ändern - abhängig davon, ob der Test 'wahr' oder 'falsch' ergibt. Das optionale ElseIf kann für eine beliebige Anzahl zusätzlicher Tests verwendet werden, wenn der vorherige Test nicht 'wahr' ergab. Das optionale Else wird verwendet, um einen Teil des Programm-Codes auszuführen, wenn alle vorherigen Tests 'falsch' ergaben. Eine beliebige Zahl von 'If' Strukturen kann ineinander verschachtelt werden.

"Kurzschluss"-Auswertungen (englisch "short-circuit evaluations") für Ausdrücke werden unterstützt - was bedeutet, dass 'wenn' ein Test 'wahr' ist, alle danach folgenden Tests ignoriert und nicht einmal ablaufen werden.

Beispiel: Basis-Test

  a = 5
  If a = 10 
    Debug "a = 10"
  Else
    Debug "a <> 10"
  EndIf    

Beispiel: Mehrfach-Test

  b = 15
  If a = 10 And b >= 10 Or c = 20     
    If b = 15
      Debug "b = 15"
    Else       
      Debug "Andere Möglichkeit"
    EndIf   
  Else     
    Debug "Test-Fehler"
  EndIf  

Beispiel: Kurzschluss-Test

  Procedure DisplayHello()
    Debug "Hallo"
    ProcedureReturn 1
  EndProcedure

  a = 10
  If a = 10 Or DisplayHello() = 1 ; a ist gleich mit 10, somit wird der zweite Test vollständig ignoriert
    Debug "Test-Erfolg"
  Else     
    Debug "Test-Fehler"
  EndIf