Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [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 - IF ... THEN

Referenz-Navigation

 

Syntax A:

IF Bedingung THEN [:] Anweisungen [ELSE Anweisungen] [:] [END IF]

Syntax B:

IF Bedingung_1 THEN
   ' Anweisungen
[ELSEIF Bedingung_2 THEN
   ' Anweisungen]
[ ... ]
[ELSE
   ' Anweisungen]
END IF

Typ: Anweisung
Kategorie: Programmablauf

IF...THEN führt einen Codeteil nur dann aus, wenn eine Bedingung erfüllt ist.

Mit IF...THEN werden einfache Entscheidungen getroffen. Um eine Variable auf viele verschiedene Möglichkeiten hin zu prüfen, wird bevorzugt BefehlsreferenzeintragSELECT CASE verwendet.

Die Bedingungen werden in der Reihenfolge abgearbeitet, in der sie im Code stehen. Der Code hinter ELSE wird abgearbeitet, wenn keine der vorhergehenden Bedingungen wahr ist.

Folgende BefehlsreferenzeintragBedingungsstrukturen sind möglich:

Der IF...THEN-Block muss mit BefehlsreferenzeintragEND IF abgeschlossen werden.

Wenn IF nur als einzeiliger Befehl eingesetzt wird, ist END IF optional; das soll das Portieren von C-Code erleichtern. Alternativ zu END IF kann man auch ENDIF schreiben, also ohne ein Leerzeichen.
Nur in der einzeiligen Version dürfen hinter THEN und ELSE Anweisungen folgen.
Als Block-Anweisung (Syntax B) initialisiert IF...THEN seit FreeBASIC v0.16 einen BefehlsreferenzeintragSCOPE-Block, der mit der Zeile END IF endet. Variablen, die innerhalb eines solchen Blocks deklariert werden, existieren außerhalb nicht mehr.

Beispiel: Einfaches Ratespiel

RANDOMIZE
DIM AS INTEGE x = INT(RND*10)

PRINT "Rate die Zahl von 0 und 9)"

DO
   INPUT "Rate..."; y
   IF x = y THEN
      PRINT "richtig!"
      EXIT DO
   ELSEIF x > y THEN
      PRINT "zu klein!"
   ELSE
      PRINT "zu groß!"
   END IF
LOOP
SLEEP

Unterschiede zu QB:

Unterschiede zu früheren Versionen von FreeBASIC:

Unterschiede unter den FB-Dialektformen:

Siehe auch:
BefehlsreferenzeintragIF (Meta), BefehlsreferenzeintragSELECT CASE, BefehlsreferenzeintragIIF, BefehlsreferenzeintragDO ... LOOP, BefehlsreferenzeintragAusdrücke und Operatoren, BefehlsreferenzeintragBedingungsstrukturen


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