IBM Lotus Symphony
|
Powtarza instrukcje ujęte w blok For...Next określoną liczbę razy.
For Licznik=Wartość_początkowa To Wartość_końcowa [Step Krok]
Blok instrukcji
[Exit For]
Blok instrukcji
Next [Licznik]
Licznik: Licznik pętli, do którego przypisywana jest wartość początkowa znajdująca się po prawej stronie znaku równości (Wartość_początkowa). Poprawne są tylko zmienne liczbowe. Licznik pętli jest zwiększany lub zmniejszany zgodnie z wartością zmiennej Krok aż do chwili osiągnięcia wartości Wartość_końcowa.
Wartość_początkowa: Zmienna liczbowa definiująca wartość początkową licznika.
Wartość_końcowa: Zmienna liczbowa definiująca wartość końcową (po zakończeniu wykonywania pętli).
Krok: Ustawia wartość, o jaką zwiększany lub zmniejszany jest licznik pętli. Jeśli nie określono instrukcji Step, licznik pętli jest zwiększany o 1. W tym przypadku wartość zmiennej Wartość_końcowa musi być większa niż wartość zmiennej Wartość_początkowa. Aby zmniejszyć wartość zmiennej Licznik, wartość zmiennej Wartość_końcowa musi być mniejsza niż wartość zmiennej Wartość_początkowa, a zmienna Krok musi przyjmować wartość ujemną.
Pętla For...Next powtarza wszystkie instrukcje w pętli określoną w parametrze liczbę razy.
Po zmniejszeniu wartości zmiennej licznika środowisko języka Basic programu Lotus® Symphony™ sprawdza, czy została osiągnięta wartość końcowa. Po osiągnięciu przez licznik wartości końcowej pętla jest automatycznie kończona.
Można zagnieżdżać instrukcje For...Next. Jeśli nie zostanie określona zmienna występująca po instrukcji Next, instrukcja Next automatycznie odwoła się do ostatniej instrukcji For.
Jeśli określony zostanie przyrost równy 0, instrukcje między instrukcjami For i Next będą powtarzane bez końca.
Podczas odliczania zmiennej licznika środowisko języka Basic programu Lotus Symphony sprawdza, czy nastąpiło przepełnienie lub niedomiar. Pętla kończy się, gdy licznik przekroczy wartość końcową (dodatnia wartość zmiennej Krok) lub będzie mniejszy niż wartość końcowa (ujemna wartość zmiennej Krok).
Aby bezwarunkowo wyjść z pętli, należy użyć instrukcji Exit For. Ta instrukcja musi znajdować się w pętli For...Next. Aby przetestować warunek wyjścia, należy użyć instrukcji If...Then:
For...
instrukcje
If Warunek = True Then Exit For
instrukcje
Next
Uwaga: Jeśli w zagnieżdżonych pętlach For...Next nastąpi bezwarunkowe wyjście z pętli Exit For, wyjście następuje tylko z jednej pętli.
W poniższym przykładzie użyto dwóch zagnieżdżonych pętli do posortowania tablicy wartości String zawierającej 10 elementów (sWpisy()), które najpierw są wypełniane różną treścią:
Sub Przyklad_Sortowanie
Dim sWpisy(9) As String
Dim iLicznik As Integer
Dim iLicznik2 As Integer
Dim sTymczasowa As String
sWpisy(0) = "Jerzy"
sWpisy(1) = "Patrycja"
sWpisy(2) = "Krzysztof"
sWpisy(3) = "Tomasz"
sWpisy(4) = "Michał"
sWpisy(5) = "Dawid"
sWpisy(6) = "Katarzyna"
sWpisy(7) = "Zuzanna"
sWpisy(8) = "Edward"
sWpisy(9) = "Krystyna"
For iLicznik = 0 To 9
For iLicznik2 = iLicznik + 1 To 9
If sWpisy(iLicznik) > sWpisy(iLicznik2) Then
sTymczasowa = sWpisy(iLicznik)
sWpisy(iLicznik) = sWpisy(iLicznik2)
sWpisy(iLicznik2) = sTymczasowa
End If
Next iLicznik2
Next iLicznik
For iLicznik = 0 To 9
Print sWpisy(iLicznik)
Next iLicznik
End Sub