Sisukord

# For...Next lause

Kordab määratud arv kordi ploki For...Next vahel olevaid lauseid.

## Süntaks:

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

      For Each item In list
          lause sisu
      [Exit For]
          lause sisu
      Next [item]

## Muutujad:

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: Numeric variable that defines the initial value at the beginning of the loop.

end: Numeric variable that defines the final value at the end of the loop.

Step: seab sammuväärtuse, mille võrra tsüklite arvu suurendada või vähendada. Kui step on määramata, siis suurendatakse tsüklite arvu 1 võrra. Sel juhul peab end olema suurem kui start. Kui soovid väärtust counter vähendada, siis peab väärtus end olema väiksem kui väärtus start ja step peab olema negatiivne väärtus.

Tsükkel For...Next kordab kõiki tsüklis olevaid lauseid parameetritega määratud arv kordi.

As the counter variable is decreased, LibreOffice Basic checks if the end value has been reached. As soon as the counter passes the end value, the loop automatically terminates.

Tsükli For...Next lauseid saab pesastada. Kui lausele Next järgnevat muutujat pole määratud, viitab Next automaatselt viimatisele For-lausele.

Kui määrad juurdekasvuks 0, siis korratakse lausete For ja Next vahelisi lauseid pidevalt.

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

Tsüklist tingimusteta väljumiseks kasuta lauset Välju lausest For. See lause peab olema tsüklis For...Next. Väljumistingimuse testimiseks kasuta lauset If...Then järgmiselt:

      For...
          lause sisu
          If condition = True Then Exit For
          lause sisu
      Next

In nested For...Next loops, if you exit a loop unconditionally with Exit For, only one loop is exited.

## Näited

The following example uses two nested loops to sort a string array with 10 elements ( sEntry() ), that is filled with various contents:

    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

This explores the content of an array to display each item it contains.

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