Buchempfehlung
Visual Basic 6 Kochbuch
Visual Basic 6 Kochbuch
Viele praktische Tipps zum Programmieren mit Visual Basic 6, die sich oft auch auf FB übertragen lassen. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - Bedingungsstrukturen

Referenz-Navigation

 

Bedingungen sind Ausdrücke, die entweder wahr (ungleich 0) oder falsch (gleich 0) sein können. Häufig wird zur Kennzeichnung wahrer Ausdrücke der Wert -1 oder 1 verwendet, allerdings interpretiert FreeBASIC alle Werte ungleich 0 als wahr. Für Bedingungen gelten dieselben Regeln wie für BefehlsreferenzeintragAusdrücke und Operatoren.

Beispiele für einfache Bedingungsstrukturen:

' Abfrage eines Variablenwerts
IF alter < 18 THEN
  PRINT "Du bist noch nicht volljährig!"
END IF

' Schleife, die von einer Bedingung abhängt
DO UNTIL EOF(dateinummer)  ' bis Dateiende erreicht
  LINE INPUT #dateinummer, variable
LOOP

' Zuweisung abhängig von einer Bedingung
minimum = IIF(wert1 < wert2, wert1, wert2)

Mehrere Bedingungen können über BefehlsreferenzeintragOperatoren wie BefehlsreferenzeintragAND und BefehlsreferenzeintragOR verknüpft werden. Dabei ist zu beachten, dass hierbei keine Wahrheitswerte verknüpft werden, sondern eine bitweise Verknüpfung der Ausdrücke stattfindet. Ist das Ergebnis gleich 0, so wird es als falsch interpretiert, sonst als wahr. Das bedeutet z. B., dass die Werte 2 und 4 für sich genommen wahr sind, 2 AND 4 dagegen falsch.

BefehlsreferenzeintragANDALSO und BefehlsreferenzeintragORELSE verknüpfen nicht bitweise, sondern interpretieren die Angaben als Wahrheitswerte; 2 ANDALSO 4 ergibt damit -1 (wahr). Außerdem brechen beide Operatoren sofort ab, wenn das Ergebnis feststeht. Ist der Ausdruck links vom ANDALSO 0 (falsch), wird der rechte Ausdruck nicht mehr ausgewertet, da das Ergebnis nicht mehr wahr werden kann. Analog dazu gibt ORELSE -1 (wahr) zurück, wenn der linke Ausdruck ungleich 0 ist; der rechte Ausdruck wird nicht mehr ausgewertet. Dieses Verhalten kann hilfreich sein, wenn der rechte Ausdruck nur unter bestimmten Bedingungen ausgewertet werden darf.

Beispiele für kombinierte Bedingungen:

' Kombination mit AND und OR
IF (alter > 13 AND begleitung = "Eltern") OR alter >= 18 THEN
  Zutritt
END IF

' Vorab-Prüfung mit ANDALSO
IF meinPointer > 0 ANDALSO *meinPointer = 1337 THEN
  ' wäre meinPointer = 0, würde die Dereferenzieung einen Fehler erzeugen
  tueIrgendwas
END IF

Durch die BefehlsreferenzeintragKlammerung im ersten Beispiel kann die gewünschte Reihenfolge bei der Abarbeitung erzwungen werden. Hier hätte auch ORELSE statt OR verwendet werden können.

Siehe auch:
BefehlsreferenzeintragAusdrücke und Operatoren, BefehlsreferenzeintragBit-Operatoren, BefehlsreferenzeintragProgrammablauf

Weitere Informationen:
Externer Link!Wikipedia-Artikel zur boolschen Algebra


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 02.08.2007 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 30.12.2012 von Redakteurnemored gespeichert.
  Versionen Versionen