Операторы условия
Операторы условия
КонструкцияIf... Then
Конструкция If.. .Then применяется в том случае, когда необходимо выполнить один или группу операторов при соблюдении определенного условия, то есть когда значение заданного условия равно True.
Существует две разновидности данного оператора: однострочный и многострочный. Однострочный оператор имеет следующий синтаксис:
IF условие Then конструкция
В этом операторе условие и выполняемые при соблюдении условий действия располагаются в одной строке.
В том случае, если при выполнении условия требуется выполнение блока операторов, используется многострочный оператор, имеющий следующий синтаксис:
IF условие Then
конструкции
End If
Исходя из синтаксиса, приведенные ниже программные коды выполняют одни и те же действия:
Однострочный оператор
IF y>20 Then y=2
Многострочный оператор
IF y>20 Then
У=2
End If
После имени конструкции if должно следовать логическое выражение, содержащее условие. В качестве условия могут выступать следующие логические выражения:
- сравнение переменной с другой переменной, константой или функцией;
- любая переменная, выражение, поле базы данных или функция, принимающие значения True или False.
Ключевое слово End if обозначает конец многострочной конструкции и его наличие в команде в этом случае обязательно. Если указанное условие выполняется, то есть результат проверки равен True, то Visual Basic выполнит конструкции, следующие за ключевым словом Then. Если условие не выполняется, то Visual Basic переходит к выполнению операторов, следующих за указанным оператором.
Конструкция If... Then... Else
Конструкция if.. .Then.. .Else аналогична конструкции if...Then, но позволяет задать действия, исполняемые как при выполнении условий, так и в случае их невыполнения.
Конструкция имеет следующий синтаксис:
IF условие Then
Конструкции для обработки истинного условия
Else
Конструкции для обработки ложного условия
End If
Ключевые слова IF и End if имеют тот же смысл, что и в конструкции If...Then. Если заданное в конструкции условие не выполняется (результат проверки равен False), и конструкция содержит ключевое слово Else, Visual Basic выполнит последовательность конструкций, расположенных следом за Else. После чего управление перейдет к конструкции, следующей после End If.
Например:
If x >= 0 Then
Label1.Caption = "Значение больше или равно 0"
Else
Labell.Caption = "Значение меньше 0"
End If
Команда if может проверить только одно условие. Если вам потребуется осуществить переход управления в зависимости от результатов проверки нескольких условий, то такая возможность существует. Дополнительное условие можно задать с помощью оператора Elseif. Оно будет анализироваться только в том случае, если предыдущее условие ложно.
Например:
If x > 0 Then
Label1.Caption = "Значение положительное"
Elseif x = 0 Then
Label1.Caption = "Значение равно 0"
Else
Labell.Caption = "Значение отрицательное"
End If
Конструкция Select Case
Конструкция Select case позволяет
обрабатывать в программе несколько условий и аналогична блоку конструкций if..
.Then.. .Else. Эта конструкция состоит из анализируемого выражения и набора
операторов case на каждое возможное значение выражения. Работает эта конструкция
следующим образом. Сначала Visual Basic вычисляет значение заданного в
конструкции выражения. Затем полученное значение сравнивается со значениями,
задаваемыми в операторах case конструкции. Если найдено искомое значение,
выполняются команды, приписанные данному оператору case. После завершения
выполнения конструкций управление будет передано конструкции, следующей за
ключевым словом End Select.
Синтаксис конструкции Select Case
следующий:
Select Case сравниваемоеЗначение
CASE значение1
конструкция1
CASE значение2
конструкция2
. . .
End Select
В начале конструкции расположены
ключевые слова select case, указывающие, что расположенный рядом с ними параметр
сравниваемоеЗначение будет проверяться на несколько значений. Далее следуют
группы команд. начинающиеся с ключевого слова Case. Если параметр
сравниваемоеЗначение равен значению, указанному в текущем операторе case, то
будут выполняться команды, расположенные между этим и следующим ключевым словом
case.
В качестве примера воспользуемся
конструкцией Select Case для решения предыдущей задачи:
Select Case x
CASE 1 То 9
Labell.Caption = "Значение больше
0"
CASE 0
Labell.Caption = "Значение равно 0"
CASE -9 То -1
Label1.Caption = "Значение меньше
0"
End Select
Замечание
Обратите внимание, что Select
Case может выполнить не более одной из содержащихся в ней
последовательностей конструкций. После того как одно из условий оказалось
равно True, и была выполнена соответствующая последовательность
конструкций, Select Case завершит свою работу. Остальные условия проверяться
не будут.