IBM Lotus Symphony
|
Gentager sætningerne i blokken For...Next et angivet antal gange.
For Antal=Start To Slut [Step Trin]
Sætningsblok
[Exit For]
Sætningsblok
Next [Antal]
Antal: En tæller for løkken, der tildeles startværdien til højre for lighedstegnet (Start). Kun numeriske variabler er gyldige. Løkketælleren forøges eller formindskes i henhold til variablen Step, indtil Slut passeres.
Start: Numerisk variabel, der definerer startværdien i begyndelsen af løkken.
Slut: Numerisk variabel, der definerer den sidste værdi, før løkken afsluttes.
Trin: Angiver den værdi, som løkketælleren skal øges eller mindskes med. Hvis Trin ikke angives, øges løkketælleren med 1. I det tilfælde skal Slut være større end Start. Hvis tælleren skal mindskes for hvert gennemløb, skal Slut være mindre end Start, og Trin skal tildeles en negativ værdi.
Løkken For...Next gentager alle sætningerne i løkken det antal gange, der angives af parametrene.
For hver gang tællervariablen øges eller mindskes, kontrollerer Lotus® Symphony™ Basic, om slutværdien er nået. Så snart tælleren passerer slutværdien, afsluttes løkken automatisk.
Flere For...Next-sætninger kan indlejres. Hvis du ikke angiver en variabel efter Next-sætningen, refererer Next automatisk til den nyeste For-sætningn.
Hvis du angiver et interval på 0, bliver sætningerne mellem For og Next gentaget kontinuerligt.
Lotus Symphony Basic kontrollerer, om der opstår overløb eller underløb, hver gang tælleren øges eller mindskes. Løkken afsluttes, når tælleren er større end slutværdien (positiv værdi for Trin) eller mindre end slutværdien (negativ værdi for Trin).
Sætningen Exit For bruges til at afslutte løkken uanset betingelserne. Sætningen skal placeres i en For...Next-løkke. Brug sætningen If...Then, hvis du vil undersøge, om afslutningsbetingelsen er opfyldt:
For...
sætninger
If Betingelse = True Then Exit For
sætninger
Næste
Bemærk: Hvis du bruger Exit for i indlejrede For...Next-løkker, afsluttes kun en enkelt løkke.
I følgende eksempel bruges to indlejrede løkker til at sortere en strengmatrix med 10 elementer ( sOplysn() ), hvori der først er indsat forskellige oplysninger:
Sub EksempelSorter
Dim sOplysn(9) As String
Dim iAntal As Integer
Dim iAntal2 As Integer
Dim sTemp As String
sOplysn(0) = "Jan"
sOplysn(1) = "Pernille"
sOplysn(2) = "Kurt"
sOplysn(3) = "Thomas"
sOplysn(4) = "Michael"
sOplysn(5) = "David"
sOplysn(6) = "Cathrine"
sOplysn(7) = "Susan"
sOplysn(8) = "Erik"
sOplysn(9) = "Christine"
For iAntal = 0 To 9
For iAntal2 = iAntal + 1 To 9
If sOplysn(iAntal) > sOplysn(iAntal2) Then
sTemp = sOplysn(iAntal)
sOplysn(iAntal) = sOplysn(iAntal2)
sOplysn(iAntal2) = sTemp
End If
Next iAntal2
Next iAntal
For iAntal = 0 To 9
Print sOplysn(iAntal)
Next iAntal
End Sub