Instructie For...Next

Inhoud
Index 🔎︎

# For...Next-instructie

Herhaalt de instructies tussen het For...Next-blok een gespecificeerd aantal keren.

## Syntaxis:

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

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

## Variabelen:

counter: Loop counter initially assigned the value to the right of the equal sign (start). Only numeric variables are valid. The loop counter increases or decreases according to the variable step until end is passed.

start: Numerieke variabele die de beginwaarde aan het begin van de lus definieert.

end: Numerieke variabele die de uiteindelijke waarde aan het einde van de lus definieert.

stap: Stelt de waarde in waarmee de lusteller moet worden verhoogd of verlaagd. Als stap niet is opgegeven, wordt de lusteller verhoogd met 1. In dit geval moet end groter zijn dan start. Als u teller wilt verkleinen, moet einde kleiner zijn dan start, en moet aan stap een negatieve waarde worden toegewezen.

De For...Next lus wordt gebruikt voor het herhalen van alle instructies tussen deze twee sleutelwoorden zo vaak als wordt gespecificeerd door de parameters.

Als de counter variabele wordt verlaagd, controleert LibreOffice Basic of de end waarde is bereikt. Zodra de teller de end waarde passeert, wordt de lus beëindigd.

Het is mogelijk For...Next-instructies te nesten. Als u geen variabele specificeert volgend op de Next-instructie, verwijst Next altijd automatisch naar de meest recente For-instructie.

Als u een stap van 0 specificeert worden de instructies tussen For en Next voortdurend herhaald.

When counting down the counter variable, LibreOffice Basic checks for overflow or underflow. The loop ends when counter exceeds end (positive Step value) or is less than end (negative Step value).

Met behulp van de Exit For-instructie kan de lus onvoorwaardelijk worden beëindigd. Deze instructie moet zich binnen een For...Next lus bevinden. Gebruik de If...Then-instructie om de beëindigen-voorwaarde te testen op de volgende manier:

      For...
          instructieblok
          If condition = True Then Exit For
          instructieblok
      Next

Als u in geneste For...Next lussen een lus onvoorwaardelijk verlaat met Exit For, wordt slechts één lus verlaten.

## Voorbeelden

In het volgende voorbeeld worden twee geneste lussen gebruikt om een stringarray met 10 elementen (sEntry ()) te sorteren, die is gevuld met verschillende inhoud:

    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

Dit onderzoekt de inhoud van een array om elk item dat het bevat weer te geven.

      Sub list_iteration
          cutlery = Array("fork", "knife", "spoon")
          For Each item in cutlery
              Print item
          Next ' item
      End Sub