Архитектура Microsoft Windows для разработчиков


Условное ветвление


Операторы условного ветвления определяют, будет ли выполняться данный фрагмент сценария и при каких условиях. Например, проверяется состояние переменных или введенная пользователем информация. Операторы условного ветвления отличаются от операторов циклов тем, что фрагмент сценария при условном ветвлении может выполняться не более одного раза. В VBScript 2.0 имеется несколько операторов условного ветвления.

Оператор

Назначение

If...Then

Выполняет один из двух фрагментов кода в зависимости от того, истинно или ложно выражение

Select...Case

Выполняет один из фрагментов кода в зависимости от значения переменной

Вы можете использовать выражение с оператором If... Then... Else, чтобы выяснить истинность или ложность условия и, в зависимости от результата, выполнить один из двух фрагментов кода.

Пример Это условное выражение вычисляет процент премии в зависимости от значения переменной Sales:

If Sales > 100000 Then



Bonus =.10

Elself Sales > 50000 Then

Bonus =.05

Else

Bonus =.02

End If

VBScript 2.0 теперь поддерживает оператор Select...Case, который полезен, когда переменная-условие имеет больше двух значений. Хотя и в этом случае можно обойтись оператором If...Then, Select...Case проще и удобнее.

Пример Здесь выполняются те же действия, что и в предыдущем случае, но средствами оператора Select...Case:

Select Case Sales

Case 100000

Bonus =.1

Case 50000, 75000

Bonus =.05

Case Else

Bonus =.02

End Select

Примечание В операторе Select...Case не допускается использование диапазонов значений и символов сравнения «больше чем» (>) или «меньше чем» (<).

> Использование конструкции Select Case в VBScript

  1. Откройте Web-узел Exercise9 в Frontpage 98.
  2. Откройте Home Page в Frontpage Editor.
  3. Правой кнопкой мыши щелкните кнопку Square и выберите Script Wizard.
  4. В событие OnClick кнопки btnSquareIt введите приведенный ниже код и на жмите ОК:

    Dim Result

    On Error Resume Next

    Result = SquareIt(T1.Value)

    Select Case Result

    Case 1,2,3



    Содержание раздела