For...Next Statement

Gjentar uttrykkene mellom For...Next-blokken et spesifisert antall ganger.

Syntaks

For Statement diagram


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

For hvert Statement diagram


  For Each item In list
      uttrykksblokk
  [Exit For]
      uttrykksblokk
  Next [item]

Variabler

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
note

I nestede For...Next-looper, hvis du avslutter en loop ubetinget med Exit For, avsluttes bare én loop.


Eksempler

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

Supporter oss!