Cyklus s riadiacou premennou.
Na začiatku cyklu je riadiaca premenná nastavená na hodnotu 1 (variant s kľúčovým slovom RANGE) alebo na hodnotu
danú výrazom lBoundExpr. Hodnota výrazu musí byť platná. Taktiež sa jedenkrát vyhodnotí horné obmedzenie pre hodnotu
riadiacej premennej.
V prvom prípade (variant RANGE) je to rozmer danej štruktúry (struct\DIM).
V druhom prípade je horné obmedzenie získané vyhodnotením výrazu uBoundExpr. Hodnota výrazu musí byť platná. Riadiaca
premenná cyklu bude pri jednotlivých iteráciách automaticky postupne zvyšovaná až po horné obmedzenie. Riadiaca premenná
musí byť deklarovaná typu INT. V tele cyklu je možné ju meniť. Prípadné zneplatnenie jej hodnoty spôsobí chybu
za behu pri vykonávaní akcie END_LOOP. Cyklus je možné predčasne ukončiť akciou EXIT_LOOP.
Po ukončení cyklu má riadiaca premenná hodnotu o 1 väčšiu ako horné obmedzenie.
INT _i
INT _uBound
_uBound := 10
FOR _i=2 TO _uBound DO_LOOP
_uBound := _uBound + 1 ; zmena hodnoty nemá vplyv na počet iterácií
END_LOOP
; hodnota premennej _i je 11
INT _i
RECORD (SD.ArchVal) _struct
REDIM _struct[10]
FOR _i RANGE _struct DO_LOOP
REDIM _struct[2] ; zmena rozmeru nemá vplyv na počet iterácií
END_LOOP
; hodnota premennej _i je 11
Cyklus bez riadiacej premennej.
Akcie uzavreté medzi akcie DO_LOOP a END_LOOP budú cyklicky vykonávané. Ukončiť cyklus je možné akciou
EXIT_LOOP. Ak je akcia s parametrom, cyklus bude ukončený ak expression nadobudne hodnotu @TRUE.
0 komentárov