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

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

Σύνταξη:

Διάγραμμα πρότασης For


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

Διάγραμμα δήλωσης For Each


  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
note

Στους ένθετους βρόχους 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

Παρακαλούμε, υποστηρίξτε μας!