IBM Lotus Symphony
|
Gjentar uttrykkene mellom For...Next-blokken et angitt antall ganger.
For counter=start To end [Trinn trinn]
setningsblokk
[Exit For]
setningsblokk
Next [teller]
Teller: Sløyfeteller som er først tildelt verdien til høyre for likhetstegnet (start). Bare numeriske variabler er gyldige. Sløyfetelleren øker eller reduseres ifølge det variable Trinn inntil End er passert.
Start: Numerisk variabel som definerer første verdi i begynnelsen av sløyfen.
Slutt: Numerisk variabel som definerer den siste verdien ved slutten av sløyfen.
Trinn: Angir verdien som skal brukes til å øke eller redusere sløyfetelleren. Hvis Trinn ikke er angitt, øker sløyfetelleren med 1. I så fall må End være større enn Start. Hvis du vil redusere Teller, må End være mindre enn Start, og Trinn må tildeles en negativ verdi.
For...Next-sløyfen gjentar alle uttrykkene i sløyfen det antall ganger som er angitt av parameterne.
Når tellervariabelen reduseres, sjekker Lotus Symphony Basic om sluttverdien er nådd. Så snart telleren passerer sluttverdien, avsluttes sløyfen automatisk.
Det er mulig å neste For...Next-uttrykk. Hvis du ikke angir en variabel etter Next-setningen, refererer Next automatisk til det nyeste For-setningen.
Hvis du angir en økning på 0, blir uttrykkene mellom For og Next gjentatt kontinuerlig.
Når tellervariabelen telles ned, kontrollerer Lotus Symphony for overflyt eller underflyt. Sløyfen avsluttes når Teller overstiger End (positiv Trinn-verdi) eller er mindre enn End (negativ Trinn-verdi).
Bruk Exit For-setningen til å avslutte sløyfen uten betingelse. Dette uttrykket må være innenfor en For...Next-sløyfe. Bruk If...Then-setningen til å testet avslutningsbetingelsen slik:
For...
uttrykk
If betingelse = Sann Then Exit For
uttrykk
Next
Merk: Hvis du i nestede For...Next-sløyfer avslutter en sløyfe uten betingelse med Exit For, avsluttes bare en sløyfe.
Dette eksempelet bruker to nestede sløyfer til å sortere en strengmatrise med 10 elementer ( sEntry() ), som først er fylt med forskjellig innhold:
Sub ExampleSort
Dim sEntry(9) As String
Dim iCount As Integer
Dim iCount2 As Integer
Dim sTemp As String
sEntry(0) = "Jerry"
sEntry(1) = "Patty"
sEntry(2) = "Kurt"
sEntry(3) = "Thomas"
sEntry(4) = "Michael"
sEntry(5) = "David"
sEntry(6) = "Cathy"
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