Innhold

# For...Next Statement

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

## Syntaks

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

      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

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