Innhald

# For...Next-uttrykket

Gjentek uttrykka i For...Next-blokka eit spesifisert tal gongar.

## 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]

## Variablar

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.

## Eksempel

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