A Harbour programozási nyelv

Utasítások, vezérlési szerkezetek

Ciklus

[DO] WHILE ConditionExp … [LOOP] [EXIT] END[DO]

FOR Var := InitExp TO EndExp [STEP StepExp] … [LOOP] [EXIT] NEXT

FOR EACH Var IN CollectionExp … [HB_EnumIndex()] [LOOP] [EXIT] NEXT

A FOR ciklusban az értékadó utasítás ez első iteráció előtt kerül kiértékelésre. A TO kifejezés minden iteráció előtt kiértékelődik és összehasonlításra kerül az ellenőrző változó értékével. Ezután a ciklus akkor terminál, ha a kiértékelt változó numerikus értéke nagyobb az ellenőrző változóénál. A választható STEP kifejezés minden iteráció után kiértékelődik, még mielőtt eldőlne, hogy végrehajtódik-e a következő iteráció. A FOR EACH-en belül a Var változó a collection-ből a megfelelő elem értékét veszi fel (lehet skalár is, komplex is). A collection kifejezés lehet tömb (tetszőleges, vagy akár kombinált típusú), hash vagy objektum típusú.

If elágazás

IF CondExp … [ELSEIF] CondExp … [ELSE] … END[IF]

A „…” nulla vagy több utasítást jelöl. A kondíciós kifejezésnek kiértékelés után logikai típusúnak kell lennie.

Switch elágazás

SWITCH SwitchExp CASE LiteralExp … [EXIT]

[CASE LiteralExp] … [EXIT] [DEFAULT] … END