Module
Contents
Index 🔎︎

# 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