LibreOffice 24.8 Hjelp
Gjentar uttrykkene mellom For...Next-blokken et spesifisert antall ganger.
For counter=start To end [Step step]
uttrykksblokk
[Exit For]
uttrykksblokk
Next [counter]
For Each item In list
uttrykksblokk
[Exit For]
uttrykksblokk
Next [item]
teller: Loop teller tildelte opprinnelig verdien til høyre for likhetstegnet (start). Bare numeriske variabler er gyldige. Sløyfetelleren øker eller reduseres i henhold til variabelen trinn til slutt passeres.
start: Numerisk variabel som definerer startverdien i begynnelsen av loopen.
end: Numerisk variabel som definerer den endelige verdien på slutten av loopen.
trinn: Angir verdien som skal øke eller reduserelooptelleren med. Hvis trinn ikke er spesifisert, økes looptelleren med 1. I dette tilfellet må end være større enn start. Hvis du vil redusere counter, må end være mindre enn start, og step må tildeles en negativ verdi .
For...Next-løkken gjentar alle setningene i loopen for det antall ganger som er spesifisert av parameterne.
Ettersom counter-variabelen reduseres, sjekker LibreOffice Basic om slutt-verdien er nådd. Så snart telleren passerer slutt-verdien, avsluttes loopen automatisk.
Det er mulig å neste For...Next-utsagn. Hvis du ikke spesifiserer en variabel etter Neste-setningen, refererer Neste automatisk til den nyeste For-setningen.
Hvis du angir en økning på 0, gjentas setningene mellom For og Next kontinuerlig.
Når tellervariabelen telles ned, sjekker LibreOffice Basic for over- eller underflyt. Loopen avsluttes når telleren overskrider sluttverdi (positiv trinnverdi) eller er mindre enn sluttverdi (negativ trinnverdi).
Bruk Exit For-setningen for å gå ut av loopen ubetinget. Denne setningen må være innenfor en For...Next-loop. Bruk If...Then-setningen for å teste utgangstilstanden som følger:
For...
uttrykksblokk
If condition = True Then Exit For
uttrykksblokk
Next
I nestede For...Next-looper, hvis du avslutter en loop ubetinget med Exit For, avsluttes bare én loop.
Følgende eksempel bruker to nestede looper for å sortere en strengmatrise med 10 elementer ( sEntry() ), som er fylt med forskjellig innhold:
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 utforsker innholdet i en matrise for å vise hvert element den inneholder.
Subliste iteration
bestikk = Matrise("gaffel", "kniv", "skje")
For hver gjenstand i bestikk
Skriv ut element
Neste element
End Sub