For...Next-uttrykket

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

Syntaks:

Diagram over uttrykket For


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

Diagram over uttrykket For Each


  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
note

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

Støtt oss!