Інструкція For...Next

Повторює інструкції між For і Next вказану кількість разів.

Синтаксис:

For лічильник=початок To кінець [Step крок]

блок інструкцій

[Exit For]

блок інструкцій

Next [лічильник]

Змінні:

Лічильник: лічильником циклів спочатку присвоюється значення праворуч від знака рівності (Початок). Допустимі тільки числові змінні. Лічильник циклів збільшується або зменшується в залежності від значення змінної Крок до досягнення значення Кінець.

Початок: числова змінна, яка визначає початкове значення лічильника на початку циклу.

Кінець: числова змінна, яка визначає останнє значення лічильника в кінці циклу.

Крок: задає значення, на яке збільшується або зменшується лічильник циклу. Якщо параметр не вказано, лічильник циклу збільшується на 1. У цьому випадку параметр Кінець повинен бути більший, ніж параметр Початок. Якщо потрібно зменшувати параметр Лічильник, параметр Кінець повинен бути менший параметра Початок, а параметру Крок необхідно присвоїти від'ємне значення.

Цикл For...Next повторює усі інструкції в циклі число раз, яке визначається параметрами.

По мірі зміни змінної лічильника LibreOffice Basic перевіряє, чи досягнуто значення Кінець. Після проходження лічильником кінцевого значення цикл автоматично завершується.

Інструкції For...Next можуть бути вкладеними. Якщо змінна, наступна за інструкцією Next, не вказана, інструкція Next автоматично посилається на останню інструкцію For.

Якщо задається приріст 0, інструкції між For і Next безперервно повторюються.

При відліку змінної лічильника LibreOffice Basic перевіряє переповнення або втрату значущості. Цикл завершується, якщо значення Лічильник перевищує значення Кінець (додатне значення Крок) або стає меншим значення Кінець (від'ємне значення Крок).

Інструкція Exit For використовується для безумовного виконання циклу. Ця інструкція повинна знаходитися всередині циклу For...Next. Використовуйте інструкцію If...Then для перевірки умови виходу наступним чином:

For...

інструкції

If умова = True Then Exit For

інструкції

Далі

Примітка. У вкладених інструкціях 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(0) = "Юрій"

    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