For...Next sakinys

Nurodytą skaičių kartų kartoja sakinius, esančius bloke For ... Next .

Sintaksė:

For sakinio diagrama


For counter=start To end [Step step]
    sakinių blokas
    [Exit For]
    sakinių blokas
Next [counter]

For Each sakinio diagrama


  For Each item In list
      sakinių blokas
  [Exit For]
      sakinių blokas
  Next [item]

Kintamieji:

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
note

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.


Pavyzdžiai

Š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

Paremkite mus!