Cyklus FOR

Cyklus FOR je p°φkazem vnit°nφho programovacφho jazyka a mß jeden z t∞chto tvar∙:

for °φdφcφ_prom∞nnß := v²raz1 to v²raz2
   do p°φkaz
for °φdφcφ_prom∞nnß := v²raz1 downto v²raz2
   do p°φkaz

P°i provßd∞nφ cyklu se nejprve p°i°adφ °φdφcφ prom∞nnΘ hodnota v²razu1. Pak se ov∞°φ podmφnka cyklu: Cyklus konΦφ, pokud v tvaru s to je hodnota °φdφcφ prom∞nnΘ v∞tÜφ ne₧ hodnota v²razu2, resp. pokud v tvaru s downto je hodnota °φdφcφ prom∞nnΘ menÜφ ne₧ hodnota v²razu2. V opaΦnΘm p°φpad∞ se provede p°φkaz obsa₧en² v cyklu a hodnota °φdφcφ prom∞nnΘ se zv∞tÜφ (to) resp. zmenÜφ (downto) o jedniΦku. PokraΦuje se nov²m testovßnφm podmφnky cyklu.

╪φdφcφ prom∞nnß i oba v²razy musφ b²t typu Integer. PoΦet opakovßnφ cyklu je roven rozdφlu hodnot obou v²raz∙ plus jedna. Je-li ve tvaru s to v²raz1 menÜφ ne₧ v²raz2, resp. je-li ve tvaru s downto vyraz1 v∞tÜφ ne₧ v²raz2, pak se p°φkaz obsa₧en² v cyklu neprovede ani jednou.

P°φklad:

if not Rec_cnt(MailMerge, pocetmm) then begin
  for i := 0 to pocetmm-1 do begin    //cyklus p°es vÜechny zßznamy z dotazu 
    Set_status_text('Zapisuji do tabulky kontakt∙...');
    Set_status_nums(i,pocetmm);
    Start_transaction;
      reck := Insert(Tschuzky); Signalize;
      if reck <> -1 then begin
         cis := MailMerge[i].cislo;
         ...

Viz takΘ:

Programy

Vnit°nφ programovacφ jazyk

P°φkazy vnit°nφho jazyka