Шаг 71.
Досрочный выход из цикла

    На этом шеге мы узнаем как досрочно выйти из цикла.

    Обычно любой оператор цикла выполняется столько раз, сколько определено его параметрами, но иногда необходимо прервать выполнение цикла, например, в результате выполнения какого-либо условия. Для этих целей в VBScript существует несколько операторов Exit безусловного выхода из конструкций цикла:

    Их можно использовать в любом месте в теле цикла, но обычно они используются совместно с операторами условия.

    Приведем пример использования рассмотренных конструкций. Пусть имеется массив A(10), состоящий из целых чисел. Нужно определить, есть ли в этом массиве число 5.

    Текст HTML-документа, решающего эту задачу, может быть следующим:

<HTML>
<HEAD>
<TITLE>Пример №1</TITLE>
<SCRIPT LANGUAGE=VBScript>
<!--
Sub Button1_OnClick()
  Dim A(10)
  'Строка для вывода.
  S = "Массив: "
  'Заполнение массива значениями от 0 до 10.
  For i = 0 To 10  
    A(i) = Round(Rnd()*10)
    S = S&A(i)&" "
  Next
  'Решение задачи.
  F = 0 'Флаг наличия числа 5.
  For i = 0 To 10  
    If A(i) = 5 Then
        F = 1 'Число 5 найдено.
        Exit For
    End If
  Next
  'Проверка флага.
  If F = 0 Then 
    Alert S&chr(10)&chr(13)&"Числа 5 в массиве нет."
  Else
    Alert S&chr(10)&chr(13)&"Число 5 в массиве есть."
  End If
End Sub
'-->
</SCRIPT>
</HEAD>
<BODY>
<H2>Демонстрация конструкции Exit For</H2>
Щелчок по кнопке выводит элементы массива и сообщение, есть ли в нем число 5.
<FORM>
<INPUT TYPE="BUTTON" NAME="BUTTON1" Value="Exit For"> 
</FORM>
</BODY>
</HTML>
Текст этой программы можно взять здесь.

    Результат работы этого примера изображен на рисунке 1.


Рис.1. Результат использования цикла For Each ... Next

    Обратите внимание на конструкцию chr(10)&chr(13). Она используется тогда, когда требуется последующую информацию разместить с новой строки.

    Следующий шаг будет посвящен решению задач.




Предыдущий шаг Содержание Следующий шаг