Bedingungen
Jeder Befehl kann durch Anhängen einer if-Klausel als letzten Parameter bedingt gemacht werden. Ist die Bedingung falsch, wird der Befehl übersprungen.
Eine Bedingung besteht aus einem oder mehreren Vergleichen der Form <wert> <operator> <wert>. Der linke Wert ist üblicherweise eine Variablenreferenz (wird vor dem Vergleich aufgelöst), der rechte ein Literal.
Operatoren:
= - gleich (Zeichenfolgenvergleich)
^ - ungleich (Zeichenfolge); != und <> sind Synonyme
> - größer als (numerisch)
< - kleiner als (numerisch)
>= - größer oder gleich (numerisch)
<= - kleiner oder gleich (numerisch)
Numerische Operatoren vergleichen die Werte als Zahlen gemäß der 0x-/Dezimalregel (ein Präfix 0x oder $ bedeutet hexadezimal, andernfalls dezimal). Mehrere Vergleiche können mit AND und OR verknüpft werden und werden von links nach rechts ausgewertet. Werte innerhalb einer if-Klausel dürfen keine Leerzeichen enthalten.
Standard-Syntax der if-Anweisung:
messagebox "Möchten Sie das Programm patchen?", 4, "Patch", retval
; Wenn "Ja" geklickt wird (retval = 6)
messagebox "Sie haben Ja gewählt", 16, "Ja", retval1, if retval = 6
; Wenn "Nein" geklickt wird (retval = 7)
messagebox "Sie haben Nein gewählt", 16, "Nein", retval2, if retval = 7
Vergleiche kombinieren:
; Nur fortfahren, wenn die Größe positiv und der Status "ok" ist
goto ready, if @_size > 0 AND @_state = ok
; Verzweigen, wenn der Code 1 oder 2 ist
goto retry, if @_code = 1 OR @_code = 2