Turinys

# For...Next sakinys

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

## Sintaksė:

    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]

## 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

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