Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Фокселл Дж.Д. -> "Освой самостоятельно Visual Basic.NET за 24 часа" -> 124

Освой самостоятельно Visual Basic.NET за 24 часа - Фокселл Дж.Д.

Фокселл Дж.Д. Освой самостоятельно Visual Basic.NET за 24 часа — М.: Вильямс, 2002. — 416 c.
ISBN 5-8459-0304-1
Скачать (прямая ссылка): osvoysamostoyatelnovsn2002.pdf
Предыдущая << 1 .. 118 119 120 121 122 123 < 124 > 125 126 127 128 129 130 .. 181 >> Следующая

дважды на управляющей кнопке и введите следующий код в событие Click:
Select Case еЪоА:глтг1&1з [) ,'Text Case Is = "Птица"
MsgBox ("Животное имеет две ноги")
Case Is = "Лошадь", "Собака", "Кошка"
Час 14. Принятие решений в Visual Basic
279
MsgBox ("Животное имеет четыре ноги")
Сазе Is = "Змея"
MsgBox ("Животное не имеет ног")
Case Is = "Сороконожка"
. MsgBox ("Животное имеет сорок ног")
Case Else
MsgBox ("Животное не выбрано из списка")
End Select
Теперь объясним, что же происходит в программе на самом деле. Конструкция
Select Case сравнивает содержимое cfccAnimais из раскрывающегося списка с
набором предварительно заданных значений. Каждая инструкция Case
выполняется в порядке, определяемом кодом программы. Следовательно, в
начале содержимое сравнивается с "Птица". Если в окне с раскрывающимся
списком содержится "Птица", выполняются инструкции, следующие
непосредственно после этой инструкции Case, а именно инструкция MsgBox.
После этого выполнение программного кода переходит к инструкции End
Select. Если в окне с раскрывающимся списком не содержится "Птица", то
Visual Basic сравнивает его содержимое со значениями "Лошадь", "Собака",
"Кошка". Если в окне с раскрывающимся списком содержится любое из этих
значений, вызывается инструкция MsgBox, непосредственно следующая после
инструкции Case. Затем выполнение программного кода переходит к
инструкции End Select. Аналогичным образом работают и другие инструкции
Case. Если во всех инструкциях Case не найдено совпадающее значение,
вызывается инструкция MsgBox, следующая после инструкции Case Else. Если
не будет совпадающих значений и убрать инструкцию Case Else, то вообще
ничего не будет выполняться.
Читатель, наверно, обратил внимание на то, как можно эффективно сократить
программный код, если использовать возможность размещения нескольких
значений в одной инструкции Case. Если не воспользоваться этой
возможностью, появятся практически полностью дублирующие друг друга
инструкции Case для животных с равным количеством ног. Таким образом, не
нужно пренебрегать этой удобной возможностью. К тому же она позволяет
легче добавлять новых животных в программный код при добавлении их в
раскрывающийся список. Для этого нужно просто вписать название нового
животного в уже существующую инструкцию Case.
Нажмите <F5>, чтобы попробовать, как работает созданный проект. Выберите
животное из списка и щелкните на кнопке проекта. Очистите окно с
раскрывающимся списком, опять нажмите на кнопке проекта и убедитесь, что
проект работает нормально. Если проверка окончена, для остановки работы
проекта выберите Stop Debugging (остановить отладку) из меню Debug
(отладка). Щелкните на кнопке Save All (сохранить все) на панели
инструментов.
Полезное применение Select Case
Немного поразмыслив, можно найти множество полезных применений инструкции
Select Case. Например, ее можно использовать для определения, какой
переключатель в группе выбран.
Когда выбирается переключатель, его свойство Checked возвращает значение
True. По существу, это означает, что нам нужно просмотреть свойство
Checked каждого переключателя группы, пока не будет найден переключатель
со значением True. В документации по Visual Basic рекомендуется для этого
использовать конструкцию If,..Then, подобную следующей:
Dim msg As String = "Вы выбрали "
If RadioButtonl.Checked = True Then msg = msg & RadioButtonl. Text
280
Часть III. Начинаем программировать!
Elself RadioButton2 . Checked = True Then msg = msg & RadioButton2.Text
Elself RadioButton3. Checked = True Then msg = гщ* & RadioButton3.Text
End If MsgBox (msg)
Однако, по мнению автора, применение всех этих инструкций Elself не
вносит ясности в работу программы. Отметим еще один факт: при просмотре
свойств Checked всех переключателей происходит их сравнение с одиим-
единственньш значением - • значением True.
Представим, что True является выражением, а свойства Checked
переключателей - возможными значениями. Теперь можно заменить конструкцию
If....Then на конструкцию Select Case:
Dim strMessage As String = "Вы выбрали "
Select Case True
Case RadioButtonl,Checked
strMessage = strMessage & RadioButtonl ().Text Case RadioButton2.Checked
strMessage = strMessage & RadioButton2 {) .Text Case RadioButton3.Checked
strMessage = strMessage & RadioButton3 () .Text
End Select MsgBox (strMessage)
Кому что нравится, но, по-моему, этот программный код выглядит более
аккуратно. Для создания совершенного программного кода всегда нужно
думать, какую управляющую конструкцию лучше применить - If...Then или
Select Case. Мастерство программиста как раз и проявляется при создании
наиболее оптимальных и удобочитаемых программных кодов.
Можно вкладывать одну конструкцию Case в другую. Можно вкла-
дывать конструкцию Sslect Case в I 6ШТШН и . наоборот. Вариантов орга-¦ -
. низации программного кода превеликое; гаожшшо, главное - создать
работающую и"красивую" профамму..;:..; с v
Предыдущая << 1 .. 118 119 120 121 122 123 < 124 > 125 126 127 128 129 130 .. 181 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.