While...End while

4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 6.0


Die Syntax für die Abfragefolge While...End while lautet:

   While (Boolean_Expression)
      statement(s)
   End while

Die Bedingung wird am Schleifenanfang abgefragt: Ist sie FALSE, wird die anschließende Anweisungsfolge nicht ausgeführt.

Ist die Anfangsbedingung TRUE, führt das Programm die Anweisungsschleife While...End while aus, bis die Bedingung FALSE ist.

Sie müssen die Eintrittsbedingung unmittelbar vor der Schleife initialisieren, d.h. einen geeigneten Wert festsetzen, so dass der Boolean Ausdruck TRUE ist und die Abfragefolge While...End while abläuft.

Sie müssen dem Boolean Ausdruck in der Schleife einen sinnvollen Wert zuweisen, da sonst die Schleife endlos läuft. Nachfolgende Schleife läuft endlos, da NeverStop immer TRUE ist:

   NeverStop:=True
   While (NeverStop)
   End while

Im Falle einer unkontrolliert ablaufenden Methode können Sie die Schleife über den Schrittmodus stoppen und das Problem beheben. Weitere Informationen dazu finden Sie im Abschnitt Debugging.

Beispiel

   CONFIRM ("Neuen Datensatz hinzufügen?")   ` Will der Benutzer einen Datensatz hinzufügen?
   While (OK = 1)   ` Durchlaufe, solange der Benutzer 
      ADD RECORD([aTable])   ` Neuen Datensatz hinzufügen will
   End while   ` Die Schleife endet immer mit End while

In diesem Beispiel wird die Systemvariable OK über den Befehl CONFIRM vor Beginn der Schleife gesetzt. Klickt der Benutzer im Dialogfenster Bestätigen auf die Schaltfläche OK, wird die Systemvariable OK auf 1 gesetzt, die Schleife startet. Ansonsten hat die Systemvariable OK den Wert 0, die Schleife wird übersprungen. Sobald die Schleife läuft, sorgt der Befehl ADD RECORD dafür, dass sie weiterläuft, da er die Systemvariable OK auf 1 setzt, wenn der Benutzer den Datensatz sichert. Annulliert der Benutzer den letzten Datensatz, d.h. er sichert ihn nicht, wird die Systemvariable OK auf 0 gesetzt, die Schleife stoppt.

Referenz

Ablaufsteuerung, Case of...Else...End case, For...End for, If...Else...End if, Repeat...Until.


4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next