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.

1024

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.

String_Mit_Mehrfachen_Unterstrichen