Anweisung For...Next

Wiederholt die Anweisungen innerhalb des Blocks For...Next für eine bestimmte Anzahl von Durchläufen.

Syntax:

For Zähler=Anfang To Ende [Step Schritt]

Befehlsblock

[Exit For]

Befehlsblock

Next [counter]

Variablen:

Zähler: Schleifenzähler, dem zunächst der Wert rechts neben dem Gleichheitszeichen (Anfang) zugewiesen wird. Es sind nur numerische Variablen zulässig. Der Schleifenzähler wird entsprechend der Variable "Schritt" erhöht oder verringert, bis der Wert "Ende" durchlaufen wurde.

Anfang: Numerische Variable, die den Anfangswert zu Beginn der Schleife festlegt.

Ende: Numerische Variable, die den Endwert zum Schluss der Schleife festlegt.

Schritt: Legt den Wert fest, um den der Schleifenzähler bei jedem Durchlauf erhöht oder verringert werden soll. Wird "Schritt" nicht angegeben, so wird der Schleifenzähler um 1 erhöht. In diesem Fall muss "Ende" größer sein als "Anfang". Um "Zähler" herunterzuzählen, muss "Ende" kleiner als "Anfang" sein, und "Schritt" 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.

Bei jeder Verringerung der Zählervariable prüft LibreOffice Basic, ob der Endwert erreicht ist. Sobald der Zähler den Endwert durchläuft, wird die Schleife automatisch beendet.

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

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

Beim Hoch- beziehungsweise Herunterzählen der Zählervariablen prüft LibreOffice Basic auf Überlauf und Unterlauf. Die Schleife wird beendet, wenn "Zähler" größer als "Ende" (positiver Schrittwert) beziehungsweise kleiner als "Ende" (negativer Schrittwert) ist.

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...

Befehle

If Bedingung = True Then Exit For

Befehle

Next

Hinweis für die Verschachtelung von Schleifen For...Next: Beim unbedingten Verlassen einer Schleife durch Exit For wird grundsätzlich nur eine Schleife beendet.

Beispiel

Das folgende Beispiel nutzt zwei ineinander verschachtelte Schleifen, um ein Zeichenketten-Array mit 10 Elementen ( sEntry() ), die zunächst mit verschiedenen Namen vorbelegt werden, zu sortieren:

Sub ExampleSort

Dim sEntry(9) As String

Dim iCount As Integer

Dim iCount2 As Integer

Dim sTemp As String

    sEintrag(0) = "Jerry"

    sEintrag(1) = "Patty"

    sEintrag(2) = "Kurt"

    sEintrag(3) = "Thomas"

    sEintrag(4) = "Michael"

    sEintrag(5) = "David"

    sEintrag(6) = "Cathy"

    sEintrag(7) = "Susie"

    sEintrag(8) = "Edward"

    sEintrag(9) = "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