IBM Lotus Symphony
|
Toistaa For...Next-lohkon väliset lauseet niin monta kertaa, kuin on määritetty.
For counter=start To end [Step step]
lauselohko
Exit For]
lauselohko
Next [counter]
Counter: Silmukkalaskuri saa aluksi sen arvon, joka on yhtäläisyysmerkin oikealla puolella (Start). Vain numeeriset muuttujat ovat kelvollisia. Silmukkalaskurin arvo suurenee tai pienenee Step-muuttujan mukaan, kunnes End välitetään.
Start: Numeerinen muuttuja, joka määrittää aloitusarvon silmukan alussa.
End: Numeerinen muuttuja, joka määrittää lopullisen arvon silmukan päättyessä.
Step: Asettaa arvon, jonka mukaan silmukkalaskurin arvo suurenee tai pienenee. Jos Step-arvoa ei ole määritetty, silmukkalaskurin kasvuarvo on 1. Tässä tapauksessa End-arvon on oltava suurempi kuin Start-arvon. Jos haluat pienentää Counter-arvoa, End-arvon on oltava pienempi kuin Start-arvon. Lisäksi Step-arvon on oltava negatiivinen.
For...Next-silmukka toistaa kaikki silmukan lauseet niin monta kertaa, kuin parametrit määrittävät.
Aina kun laskurimuuttujan arvo pienenee, Lotus Symphony Basic -ohjelma tarkistaa, onko laskurin loppuarvo saavutettu. Heti kun laskuri saavuttaa loppuarvon, silmukka loppuu automaattisesti.
Voit käyttää useita sisäkkäisiä For...Next-lauseita. Jos et määritä muuttujaa Next-lauseen jälkeen, Next-lause viittaa automaattisesti viimeisimpään For-lauseeseen.
Jos määrität kasvuarvoksi 0, For- ja Next-lauseiden väliset lauseet toistetaan jatkuvasti.
Kun laskurimuuttujan arvo pienenee, Lotus Symphony Basic tarkistaa, onko ylivuotoa tai alivuotoa ilmennyt. Silmukka loppuu, kun Counter-arvo ylittää End-arvon (positiivinen Step-arvo) tai on pienempi kuin End-arvo (negatiivinen Step-arvo).
Exit For -lauseen avulla voit lopettaa silmukan ehdoitta. Tämän lauseen on oltava For...Next-silmukan sisällä. If...Then-lauseen avulla voit tarkistaa lopetusehdon seuraavasti:
For...
lauseet
If condition = True Then Exit For
lauseet
Next
Huomautus: Jos poistut sisäkkäisestä For...Next-silmukasta ehdoitta Exit For -lauseella, vain yhdestä silmukasta poistutaan.
Seuraava esimerkki lajittelee 10 elementin ( sEntry() ) merkkijonotaulukon kahden sisäkkäisen silmukan avulla. Elementit täytetään ensin erilaisella sisällöllä:
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