Edukiak
Indizea 🔎︎

# 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: Berdin ikurraren eskuineko balioari (start) hasieran esleitutako counter begizta-kontagailua. Zenbakizko aldagaiak soilik dira baliozkoak. Begizta-kontagailua step aldagaiaren arabera handitzen edo txikitzen da, end pasatu arte.

start: Begiztaren hasierako balioa definitzen duen zenbakizko balioa.

end: Begiztaren amaierako balioa definitzen duen zenbakizko balioa.

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

counter aldagaia txikitzen den neurrian, LibreOffice Basic-ek egiaztatzen du funtzioa end baliora iritsi den ala ez. counter aldagaiak end balioa gainditzen duenean, begizta automatikoki amaitzen 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.

Kontagailu-aldagaia atzerantz zenbatzean, LibreOffice Basic lengoaiak egiaztatzen du horrek amaierako balioa goitik edo behetik gainditzen duen. Begizta amaitzen da counter aldagaiak end baino handiagoa denean ('Step' balio positiboa) edo end baino txikiagoa denean ('Step' 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...
          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

Hurrengo adibideak, habiaratutako bi begizta erabiltzen ditu eduki anitzekin beteta dagoen eta 10 elementu dituen kate-matrize bat ( sEntry() ) ordenatzeko:

    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