For...Next-instructie

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

Syntaxis:

For Statement diagram


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

For Each Statement diagram


  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
note

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

Help ons, alstublieft!