WHILE <Bedingung> DO <Anweisung>;
WHILE-DO
Der Befehl WHILE-DO führt eine Anweisung aus, solange die Bedingung erfüllt ist. Der Befehl findet Anwendung für Wiederholungen, deren Endzustand nach unbestimmten Durchläufen auftreten kann.
Hinweise
Wenn <Bedingung> TRUE ist, dann wird <Anweisung> wiederholt ausgeführt, bis <Bedingung> zu FALSE wird. Wenn <Bedingung> von Anfang an FALSE ist, dann wird <Anweisung> nie ausgeführt.
Der WHILE DO-Befehl kann verwendet werden, wenn ein Code wiederholt werden soll, solange ein Ausdruck TRUE ist.
Programmierkonventionen
Wenn es nur eine Bedingung gibt, dann wird WHILE und DO auf derselben Zeile geschrieben. Die Anweisungen werden auf eine eigene Zeile, eingerückt durch zwei Leerzeichen, geschrieben.
Gibt es mehrere Bedingungen, dann werden die Bedingungen auf eine separate Zeile, eingerückt durch zwei Leerzeichen, geschrieben. DO wird auf eine separate Zeile geschrieben, die mit WHILE ausgerichtet ist.
Beispiel 1
Zunächst wird eine neue Variable hinterlegt.
Name | Datentyp | Subtyp |
---|---|---|
I | Integer |
Anschließend wird folgender C/AL-Code eingefügt.
I := 1; WHILE (I > 0) AND (I < 1000) DO I *= 2; MESSAGE(FORMAT(I));
Sobald der Code ausgeführt wird, erscheint das folgende Ergebnis.
Beispiel 2
Folgende WHILE-Schleife wird so lange ausgeführt, bis der angegebene Text keine mehrfachen Unterstriche besitzt.
Zunächst werden zwei neue Variable hinterlegt.
Name | Datentyp | Subtyp |
---|---|---|
Input | Text | |
UnderscorePos | Integer |
Anschließend wird folgender C/AL-Code eingefügt.
Input := 'String_Mit__Mehrfachen____Unterstrichen'; WHILE STRPOS(Input,'__') <> 0 DO BEGIN UnderscorePos := STRPOS(Input,'__'); Input := DELSTR(Input,UnderscorePos,2); Input := INSSTR(Input,'_',UnderscorePos); END; MESSAGE(Input);
Sobald der Code ausgeführt wird, erscheint das folgende Ergebnis.