- •Основы языка vbScript
- •Оглавление
- •Задание 1. Вставка сценария на vbScript в Web-страницы
- •Работа с несовместимыми броузерами
- •Первое упражнение по языку vbScript
- •Упражнение 1: вставка сценария на vbScript на страницу
- •Создание документа html
- •Добавление сценария
- •Как это работает
- •Лучший метод для внедрения vbScript
- •Как это работает
- •Задание 2. Работа с переменными
- •Объявление переменных
- •Правила для названия переменных
- •Варианты и подтипы
- •Присваивание значений
- •Сферы влияния переменных
- •Константы
- •Второе упражнение по языку vbScript
- •Создание документа
- •Добавление vbScript
- •Как это работает
- •Задание 3. Объекты и vbScript
- •Добавление объектов на страницу
- •Связывание кода на vbScript с объектами
- •Третье упражнение по vbScript
- •Упражнение 3: работа с объектами
- •Исследование документа html
- •Добавление vbScript
- •Как это работает
- •Задание 4. Управляющие операторы vbScript
- •Условные выражения
- •Операторы цикла
- •Четвертое упражнение по vbScript
- •Упражнение 4: работа с циклами
- •Как это работает
- •Просмотр товаров
- •Вычисление скидок
- •Развитие этого приложения
- •Задание 5. Использование vbScript при создании форм
- •Проверка содержимого ваших форм
- •Проверка вводимой информации
- •Как это работает
- •Отправка формы
- •Пятое упражнение по vbScript
- •Упражнение 5: как проверить и отправить форму
- •Исследование документа html
- •Как это работает
- •Проверка формы
- •Отправка формы
Операторы цикла
VBScript поддерживае четыре формы циклов:
For ... Next
For Each ... Next
Do ... Loop
While ... WEnd.
Эти четыре выражения могут быть разделены на две группы. Конструкции с оператором For лучше всего использовать, когда вы хотите проделать некоторые действия определенное количество раз. Конструкции, содержащие While, лучше всего использовать для неограниченного количества повторений.
For ... Next
Эта структура применяется, когда нужно повторить действия определенное количество раз. в нем используется переменная - счетчик циклов, которая увеличивается или уменьшается с каждым новым циклом. В следующем примере показывается простой цикл For:
For counter = 1 to 12
result = 5 * counter
MsgBox counter & " пять раз будет " & result
Next counter
Переменная counter имеет числовое значение , которое увеличивается или уменьшается. Число 1 определяет его начальное значение, 12 - конечное значение, шаг по умолчанию равен 1. Когда этот цикл завершиться , появится 12 окон сообщения, в которых будет написана таблица умножения на 5 чисел от 1 до 12.
В данном примере переменная counter увеличивается на 1 в конце каждого цикла. Заданием необязательного параметра Step мы можем изменить эту величину:
For counter = 1 to 12 Step 2
result = 5 * counter
MsgBox counter & " пять раз будет " & result
Next counter
Таким образом, слегка изменив код, мы получим результаты перемножения лишь некоторых чисел из данного диапазона. Можно осуществить и цикл с обратным счетом, изменив параметр Step:
For counter = 12 to 1 Step -1
result = 5 * counter
MsgBox counter & " пять раз будет " & result
Next counter
Заметим, что в цикле с обратным счетом конечный номер меньше начального.
For Each ... Next
Эта конструкция похожа на предыдущую, отличаясь тем, что вместо заданного количества повторений цикл обрабатывает каждый элемент массива или коллекции.
Do ... Loop
Этот тип цикла повторяет выполнение выбранного блока кода до выполнения заданного условия. Обычно при использовании такой структуры проверяемое условие -- результат операции, выполняемой внутри цикла. Два типа этой структуры приведены далее. Это Do ... While и Do ... Until.
Do ... While
Цикл Do, содержащий ключевое слово While, выполняется до тех пор, пока проверяемое условие истино. Вы можете проверять это условие в начале цикла.
Do While условие
выражение
выражение
... ...
Loop
Или в конце цикла, как показано ниже:
Do
выражение
выражение
... ...
Loop While условие
Разница между этими способами заключается в том, что первый может никогда не выполнить содержащиеся в нем команды, а второй выполнит их как минимум один раз.
Do ... Until
Цикл Do, содержащий ключевое слово Until, выполняется до тех пор, пока проверяемое условие ложно. Как и в структуре Do ... While, вы можете поставить условие в начале цикла:
Do Until условие
выражение
выражение
... ...
Loop
Или в конце цикла, как показано ниже:
Do
выражение
выражение
... ...
Loop Until условие
Пример использования цикла Do ... Loop:
password = InputBox("Введите ваш пароль")
Do Until possword = "No Pasaran"
MsgBox "Неправильно введенный пароль. Попробуйте еще раз!"
password = InputBox("Введите ваш пароль")
Loop
В этом примере мы требуем ввести пароль перед выполнением условной части цикла в первый раз. Результат будет таким: если правильный пароль будет введен сразу, цикл не будет выполнен ни разу. Если пользователь введет неверный пароль, будут выполнены действия, указанные внутри цикла, то есть будет выдано сообщение и пользователю будет приедложен снова ввести пароль.
While ... WEnd
Cтруктура While ... WEnd выполняет цикл до тех пор, пока проверяемое условие верно. Если это так, она работает похоже на Do ... Loop, хотя и без ее гибкости.
Синтаксис структуры такой:
While условие
выражение
выражение
...
WEnd