4D v14.3

While...End while

Home

 
4D v14.3
While...End while

While...End while  


 

 

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 Kapitel Debugging.

 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.

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Grundbegriffe

 
SIEHE AUCH 

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

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v12.4)
4D Programmiersprache ( 4D v11 SQL Release 6)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v13.5)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)