Vsebina

# Ukaz For...Next

Ponovi ukaze med For in Next tolikokrat, kot se zahteva.

## Skladnja:

    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]

## Spremenljivke:

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.

## Primeri

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