If/de

From Free Pascal wiki

Deutsch (de) English (en) suomi (fi) français (fr) русский (ru) 中文(中国大陆)‎ (zh_CN)

Zurück zu den reservierten Wörtern.
Zurück zu den Verzweigungen / bedingten Anweisungen.

IF

Der Ausdruck if gehört zu den Schlüsselwörtern.
Die If Anweisung ist eine Verzweigung im Programm. Hier wird die Entscheidung getroffen, welcher Zweig des Programms abgearbeitet wird.

Eine If Abfrage kann eine einzelne Anweisung, als auch einen Anweisungsblock, enthalten.
Eine einzelne Anweisung wird mit einem Semikolon abgeschlossen.
Benötigt man mehrere Anweisungen so müssen diese in einem Anweisungsblock zusammengefasst werden.
Ein Anweisungsblock wird mit dem Schlüsselwort 'begin' begonnen und mit dem Schlüsselwort 'end' beendet.
Auf ein Schlüsselwort 'end' folgt immer ein Semikolon. Die Ausnahme davon ist das Schlüsselwort 'else'.
Folgt direkt auf ein Schlüsselwort 'end' ein Schlüsselwort 'else' so folgt nach dem Schlüsselwörtern 'end' und 'else' kein Semikolon.

Ein Ausdruck wird abgefragt


Es gibt nur eine Anweisung (Statement):

  If intA = 4 Then ...;

Es gibt nur eine Anweisung (Statement) für den If Fall und es gibt nur eine Anweisung für den Sonstfall. ACHTUNG: Die Anweisung nach dem If Fall wird ausnahmsweise nicht mit Semikolon abgeschlossen:

  If intA = 4 Then ...
  Else ...;


Es gibt mehrere Anweisungen (Statements):

  If intA = 4 Then
  Begin
    ...;
    ...;
  End;


Es gibt mehrere Anweisungen (Statements) für den If Fall und nur eine Anweisung für den Sonstfall:

  If intA = 4 Then
  Begin
    ...;
    ...;
  End
  Else
    ...;


Es gibt mehrere Anweisungen (Statements) für den If Fall und mehrere Anweisungen für den Sonstfall:

  If intA = 4 Then
  Begin
    ...;
    ...;
  End
  Else
  Begin
    ...;
    ...;
  End;


Verknüpfte Abfrage mit 'Or' und 'And'


Es gibt im If Fall mehrere mögliche Fälle für die es nur ein Ergebnis gibt. Der Zweig wird durchlaufen, wenn einer der beiden Fälle wahr ist:

  If (intA = 4) Or (intA = 7) Then
    ...;


Es gibt im If Fall nur dann ein Ergebnis wenn die beiden Fälle wahr sind. Der Zweig wird durchlaufen, wenn beide beiden Fälle wahr sind:

  If (intA = 4) And (intB = 22) Then
    ...;


Verknüpfung mehrerer Abfragen

In beiden gezeigten Fällen, kann für jeden einzelnen Fall ein Anweisungsblock eingefügt werden.

Es wird der Zweig wird durchlaufen, bei dem der Fall wahr ist.
Da zwei Datenfelder (intA und intB) abgefragt werden, kann dieses Beispiel nicht durch eine Case Anweisung ersetzt werden.

  If intA = 4 Then
    ...;
  Else If intA = 7 Then
    ...;
  Else If intA = 8 Then
    ...;
  Else If intB = 1 Then
    ...;
  Else 
    ...;


Es wird der Zweig wird durchlaufen, bei dem der Fall wahr ist.
Da ein Datenfeld (intA) abgefragt wird, kann dieses Beispiel durch eine Case Anweisung ersetzt werden.

  If intA = 4 Then
    ...;
  Else If intA = 7 Then
    ...;
  Else If intA = 8 Then
    ...;
  Else If intA = 1 Then
    ...;
  Else 
    ...;



--Olaf 17:51, 19 October 2012 (UTC)