Name
REPEAT_UNTIL

Syntax
REPEAT
...
UNTIL bedingung

Aufklappen Wertebereiche
bedingung numerischer Ausdruck, Typ binär (*)

(*) tatsächlich geht es um die Prüfung einer Bedingung, die als Ergebnis FALSCH (=0) oder WAHR (≠0) liefert.

Aufklappen Erläuterung
Führt alle Befehle zwischen REPEAT und UNTIL aus, bis bedingung zutrifft, also WAHR ist. GDL ist da recht tolerant und interpretiert nicht nur 1 als logisch WAHR sondern jeden Wert ungleich 0.
Im Unterschied zur FOR...TO...NEXT-Schleife gibt es keine automatische Zählung der Schleifendurchgänge. Die Iteration, dass irgendwann die schleifenbeendende Bedingung eintritt, muss also ausprogrammiert werden.

Schleifen dürfen ineinander und auch mit anderen Schleifentypen verschachtelt werden.

Aufklappen Beispiel
REPEAT
 BLOCK 0.3,0.3,3.5
 ADDX 7.5
 anzahl = anzahl+1
 UNTIL anzahl>5


Führt 6 Schleifendurchgänge aus (mit anzahl=0 bis anzahl=5).

Aufklappen Besonderheiten
Da die Prüfung der Bedingung am Ende der Schleife steht, werden die Befehle in jedem Fall einmal abgearbeitet, auch wenn zu Beginn der Schleife die Bedingung FALSCH (=0) wäre. Es wird also nicht erst geprüft, ob die Bedingung zutrifft. Dazu müsste die Prüfung der Bedingung am Beginn stehen, was mit WHILE...DO...ENDWHILE zu realisieren ist.

Schleifen dürfen ineinander und auch mit anderen Schleifentypen verschachtelt werden.

Aufklappen ArchiCAD
ab 6.0