- •Основы языка 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
- •Как это работает
- •Проверка формы
- •Отправка формы
Задание 4. Управляющие операторы vbScript
VBScript позволяет управлять процессом обработки данных с помощью условных переходов и циклов. С помощью условных выражений вы можете разветвлять сценарий, используя критерий для определения, какую задачу выполнять. Циклы позволяют ваммногократно повторять однотипные действия. И те, и другие помогают создать более сложные и функциональные страницы.
Условные выражения
В VBScript есть две формы условных выражений:
If ... Then ... Else
Select ... Case
If ... Then ... Else
Это выражение используется для проверки условия, которое может оказаться истиным или ложным, и затем, в зависимости от результата сравнения, для выполнения одной или нескольких строк кода. Вместо того чтобы рассуждать о теоретических возможностях блока If, мы проанализируем несколько примеров.
Самый простой способ использования блока If выглядит так: If AmountPurchased >10000 Then DiscountAmount = AmountPurchased * .10 В этом премере условие таково: If AmountPurchased >10000 В нем просто сравнивается с 10 000 значение переменной (объем покупок). Если объем покупок больше 10 000, условие выполняется. В этом случае выполняется выражение, находящееся в той же строке: DiscountAmount = AmountPurchased * .10
Теперь рассмотрим более сложную версию этой конструкции. Здесь мы можем выполнить несколько действий подряд в случае выполнения условия:
If AmountPurchased >10000 Then
DiscountAmount = AmountPurchased * .10
Subtotal=AmountPurchased - DiscountAmount
End If
В такой форме этой конструкции в случае выполнения условия могут быть выполнены одно или несколько выражений. Для этого нужные выражения помещают между операторами Then и End If.
Следующей формой конструкции является формат If ... Then ... Else. Эта форма отличается тем, что в случае истинности условного выражения выполняется один блок кода, в случае, если оно ложно, -- другой блок.
If AmountPurchased >10000 Then
DiscountAmount = AmountPurchased * .10
Subtotal=AmountPurchased - DiscountAmount
Else
HandlingFee = AmountPurchased * .3
Subtotal=AmountPurchased + HandlingFee
End If
В этом примере, когда условие выполнено, т.е. стоимость покупки больше $10 000, покупатель получает скидку 10%. Если меньше -- скидка заменяется на 3% комиссионных.
И последняя конструкция функции If -- конструкция If ... Then ... Else If. В этой форме проверяются все условия либо до тех пор, пока не будет найдено выполненное, либо до выражения Else.
If AmountPurchased >10000 Then
DiscountAmount = AmountPurchased * .10
Subtotal=AmountPurchased - DiscountAmount
Else
If AmountPurchased >5000 Then
DiscountAmount = AmountPurchased * .05
Subtotal=AmountPurchased - DiscountAmount
Else
HandlingFee = AmountPurchased * .3
Subtotal=AmountPurchased + HandlingFee
End If
В этом примере покупатель получает скидку 10% ну покупку стоимостью свыше $10 000, 5% -- на покупку стоимостью свыше $5000, или с него удерживаются комиссионные в размере 3% во всех остальных случаях.
Как можно заметить, VBScript дает вам много возможностей для построения блока If.
Select ... Case
Конструкция Select Case является альтернативной блоку If ... Then ... Else, когда появляются сложные условия. Она хорошо подходит для ситуации, в которой есть несколько возможных значений для проверяемого условия. Так же, как и предыдущая, конструкция Select Case проверяетусловие на основе результата выполняет серию действий.
Синтаксис выглядит так:
Select Case условие
Case значение
Case значение
...
Case Else
End Select
Например, слудующий блок присваивает различные почтовые издержки в зависимости от штата, в который будет послан продукт:
Select Case Document.frmOrder.txtState.Value
Case "California"
ShippingFee = .04
Case "Florida"
ShippingFee = .03
Case Else
ShippingFee = .02
End Select
Такая конструкция проверяет каждое из условий Case до тех пор , пока не найдет выполненное условие. Если такого условия не будет найдено, будут выполнены выражения , находящиеся в Case Else.
СОВЕТ Даже если это не является необходимым, в конструкцию Select Case всегда включайте блок Case Else для обработки условий, которые вам могут казаться невозможными. Для таких условий просто включите функцию Message Box, которая выдаст сообщение о том, что происходит что-то непредвиденное.