Anweisung For…Next

Wiederholt die Anweisungen zwischen dem Block For … Next eine bestimmte Anzahl von Malen.

Syntax:

Diagramm für die Anweisung For


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

Diagramm für die Anweisung For Each


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

Variablen:

counter: Der Schleife counter wird anfänglich den Wert rechts vom Gleichheitszeichen (start) zugewiesen. Nur numerische Variablen sind gültig. Der Schleifenzähler vergrößert oder verkleiner sich entsprechend der Variablen step, bis end passiert ist.

start: Numerische Variable, die den Startwert am Anfang der Schleife definiert.

end: Numerische Variable, die den Endwert am Ende der Schleife definiert.

step: Legt den Wert fest, um den der Schleifenzähler vergrößert oder verkleinert wird. Wird step nicht angegeben, wird der Schleifenzähler um 1 vergrößert. In diesem Fall muss end größer als start sein. Wenn Sie counter verkleinern möchten, muss end kleiner als start sein und step muss ein negativer Wert zugewiesen werden.

Die Schleife For…Next wiederholt alle Anweisungen innerhalb der Schleife so oft, wie es in den Parametern angegeben ist.

Wenn die Variable counter verkleinert wird, prüft LibreOffice Basic, ob der Wert end erreicht wurde. Sobald der counter den Wert end passiert, wird die Schleife automatisch beendet.

Sie können Anweisungen For…Next verschachteln. Wenn Sie nach der Anweisung Next keine Variable festlegen, bezieht sich Next automatisch auf die letzte vorhergehende Anweisung For.

Legen Sie eine Schrittweite von 0 fest, dann werden die Anweisungen zwischen For und Next endlos ausgeführt.

Beim Herunterzählen der Zählervariablen prüft LibreOffice Basic auf Überlauf oder Unterlauf. Die Schleife endet, wenn counter den Wert für end überschreitet (positiver Wert für step) oder kleiner als end ist (negativer Wert für step).

Um die Schleife bedingungslos zu verlassen, verwenden Sie die Anweisung Exit For. Diese Anweisung muss in einer Schleife For…Next stehen. Verwenden Sie wie folgt die Anweisung If…Then, um die Ausstiegsbedingung zu prüfen:


  For...
      Befehlsblock
      If condition = True Then Exit For
      Befehlsblock
  Next
note

Wenn Sie in verschachtelten Schleifen For … Next eine Schleife bedingungslos mit Exit For beenden, wird nur eine Schleife verlassen.


Beispiele

Das folgende Beispiel verwendet zwei verschachtelte Schleifen, um ein String-Array mit 10 Elementen ( sEntry() ) zu sortieren, das mit verschiedenen Inhalten gefüllt ist:


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

Dadurch wird der Inhalt eines Arrays untersucht, um jedes darin enthaltene Element anzuzeigen.


  Sub list_iteration
      cutlery = Array("Gabel", "Messer", "Löffel")
      For Each item in cutlery
          Print item
      Next ' item
  End Sub

Bitte unterstützen Sie uns!