version 6.0
The formal syntax of the While...End while control flow structure is:
While (Boolean_Expression) statement(s) End while
A While...End while loop executes the statements inside the loop as long as the Boolean expression is TRUE. It tests the Boolean expression at the beginning of the loop and does not enter the loop at all if the expression is FALSE.
It is common to initialize the value tested in the Boolean expression immediately before entering the While...End while loop. Initializing the value means setting it to something appropriate, usually so that the Boolean expression will be TRUE and While...End while executes the loop.
The Boolean expression must be set by something inside the loop or else the loop will continue forever. The following loop continues forever because NeverStop is always TRUE:
NeverStop:=True While (NeverStop) End while
If you find yourself in such a situation, where a method is executing uncontrolled, you can use the trace facilities to stop the loop and track down the problem. For more information about tracing a method, see the section Debugging.
Example
CONFIRM ("Add a new record?") ` The user wants to add a record? While (OK = 1) ` Loop as long as the user wants to ADD RECORD([aTable]) ` Add a new record End while ` The loop always ends with End while
In this example, the OK system variable is set by the CONFIRM command before the loop starts. If the user clicks the OK button in the confirmation dialog box, the OK system variable is set to 1 and the loop starts. Otherwise, the OK system variable is set to 0 and the loop is skipped. Once the loop starts, the ADD RECORD command keeps the loop going because it sets the OK system variable to 1 when the user saves the record. When the user cancels (does not save) the last record, the OK system variable is set to 0 and the loop stops.
See Also
Case of...Else...End case, Control Flow, For...End for, If...Else...End if, Repeat...Until.