На этом шеге мы узнаем как досрочно выйти из цикла.
Обычно любой оператор цикла выполняется столько раз, сколько определено его параметрами, но иногда необходимо прервать выполнение цикла, например, в результате выполнения какого-либо условия. Для этих целей в 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). Она используется тогда, когда требуется последующую информацию разместить с новой строки.
Следующий шаг будет посвящен решению задач.