Περιεχόμενα
Δείκτης 🔎︎

# Πρόταση For...Next

Επαναλαμβάνει τις προτάσεις μεταξύ της ομάδας For...Next καθορισμένο αριθμό φορών.

## Σύνταξη:

    For counter=start To end [Step step]
        μπλοκ πρότασης (statement-block)
        [Exit For]
        μπλοκ πρότασης (statement-block)
    Next [counter]

      For Each item In list
          μπλοκ πρότασης (statement-block)
      [Exit For]
          μπλοκ πρότασης (statement-block)
      Next [item]

## Μεταβλητές:

μετρητής: Ο counter βρόχου αποδόθηκε αρχικά στην τιμή στα δεξιά του συμβόλου ίσον (start). Μόνο αριθμητικές τιμές είναι έγκυρες. Ο μετρητής βρόχου αυξάνεται ή μειώνεται σύμφωνα με τη μεταβλητή step μέχρι να μεταβιβαστεί το end.

έναρξη: Αριθμητική μεταβλητή που καθορίζει την αρχική τιμή στην αρχή του βρόγχου.

τέλος: Αριθμητική μεταβλητή που καθορίζει την τελική τιμή στο τέλος του βρόχου.

βήμα: Ορίζει την τιμή κατά την οποία ο μετρητής βρόχου αυξάνεται ή μειώνεται. Εάν το step (βήμα) δεν καθορίζεται, ο μετρητής βρόχου αυξάνεται κατά 1. Σε αυτήν την περίπτωση, το end (τέλος) πρέπει να είναι μεγαλύτερο από την start (έναρξη). Εάν θέλετε να μειώσετε τον counter (μετρητή), το end (τέλος) πρέπει να είναι μικρότερο από την start (έναρξη) και το step (βήμα) να έχει αρνητική τιμή.

Ο βρόχος For...Next χρησιμοποιείται για να επαναλάβει όλες τις προτάσεις μεταξύ αυτών των δύο λέξεων-κλειδιών όσες φορές καθορίζεται από τις παραμέτρους.

Καθώς η μεταβλητή του counter (μετρητή) μειώνεται, το LibreOffice Basic ελέγχει εάν η τιμή end (τέλους) έχει επιτευχθεί. Μόλις ο counter (μετρητής) ξεπεράσει την τιμή end (τέλους), ο βρόχος τελειώνει αυτόματα.

Είναι δυνατό να γίνει ένθεση των προτάσεων For...Next. Αν δεν καθορίσετε μια μεταβλητή που να ακολουθεί την πρόταση Next, η πρόταση Next αναφέρεται πάντα αυτόματα στην πιο πρόσφατη πρόταση For.

Αν καθορίσετε βήμα του μετρητή ίσο με 0, οι προτάσεις μεταξύ της For και της Next επαναλαμβάνονται χωρίς διακοπή.

Κατά την αντίστροφη μέτρηση της μεταβλητής του μετρητή, το LibreOffice Basic ελέγχει για υπερχείλιση ή υποχείλιση. Ο βρόχος τελειώνει όταν ο counter (μετρητής) ξεπεράσει το end (τέλος) (θετική τιμή βήματος) ή είναι ίσος με end (τέλος) (αρνητική τιμή βήματος).

Χρησιμοποιώντας την πρόταση Exit For, μπορεί να γίνει έξοδος από το βρόχο χωρίς όρους. Αυτή η πρόταση θα πρέπει να είναι εντός ενός βρόχου For...Next. Χρησιμοποιήστε την πρόταση If...Then για να ελέγξετε τη συνθήκη εξόδου ως εξής:

      For...
          μπλοκ πρότασης (statement-block)
          If condition = True Then Exit For
          μπλοκ πρότασης (statement-block)
      Next

Στους ένθετους βρόχους For...Next, εάν εξέλθετε από βρόχο χωρίς όρους με Exit For, εξέρχεται μόνο ένας βρόχος.

## Παραδείγματα

Το παρακάτω παράδειγμα χρησιμοποιεί δύο ένθετους βρόχους για να ταξινομήσει πίνακα συμβολοσειρών με 10 στοιχεία ( sEntry() ), που συμπληρώνονται με διάφορα περιεχόμενα:

    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

Αυτό εξερευνά το περιεχόμενο πίνακα για να εμφανίσει κάθε στοιχείο που περιέχει.

      Sub list_iteration
          μαχαιροπήρουνα = Array("πηρούνι", "μαχαίρι", "κουτάλι")
          Για κάθε στοιχείο στα μαχαιροπήρουνα (cutlery)
              Εκτύπωση στοιχείου
          Next ' item
      End Sub