Referenz - Bedingungsstrukturen
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  Ausdrücke und Operatoren.
Ausdrücke und Operatoren.
- Schon eine einzelne Konstante kann eine gesamte Bedingung sein.
- Sinnvoll sind Bedingungen jedoch erst mit Variablen.
- Eine Bedingung darf nahezu unendliche Komplexität erreichen.
- Sie kann auch Funktionen und Operatoren enthalten.
- Bedingungsstrukturen werden hauptsächlich mit  IF...THEN und IF...THEN und SELECT CASE oder als Abbruchbedingung in SELECT CASE oder als Abbruchbedingung in Schleifen verwendet, können aber auch in Wertzuweisungen bei Variablen auftauchen; siehe dazu Schleifen verwendet, können aber auch in Wertzuweisungen bei Variablen auftauchen; siehe dazu BIT und natürlich auch BIT und natürlich auch IIF. IIF.
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  Operatoren wie
Operatoren wie  AND und
AND und  OR 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.
OR 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.
 ANDALSO und
ANDALSO und  ORELSE 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.
ORELSE 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 IFDurch die  Klammerung im ersten Beispiel kann die gewünschte Reihenfolge bei der Abarbeitung erzwungen werden. Hier hätte auch ORELSE statt OR verwendet werden können.
Klammerung 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: Ausdrücke und Operatoren,
Ausdrücke und Operatoren,  Bit-Operatoren,
Bit-Operatoren,  Programmablauf
Programmablauf
Weitere Informationen: Wikipedia-Artikel zur boolschen Algebra
Wikipedia-Artikel zur boolschen Algebra
| Zusätzliche Informationen und Funktionen | ||||
|---|---|---|---|---|
| 
 | ||||

 Wer ist online?
 Wer ist online? Buchempfehlung
 Buchempfehlung
 FreeBASIC-Chat
 FreeBASIC-Chat
 FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
			FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
 Versionen
 Versionen