For...Next-uttrykket
Repeats the statements between the For...Next block a specified number of times.
Syntaks:
For counter=start To end [Step step]
statement-block
[Exit For]
statement-block
Next [counter]
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
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