For...Next Statement

Повторяет инструкции между 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

инструкции

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(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

Please support us!