Pomoč LibreOffice 24.8
Ponovi ukaze med For in Next tolikokrat, kot se zahteva.
For counter=start To end [Step step]
blok ukazov
[Exit For]
blok ukazov
Next [counter]
For Each item In list
blok ukazov
[Exit For]
blok ukazov
Next [item]
counter: števec zanke ob začetku dobi vrednost, ki je navedena desno od enačaja (start). Veljavne so samo numerične spremenljivke. Števec zank se povečuje ali zmanjšuje v skladu s spremenljivko step toliko časa, da je end presežen.
start: Numerična spremenljivka, ki definira začetno vrednost ob začetku zanke.
end: Numerična spremenljivka, ki definira končno vrednost, ob koncu zanke.
step: predstavlja vrednost, s katero se števec v zanki povečuje oziroma zmanjšuje. Če korak (step) ni definiran, se števec v zanki poveča za 1. V tem primeru mora biti konec (end) večji od začetne vrednosti (start). Če želite števec (counter) zmanjševati, mora biti konec (end) manjši od začetka (start) in korak (step) mora imeti negativno vrednost.
Število ponovitev zanke For...Next in ukazov v njej je določeno s parametri.
Ko se spremenljivka counter zmanjša, LibreOffice Basic preveri, ali je bila končna vrednost end dosežena. Takoj ko jo števec (counter) v zanki doseže, se zanka konča.
Ukaze For...Next je mogoče gnezditi. Če v ukazu Next ne navedete spremenljivke, se bo Next samodejno skliceval na najnovejši ukaz For.
Če navedete korak 0, se bodo ukazi med For in Next ponavljali brez konca.
Med odštevanjem števca LibreOffice Basic preverja, da ni prišlo do prelitja ali podlitja. Zanka se konča ko števec preseže konec (pozitivna vrednost Koraka) ali ko pade pod konec (kadar je Korak negativen).
Če želite zanko brezpogojno zapustiti, uporabite ukaz Exit For. Ta ukaz se mora nahajati znotraj zanke For...Next. Če želite preveriti pogoj za prenehanje, uporabite ukaz If...Then kot sledi:
For...
blok ukazov
If condition = True Then Exit For
blok ukazov
Next
V ugnezdenih zankah For...Next v primeru, da zanko zapustite z brezpogojnim Exit For, zapustite samo eno zanko.
Naslednji primer uporablja dve ugnezdeni zanki, da razvrsti polje nizov z desetimi elementi (sVnos()), napolnjenih z vsebino:
Sub ExampleSort
Dim sEntry(9) As String
Dim iCount As Integer, iCount2 As Integer
Dim sTemp As String
sEntry = Array("Jerry","Patty","Kurt","Thomas","Michael",_
"David","Cathy","Susie","Edward","Christine")
For iCount = 0 To 9
For iCount2 = iCount + 1 To 9
If sEntry(iCount) > sEntry(iCount2) Then
sTemp = sEntry(iCount)
sEntry(iCount) = sEntry(iCount2)
sEntry(iCount2) = sTemp
End If
Next iCount2
Next iCount
For iCount = 0 To 9
Print sEntry(iCount)
Next iCount
End Sub
Razišče vsebino matrike in prikaže vse njene elemente.
Sub seznam_ponovitve
pribor = Array("vilica", "nož", "žlica")
For Each item in pribor
Print item
Next ' naslednji element
End Sub