For...Next instrukzioa

For....Next blokearen arteko instrukzioak zehaztutako hainbat alditan errepikatzen ditu.

Sintaxia:


For kontagailua=hasiera To amaiera [Step urratsa]
instrukzio-blokea
[Exit For]
instrukzio-blokea
Next [kontagailua]

Aldagaiak:

Kontagailua: begizta-kontagailuak hasieran balioa berdin ikurraren eskuinera (hasiera) esleitzen du. Zenbakizko aldagaiak bakarrik dira baliozkoak. Begizta-kontagailuak gora edo behera egiten du Urratsa aldagaiaren arabera Amaiera igaro arte.

Hasiera: begiztaren hasierako balioa zehazten duen zenbakizko aldagaia.

Amaiera: begiztaren amaierako balioa definitzen duen zenbakizko aldagaia.

Urratsa: begizta-kontagailuko balioa zenbat handitu edo txikitu behar den zehazten du. Urratsa aldagaia zehazten ez bada, begizta-kontagailua puntu bat handituko da. Kasu honetan, Amaiera aldagaiak Hasiera aldagaia baino handiagoa izan behar du. Kontagailua txikitu nahi baduzu, Amaiera-ek Hasiera baino txikiagoa izan behar du, eta Urratsari balio negatiboa esleitu behar zaio.

For...Next begiztak begiztako instrukzio guztiak errepikatzen ditu parametroek zehazten duten adina alditan.

Kontagailua aldagaia txikitzen denean, LibreOffice Basic-ek amaierako baliora iritsi den ala ez egiaztatzen du. Kontagailuak amaierako balioa pasatu bezain laster, begizta automatikoki bukatu egiten da.

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.

Kontagailua aldagaia beherantz kontatzen ari denean, LibreOffice Basic-ek gehiegikorik edo gutxiegikorik dagoen egiaztatzen du. Begizta amaitu egiten da Kontagailuak Amaiera gainditzen duenean (urratsa balio positiboa) edo Amaiera baino txikiagoa denean (urratsa balio negatiboa).

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...

instrukzioak

If baldintza = True Then Exit For

instrukzioak

Next

Oharra: Habiaratutako For...Next begiztetan, begizta batetik Exit For erabiliz baldintzarik gabe irteten bazara, begizta bakarretik irtengo zara.

Adibidea:

Ondorengo adibidean, habiaratutako bi begizta erabili dira 10 elementutako ( sSarrera() ) matrize-katea ordenatzeko. Aurrena hainbat edukiz beteta daude begizta horiek:


Sub ExampleSort
Dim sEntry(9) As String
Dim iCount As Integer
Dim iCount2 As Integer
Dim sTemp As String
    sSarrera(0) = "Iñaki"
    sSarrera(1) = "Ane"
    sSarrera(2) = "Jon"
    sSarrera(3) = "Tomas"
    sSarrera(4) = "Mikel"
    sSarrera(5) = "Imanol"
    sSarrera(6) = "Amaia"
    sSarrera(7) = "Miren"
    sSarrera(8) = "Andoni"
    sSarrera(9) = "Ainara"
    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