Pomoc LibreOffice 24.8
Powtarza instrukcje między blokiem For...Next określoną liczbę razy.
For counter=start To end [Step step]
blok instrukcji
[Exit For]
blok instrukcji
Next [counter]
For Each item In list
blok instrukcji
[Exit For]
blok instrukcji
Next [item]
counter: Licznik pętli counter początkowo przypisuje wartość po prawej stronie znaku równości (start). Poprawne są tylko zmienne numeryczne. Licznik pętli zwiększa się lub zmniejsza zgodnie ze zmienną step aż do przejścia end.
start: Zmienna liczbowa określająca wartość początkową na początku pętli.
end: Zmienna numeryczna, która definiuje końcową wartość na końcu pętli.
step: Ustawia wartość, o którą ma być zwiększany lub zmniejszany licznik pętli. Jeśli step nie jest podany, licznik pętli jest zwiększany o 1. W tym przypadku end musi być większa niż start. Jeśli chcesz zmniejszyć counter, end musi być mniejsza niż start, a step musi mieć przypisaną wartość ujemną.
Pętla For...Next powtarza wszystkie zawarte wewnątrz instrukcje tyle razy, ile jest to określone przez parametry instrukcji.
Gdy zmienna counter jest zmniejszana, LibreOffice Basic sprawdza, czy została osiągnięta wartość end. Gdy tylko counter przekroczy wartość end, pętla automatycznie się kończy.
Instrukcje For...Next można zagnieżdżać. Jeśli po instrukcji Next nie zostanie podana nazwa zmiennej, Next przyjmuje zmienną określoną przy ostatniej instrukcji For.
W przypadku określenia zerowej wartości kroku instrukcje pomiędzy For i Next są powtarzane nieprzerwanie.
Podczas odliczania zmiennej licznika LibreOffice Basic sprawdza, czy nie występuje przepełnienie lub niedopełnienie. Pętla kończy się, gdy wartość count przekroczy end (dodatnia wartość Step) lub będzie mniejsza niż end (ujemna wartość Step).
Do bezwarunkowego zakończenia pętli można użyć instrukcji Exit For. Instrukcja ta musi znajdować się wewnątrz pętli For...Next. W celu sprawdzenia warunku wyjścia z pętli można użyć instrukcji If...Then, jak przedstawiono w poniższym przykładzie:
For...
blok instrukcji
If condition = True Then Exit For
blok instrukcji
Next
W zagnieżdżonych pętlach For...Next, jeśli opuścisz pętlę bezwarunkowo za pomocą Exit For, zostanie zakończona tylko jedna pętla.
Poniższy przykład wykorzystuje dwie zagnieżdżone pętle do sortowania tablicy ciągów zawierającej 10 elementów ( sEntry() ), która jest wypełniona różnymi treściami:
Sub ExampleSort
Dim sEntry(9) As String
Dim iCount As Integer, iCount2 As Integer
Dim sTemp As String
sEntry = Array("Jerry","Patty","Kurt","Thomas","Michael",_
"David","Cathy","Susie","Edward","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
Spowoduje to zbadanie zawartości tablicy w celu wyświetlenia każdego zawartego w niej elementu.
Sub list_iteration
sztućce = Array("widelec", "nóż", "łyżka")
For Each element w sztućce
Print element
Next ' element
End Sub