Indhold
Indholdsfortegnelse 🔎︎

# For...Next-udtryk

Gentager sætningerne mellem For...Next blokken et angivet antal gange.

## Syntaks:

    For counter=start to end [Step step]
    sætningsblok
    [Exit For]
    sætningsblok
    Next [tæller]

## Variable:

Counter: Løkketæller der først bliver tilskrevet værdien til højre for lighedstegnet (start). Kun numeriske variable er gyldige. Løkketælleren forøges eller formindskes ifølge variablen Step indtil End nås.

Start: Numerisk variabel som definerer startværdien i begyndelsen af løkken.

End: Numerisk variabel som definerer den sidste værdi i slutningen af løkken.

Step: Sætter værdien med hvilken løkkens tæller skal forøges eller formindskes. Hvis Step ikke bliver angivet, vil løkketælleren stige med 1. I dette tilfælde, skal End være større end Start. Hvis du vil formindske tælleren, skal End være mindre end Start, og Step skal tildeles en negativ værdi.

Løkken For...Next gentager alle sætningerne i løkken antallet af gange, som bliver angivet af parametrene.

Efterhånden som tællervariablen falder, kontrollerer LibreOffice Basic om slutværdien er nået. Så snart tælleren passerer slutværdien, slutter løkken automatisk.

Det er muligt at indlejre For...Next sætninger. Hvis du ikke angiver en variabel efter sætningen Next, henviser Next automatisk til den seneste For sætning.

Hvis du angiver et trin på 0, vil sætningerne mellem For og Next blive gentaget fortløbende.

Når tællervariablen tælles ned, vil LibreOffice BASIC kontrollere for over- eller underløb. Løkken slutter når tællervariablen overskrider End (positiv værdi af Step) eller er mindre end End (negativ værdi af Step).

Brug sætningen Exit For for at forlade løkken ubetinget. Denne sætning skal være indenfor en For...Next løkke. Brug sætningen If...Then for at teste afslutningsbetingelsen på følgende måde:

For...

sætninger

If condition = True Then Exit For

sætninger

Next

Bemærk: I indlejrede For...Next løkker, hvis du afslutter en løkke ubetinget med Exit For, bliver kun en løkke afsluttet.

## Eksempel

Det følgende eksempel bruger to indlejrede løkker til at sortere et strengarray med 10 elementer ( sEntry() ), som først bliver udfyldt med forskelligt indhold:

    Sub ExampleSort
    Dim sEntry(9) As String
    Dim iCount As Integer
    Dim iCount2 As Integer
    Dim sTemp As String
        sEntry(0) = "Erik"
        sEntry(1) = "Pernille"
        sEntry(2) = "Kurt"
        sEntry(3) = "Thomas"
        sEntry(4) = "Michael"
        sEntry(5) = "David"
        sEntry(6) = "Cathrine"
        sEntry(7) = "Susie"
        sEntry(8) = "Edward"
        sEntry(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