For...Next-uttrykket

Repeats the statements between the For...Next block a specified number of times.

Syntaks:

For Statement diagram


For counter=start To end [Step step]
    statement-block
    [Exit For]
    statement-block
Next [counter]

For Each Statement diagram


  For Each item In list
      statement-block
  [Exit For]
      statement-block
  Next [item]

Variablar

counter: Loop counter initially assigned the value to the right of the equal sign (start). Only numeric variables are valid. The loop counter increases or decreases according to the variable step until end is passed.

start: Numeric variable that defines the initial value at the beginning of the loop.

end: Numeric variable that defines the final value at the end of the loop.

step: Bestemmer kor mykje løkkjeteljaren skal auka eller minka for kvar gjennomgang. Viss step ikkje er sett, vert teljaren auka med 1. end må i tilfelle vera større enn start. Ønskjer du å forminska counter, må end vera mindre enn start og step må ha ein negativ verdi.

FOR … NEXT-løkka gjentar uttrykka inne i sløyfa så mange gongar som er bestemt av parameterane.

Når teljaren counter minkar, vil LibreOffice Basic kontrollera om sluttverdien end er nådd. Så snart verdien i counter passerer verdien i end vert løkka automatisk avslutta.

Det er mogleg å nøsta FOR … NEXT-uttrykk. Viss du ikkje set inn ein variabel etter NEXT, vil NEXT bruka det næraste FOR-uttrykket.

Viss du set auken til 0, vert uttrykket mellom FOR og NEXT gjentatt kontinuerleg.

Når teljaren tel nedover, vil LibreOffice Basic kontrollera for over- eller underflyt. Sløyfa vert avslutta når teljaren counter er høgare enn sluttverdien i end (positiv stegverdi) eller er mindre enn end (negativ stegverdi).

Bruk uttrykket EXIT FOR for å avslutta sløyfa utan at vilkåret er nådd. Dette uttrykket må vera inne i FOR … NEXT-sløyfa. Bruk uttrykket IF … THEN for å kontrollera utgangsvilkåra slik:


  For...
      uttrykksblokk
      If condition = True Then Exit For
      uttrykksblokk
  Next
note

Viss du går ut av nøsta For … Next-sløyfer med Exit For før vilkåret er oppfylt, vert berre ei sløyfe utført.


Eksempel

Dette eksemplet brukar to nøsta løkker for å sortera ein strengtabell med 10 element ( sEntry() ) som først vert fylt med innhald:


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

Dette utforskar innhaldet av ein tabell for å visa kvart element i tabellen.


  Sub list_iteration
      cutlery = Array("gaffel", "kniv", "skei")
      For Each item i bestikk
          Skriv ut element
      Next 'element
  End Sub