Размер шрифта
-
+

Visual Basic для новичков. Шаг за шагом. Самоучитель / справочник - стр. 24

Подпрограммы будут рассматриваться в следующей главе.

5.2. Условный переход If…Then… Else

Наиболее часто встречается инструкция условного перехода If…Then… Else. В упрощенном варианте эта инструкция может располагаться в одну строку, тогда ее синтаксис будет следующим:


If условие Then инструкция [Else инструкция_else]


Ключевое слово If (Если) начинает строку. После этого находится условие, представляющее собой булево выражение, в зависимости от значения которого происходит выполнение последующих инструкций:

• если результат = True (Истина), то выполняется инструкция после Then (Затем),

• если результат = False (Ложь), то выполняется инструкция после Else (Иначе), а при отсутствии ключевого слова Else (Иначе) – ничего не выполняется.

Приведем несколько примеров использования упрощенного варианта условной инструкции If…Then… Else:


If 5 

If Form1.Width <> 3800 Then Form1.Width = 3800

If Button = 2 Then PopupMenu mnuSelColor Else PSet (X, Y)


Гораздо более широкие возможности для программиста предоставляет блоковая форма синтаксиса инструкции If…Then… Else, которая допускает проверку не одного, а нескольких условий. В этом случае инструкции располагаются в несколько строк:


If условие Then

[инструкции]

[ElseIf условие-n Then

[инструкции_elseif]…

[Else

[инструкции_else]]

End If


Многое в блоковом синтаксисе похоже на предыдущую форму записи, но есть и отличия: если результатом проверки условия будет False (Ложь), то перед выполнением блока Else (Иначе) возможна проверка дополнительных условий с помощью ElseIf (Иначе Если). Весь блок завершается ключевым словом End If (Конец Если).

Вот пример, где дважды проверяется свойство Value (Значение) элемента управления HScrollBar (Горизонтальная полоса прокрутки). При достижении свойства Value (Значение) минимума (HScroll1.Value = HScroll1.Min) и максимума (HScroll1.Value = HScroll1.Max) выдаются соответствующие сообщения, в противном случае – происходят вычисления с использованием значения этого свойства:


If HScroll1.Value = HScroll1.Min Then

MsgBox «Достигнут минимум!»

ElseIf HScroll1.Value = HScroll1.Max Then

MsgBox «Достигнут максимум!»

Else

varY = varX / HScroll1.Value

End If


Инструкция условного перехода If…Then… Else может содержать внутри себя другие условные инструкции, причем допускается несколько уровней вложенности, например:


If varX> = 1 And varX <= 1000 Then

If varX <500 Then

MsgBox «Значение меньше 500»

ElseIf varX> 500 Then

MsgBox «Значение больше 500»

Else

MsgBox «Значение равно 500»

End If

Else

MsgBox «Исходное значение вне допустимого диапазона!»

End If


5.3. Условный переход Select Case

Условная инструкция Select Case по своим возможностям аналогична If…Then… Else, но, прежде всего, рассчитана на выбор одного варианта не из двух, а из нескольких возможных. Синтаксис инструкции Select Case следующий:


Select Case выражение

[Case список_значений_выражения-n

[инструкции-n]]…

[Case Else

[инструкции_else]]

End Select


Результат выражения, находящегося после ключевых слов Select Case, используется Visual Basic при выборе одного из блоков инструкций Case (Вариант). В начале каждого блока Case (Вариант) находится список допустимых значений. При совпадении одного из них с результатом выражения, выполняется именно этот блок

Страница 24