Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Конструкция Select Case






В Visual Basic конструкция Select case является альтернативой конструкции if...Then...Else в случае выполнения блока, состоящего из большого набора операторов. Конструкция select Case предоставляет возможность, похожую на возможность конструкции if.. Then...Else, но в отличие от нее она делает более читаемым код при наличии нескольких вариантов выбора.

Конструкция select Case работает с единственным проверяемым выражением, которое вычисляется один раз при входе в эту конструкцию. Затем Visual Basic сравнивает полученный результат со значениями, задаваемыми в операторах Case конструкции. Если найдено совпадение, выполняется блок операторов, ассоциированный с оператором case:

Select Case testexpression [Case expressionlist [statementblock-1]] [Case expressionlist2 [statementblock-2]}

[Case Else

[statementblock-n]]

End Select

Каждый список выражений expressionlist является списком из одного или более значений. Если в одном списке больше одного значения, они отделяются запятыми. Каждый блок операторов statementblock содержит несколько операторов или ни одного. Если окажется, что вычисленному значению проверяемого выражения соответствуют значения из нескольких операторов Case, то выполняется блок операторов, ассоциированный с первым оператором case из всех найденных соответствий. Visual Basic выполняет блок операторов, ассоциированный с оператором Case Else (заметим, что он необя­зателен), если не найдено ни одного соответствия проверяемого значения выражения и значений из всех списков операторов case.

Предположим, что добавлена еще одна команда в меню Edit (Правка) в примере из раздела данной главы " Конструкция If...Then...Else". Можно доба­вить еще один оператор Elself или написать функцию с конструкцией

Select Case:

i

Private Sub innuCut_Click (Index As Integer) Select Case Index

Case 0 ' Команда Cut.

CopyActiveControl ' Вызовы общих процедур. ClearActiveControl

Case 1 ' Команда Copy.

CopyActiveControl

Case 2 ' Команда Clear. ClearActiveControl

Case 3 ' Команда Paste.

PasteActiveControl Case Else

frmFind.Show ' Показать диалоговое окно Find. End Select End Sub

Заметим, что конструкция Select Case вычисляет выражение только один раз при входе в нее, а в конструкции if...Then...Else вычисляются различные выражения для каждого оператора Elself. Конструкцию if...Then...Else можно заменить конструкцией Select Case, только если оператор if и каждый оператор Elself вычисляют одно и то же выражение.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал