LibreOffice 24.8 žinynas
Nurodytą skaičių kartų kartoja sakinius, esančius bloke For ... Next .
For counter=start To end [Step step]
sakinių blokas
[Exit For]
sakinių blokas
Next [counter]
For Each item In list
sakinių blokas
[Exit For]
sakinių blokas
Next [item]
skaitiklis: Loop skaitiklis iš pradžių priskyriama reikšmę iš dešinės lygybės ženklo (start) pusės. Galioja tik skaitiniai kintamieji. Ciklo skaitiklis didėja arba mažėja keičiantis kintamojo žingsnis reikšmei, kol pasiekiama pabaiga.
start: Skaitmeninis kintamasis, apibrėžiantis pradinę reikšmę ciklo pradžioje.
end: Skaitmeninis kintamasis, apibrėžiantis galinę reikšmę ciklo pabaigoje.
žingsnis: Nustato reikšmę, kuria didinamas arba mažinamas ciklo skaitiklis. Jei žingsnis nenurodytas, ciklo skaitiklis didinamas 1. Tokiu atveju end turi būti didesnis negu start. Jei norite sumažinti skaitiklį, end turi būti mažesnis nei start, o žingsnis turi būti priskiriama neigiama reikšmė .
Ciklas For ... Next pakartoja visus ciklo sakinius tiek kartų, kiek nurodo parametrai.
Sumažinus kintamojo counter reikšmę, „LibreOffice Basic“ patikrina, ar pasiekta end reikšmė. Kai tik kintamasis counter viršija end reikšmę, ciklas automatiškai užbaigiamas.
Sakinius For...Next galima įdėti vienas į kitą. Jei nenurodysite kintamojo po sakinio Next, tai Next automatiškai nurodo dabartinį For sakinį.
Jei nurodote nulinį padidėjimą, tai sakiniai tarp For ir Next kartojami nuolat.
Skaičiuodamas skaitiklio kintamąjį, „LibreOffice Basic“ patikrina, ar nėra perpildymo. Ciklas baigiamas, kai skaitiklis counter viršija end (teigiama žingsnio reikšmė) arba yra mažesnis nei end (neigiama žingsnio reikšmė).
Norėdami besąlygiškai išeiti iš ciklo, naudokite sakinį Exit For. Šis sakinys turi būti For…Next cikle. Norėdami užbaigti priklausomai nuo sąlygos, naudokite sakinį If…Then:
For...
sakinių blokas
If condition = True Then Exit For
sakinių blokas
Next
Vienas į kitą įdėtuose For...Next cikluose, jei besąlygiškai išeisite iš ciklo naudodami Exit For, tai išeisite tik iš viena ciklo.
Šiame pavyzdyje naudojami du įdėti ciklai, kad būtų galima surikiuoti 10-ies elementų eilutės masyvą (sEntry ()), užpildytą įvairiu turiniu:
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
Tai tyrinėja masyvo turinį, kad būtų rodomas kiekvienas jame esantis elementas.
Sub sąrašo iteracija
įrankiai = Array("šakutė", "peilis", "šaukštas")
Kiekvienam įrankiui
Spausdinti elementą
Next ' elementas
End Sub