В данной статье мы с вами рассмотрим операторы vbs сценариев, а точнее условные операторы языка vbscript. Условные операторы vbs как и в многих других языках программирования позволяют управлять логикой выполнения кода. Давайте сразу к делу, в этой публикации мы рассмотрим следующие условные операторы языка vbscript: if…Then, if…Then…Else, if…Then…Elseif и оператор выбора Select…Case.
Ну, что же, давайте по порядку.
if…Then — Данная конструкция является самой простой. После ключевого слова if следует проверка условия, если оно истинно, и выполняется, то следует выполнение строки, которая идёт за ключевым словом Then:
if <проверка условия> then <выражение>
if…Then…Else — Данный vbs оператор по сравнению с предыдущей конструкцией имеет дополнительное ключевое слово Else. Данное выражение удобно в том случае, если нам нужно проверить условие, и в зависимости от результата проверки, выполнить то или иное действие. Тут, как и прежде, после ключевого слова if следует проверка условия, если оно истинно (выполняется), то следует выполнение строчки (строк) кода, что находится после ключевого слова Then, если же условие не выполняется, следует выполнение строки кода, что находится после Else:
if <проверка условия> then <выражение1> else <выражение2>
if…Then…Elseif — Этот условный оператор vbs содержит в себе, фактически два оператора vbs (if…Then), то есть, сначала, как и прежде следует проверка условия, далее, если условие истинно, идёт выполнение кода после ключевого Then, если же условие проверки не выполняется (ложное), то идет новая проверка, после ключевого слова Elseif, далее могут следовать заново ключевые слова then и else:
if <проверка условия1> then <выражение1> elseif < проверка условия2><новые условные операторы vbs>
Стоит помнить, что, для закрытия блока условного оператора vbs следует в конце прописывать ключевое слово Endif.
Что бы закрепить прочитанное, давайте рассмотрим следующий пример сценария vbscript. Так как изначально, назначением языка программирования было решение математических уравнений и выполнение различных математических вычислений, мы, что бы не изменять традиции, решим простое квадратное уравнение:
' ***************************************************************************** ' Пример работы с условным оператором if ' if_then.vbs ' ***************************************************************************** ' Включаем проверку переменных Option Explicit ' Объявляем переменные Dim x1, x2, x ' варианты решения Dim a, b, c ' будут хранить значения Dim D, msg ' Дискриминант и сообщение ' Назначаем значения a=-10 b=20 c=100 'Ищем дискриминант D=b^2-4*a*c 'Если дискриминант равен нулую - одно решение if D=0 then x=-b/(2*a) msg="Уравнение имеет одно решение, x ровно: " & x 'Если дискриминант больше нуля - два решения elseif D>0 then x1=(-b+sqr(D))/(2*a) x2=(-b-sqr(D))/(2*a) msg="Уравнение имеет два решения" & vbCrLf & "x1 ровно: " & x1 & vbCrLf & "x2 ровно: " & x2 'Если дискриминант меньше нуля - нет решения else msg="Нет решения (комплексные числа)" End If MsgBox msg |
Тут в принципе всё просто, вначале мы находим дискриминант, результаты решения могут быть только три, если дискриминант равен нулю, то уравнение имеет только одно решение, если значение дискриминант больше нуля – то у уравнения есть два решения, ну и третий вариант – значение D отрицательное, в таком случае у уравнения нет решений, хотя… они есть, только мы получим комплексные числа.
Хорошо, теперь давайте рассмотрим условный оператор выбора vbs сценариев – select case:
Select…Case — Конструкция Select…Case полезна в том случае, когда в результате математических вычислений и не только, мы знаем, какое значение переменной можем получить, и в зависимости от значения, нужно выполнить то или иное выражение. В отличии от if тут нет проверки условия, поэтому для решения того же квадратного уравнения мы не можем воспользоваться оператором vbs select…case, если только не прибегать к некоторым ухищрениям.
Общий синтаксис:
Select <переменная> Case
Case <значение1>
Case <значение2>
Case <значение3>
…
Case <значениеn>
Case Else
End Select
Давайте рассмотрим такой пример:
' ***************************************************************************** ' Пример работы с условным оператором select...case ' select_case.vbs ' ***************************************************************************** ' Включаем проверку переменных Option Explicit ' Объявляем переменные Dim a, b a=10 Select case a case 5 b=a+500 case 10 b=a+100 case else b=a End Select MsgBox b |
Параллельно с условными операторами vbs часто применяются логические операторы, наиболее популярны: And – И, Not – НЕТ иOr – ИЛИ.
на картинке ошибка
не правильно
Select переменная case
правильно Select case переменная