Ukaz For...Next

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

Skladnja:

Diagram ukaza For


For counter=start To end [Step step]
    blok ukazov
    [Exit For]
    blok ukazov
Next [counter]

Diagram ukaza For Each


  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
note

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

Podprite nas!