Promotic

For...Next - příkaz jazyka VBScript

Popis:
Několikrát opakuje skupinu příkazů.
Syntaxe:

For counter=start To end [Step step]
  [statements]
  [Exit For]
  [statements]
Next

counter - Číselná proměnná použitá jako čítač cyklu. Proměnná nemůže být položka pole nebo položka uživatelem definované struktury.
start - Počáteční hodnota proměnné counter.
end - Koncová (poslední) hodnota proměnné counter.
step - Hodnota, o kterou je proměnná counter změněna po každém opakování cyklu.
Pokud není nastaveno, pak je 1.
statements - Jeden nebo více příkazů, které se provádějí určený počet krát.
Poznámka:
Parametr step může být kladný i záporný. Hodnota parametru step určuje provádění cyklu následujícím způsobem:
step >= 0: cyklus se provádí, pokud counter <= end.
step < 0: cyklus se provádí, pokud counter >= end.

Pokud se vstoupí do cyklu, pak provedou se všechny příkazy cyklu, step je přičten k counter. V tomto okamžiku se příkazy cyklu provedou znovu, nebo je cyklus ukončen a provádění pokračuje příkazem následujícím za příkazem Next.

Tip: Změna hodnoty counter uvnitř cyklu může učinit skript těžko čitelným a těžko laditelným.

Exit For může být použit pouze uvnitř For Each...Next nebo For...Next a poskytuje alternativní způsob ukončení cyklu. Jakýkoli počet příkazů Exit For může být umístěn kdekoliv v cyklu. Exit For je často používán s vyhodnocením podmínky (např. If...Then...Else) a předává řízení příkazu následujícímu za příkazem Next.

V jazyce JavaScript pro podobný účel slouží příkaz for.
Viz také:
Příklad1:
Jednoduchý příklad cyklu. Vypíše texty i=1 a i=2 do položky Debug INFO systému.
VBScriptVyber a zkopíruj do schránky

Dim iRow
For iRow = 1 To 2
' test
Pm.Debug "iRow =" & iRow
Next
Příklad2:
Příkazy lze vnořit do jiného cyklu. Každému cyklu se dává jiný název čítače. Následující konstrukce je správná:
VBScriptVyber a zkopíruj do schránky

Dim iRow, iCol, iItem
For iRow = 1 To 3
For iCol = 1 To 4
For iItem = 1 To 5
' test
Pm.Debug "iRow = " & iRow & ", iCol = " & iCol & ", iItem=" & iItem
Next
Next
Next
© MICROSYS, spol. s r.o.