For...Next instrukzioa
For...Next blokearen barruko instrukzioak errepikatzen ditu zenbait aldiz.
Sintaxia:
For counter=start To end [Step step]
instrukzioen blokea
[Exit For]
instrukzioen blokea
Next [counter]
For Each item In list
instrukzioen blokea
[Exit For]
instrukzioen blokea
Next [item]
Aldagaiak:
counter: Loop counter initially assigned the value to the right of the equal sign (start). Only numeric variables are valid. The loop counter increases or decreases according to the variable step until end is passed.
hasiera: Begiztaren hasierako balioa definitzen duen zenbakizko balioa.
amaiera: Begiztaren amaierako balioa definitzen duen zenbakizko balioa.
urratsa: Begizta-kontagailua zenbatean handitu edo txikituko den ezartzen du. Ez bada urratsa zehazten, begizta-kontagailua 1 balioarekin handitzen da. Kasu horretan, amaiera balioak hasiera balioak baino handiagoa izan behar du. Nahi bada kontagailua txikitu, amaiera balioak hasiera balioak baino txikiagoa izan behar du eta urratsa parametroari balio negatiboa eman behar zaio.
For...Next begiztak begiztako instrukzio guztiak errepikatzen ditu parametroek zehazten duten adina alditan.
As the counter variable is decreased, LibreOffice Basic checks if the end value has been reached. As soon as the counter passes the end value, the loop automatically terminates.
For...Next instrukzioak habiara daitezke. Next instrukzioaren ondoren aldagairik zehazten ez baduzu, Next instrukzioak azken For instrukzioari egingo dio erreferentzia automatikoki.
0 balioko igoera zehazten baduzu, For eta Next instrukzioak etengabe errepikatuko dira.
When counting down the counter variable, LibreOffice Basic checks for overflow or underflow. The loop ends when counter exceeds end (positive Step value) or is less than end (negative Step value).
Erabili Exit For instrukzioa begiztatik baldintzarik gabe irteteko. Instrukzioak For...Next begiztaren barruan egon behar du. Irteteko baldintzak probatzeko, erabili If...Then instrukzioa hemen azaltzen den bezala:
For...
instrukzioen blokea
If condition = True Then Exit For
instrukzioen blokea
Next
Habiaratutako For...Next begiztetan, begiztatik baldintzarik gabe irteten bazara Exit For erabilita, begizta bakar batetik soilik irtengo zara.
Adibideak
The following example uses two nested loops to sort a string array with 10 elements ( sEntry() ), that is filled with various contents:
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
Honek matrize baten edukia arakatzen du matrizeko elementu guztiak bistaratzeko.
Sub zerrenda_iterazioa
mahai-tresnak = Array("sardexka", "labana", "koilara")
For Each elementua in mahai-tresnak
Print elementua
Next ' elementua
End Sub