LibreOffice 25.2 Hjelp
Gjentek uttrykka i For...Next-blokka eit spesifisert tal gongar.
For counter=start To end [Step step]
uttrykksblokk
[Exit For]
uttrykksblokk
Next [counter]
For Each item In list
uttrykksblokk
[Exit For]
uttrykksblokk
Next [item]
Teljar: Løkketeljar som i starten får verdien til høgre for likskapsteiknet (start). Berre talvariablar kan brukast her. Løkketeljaren tel oppover eller nedover avhengig av variabelen steg til slutt er nådd.
Start: Talvariabel som bestemmer startverdien for løkka.
Slutt: Talvariabel som bestemmer sluttverdien for løkka.
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 gjentek 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 teke opp att 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 éi sløyfe utført.
Dette eksempelet 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