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

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

Σύνταξη:

For counter=start To end [Step step]

ομάδα προτάσεων

[Exit For]

ομάδα προτάσεων

Next [counter]

Μεταβλητές:

Counter: Στον μετρητή βρόχου εκχωρείται αρχικά η τιμή στα δεξιά του συμβόλου της ισότητας (έναρξη). Μόνο αριθμητικές μεταβλητές είναι έγκυρες. Ο μετρητής βρόχου αυξάνεται ή μειώνεται ανάλογα με τη μεταβλητή Step, έως ότου πραγματοποιηθεί υπέρβαση της μεταβλητής End.

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

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

Step: Καθορίζει την τιμή κατά την οποία θα αυξηθεί ή θα μειωθεί ο μετρητής του βρόχου. Αν η μεταβλητή Step δεν έχει καθοριστεί, η τιμή του μετρητή αυξάνει κατά 1. Η μεταβλητή End πρέπει να είναι μεγαλύτερη της Start σε αυτή την περίπτωση. Αν θέλετε να μειώσετε τις τιμές της μεταβλητής Counter, η End πρέπει να είναι μικρότερη της Start, και θα πρέπει να εκχωρηθεί μια αρνητική τιμή.

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

Καθώς μειώνεται η μεταβλητή του μετρητή, η LibreOffice Basic ελέγχει αν έχει φτάσει στην τιμή τέλους. Αμέσως μόλις ο μετρητής προσπεράσει την τιμή τέλους, ο βρόχος τερματίζεται αυτόματα.

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

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

Όταν μετράει τη μεταβλητή μετρητή, η LibreOffice Basic ελέγχει για υπερχείλιση ή το αντίθετο. Ο βρόχος τερματίζεται όταν η μεταβλητή Counter υπερβεί την End (θετική τιμή Step) ή όταν γίνει μικρότερη της End (αρνητική τιμή Step).

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

For...

προτάσεις

If condition = True Then Exit For

προτάσεις

Next

Σημείωση: Σε ένθετους βρόγχους For...Next, αν βγείτε από ένα βρόχο χωρίς όρους με Exit For, θα γίνει έξοδος μόνο από ένα βρόχο.

Παράδειγμα

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

Sub ExampleSort

Dim sEntry(9) As String

Dim iCount As Integer

Dim iCount2 As Integer

Dim sTemp As String

    sEntry(10) =" Κώστας"

    sEntry(1) = "Δήμητρα"

    sEntry(2) =" Γιώργος"

    sEntry(3) = "Θωμάς"

    sEntry(4) = "Μιχάλης"

    sEntry(5) =" Γιάννης"

    sEntry(6) = "Κατερίνα"

    sEntry(7) =" Σούλα"

    sEntry(8) = "Πέτρος"

    sEntry(9) = "Χριστίνα"

    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