Статья
Версия для печати
Обсудить на форуме
Урок 10 VB. Конструкции ветвления. Компонент Кнопка.


Предыдущий урок----Cледующий урок

 
Сегодня переходим к управляющим конструкциям и рассмотрим конструкцию ветвления (или выбора). Суть вобщем-то проста. В русском языке в повседневной жизни мы используем ее постоянно. Это наше весьма распространенное если. Если нам позвонят в дверь, мы пойдем открывать. В данном случае "позвонят в дверь" - это проверяемое условие. (помните еще урок про логические операторы?), а "пойдем открывать" - это оператор, который будет выполнен ТОЛЬКО в случае правильности этого условия. Это самый простой пример ветвления. Какая же здесь ветка? Один оператор действия - откуда же ветка получится? Дело в том, что ветка выглядит так: или я иду открывать---или я ничего не делаю.

Как этот вариант будет записываться? Для ветвления применяется конструкция IFTHEN

Синтаксис для приведенного выше примера:
IF условие THEN
операторы
END IF
Например:
IF y>20 THEN
      y=2
          END IF

Т.е. ЕСЛИ условие истинно, ТОГДА выполняется один или несколько операторов и закрывается блок ключевыми словами END IF. Если условие ложно - не выполняется ничего.

Вариант, когда при ложности условия тоже должны выполняться какие-то операторы выглядит так: если мне сегодня надо на работу - условие истинно - я встану в 7ч, умоюсь, оденусь, перекушу и поеду на работу. Если не надо - условие ложно (т.е. иначе) - я посплю до 10 часов и пойду гулять. Применяется конструкция IFTHENELSE

Синтаксис:
IF условие THEN
операторы
ELSE
          операторы
END IF
Например: IF y>20 THEN
      y=2
                   ELSE
                         у=0
          END IF

Т.е. ЕСЛИ условие ИСТИНА, то работает одна группа операторов, ИНАЧЕ работает другая группа.

Для того, чтобы можно было выполнить задания на разветвления, нам надо познакомиться хотя бы еще c одним управляющим компонентом. Пусть сегодня это будет

Кнопка.

Клавиша быстрого доступа. Для кнопок можно задать клавишу быстрого доступа. Для этого нужно в названии кнопки выбрать букву, которая будет участвовать в сочетании клавиш <Alt>+<подчеркнутая буква> или <Ctrl>+<подчеркнутая буква> при вводе названия кнопки (Caption) перед выбранной буквой напечатать символ амперсанд (&). В названии эта буква будет выделена подчеркиванием.

Свойства кнопки.

EnabledРазрешает/ запрещает пользование компонентом (блокирование компонента)true/false
DefaultЕсли значение этого свойства= true, для нажатия данной кнопки достаточно нажать клавишу <Enter>true/false
CancelЕсли значение этого свойства= true, для нажатия данной кнопки достаточно нажать клавишу <Esc>true/false
StyleИспользуется для управления внешним видом кнопки. Стандартный стиль означает, что кнопка будет содержать текст, задаваемый свойством Caption. Для использования графического изображения нужно установить значение GraphicalStandard Graphical
PictureДля задания графического изображения, установить название файла с изображением как значение данного свойства

События кнопки. Наиболее часто используемое событие для кнопки - Click.

Программа "Изменения формы"

На отработку событий формы. И некоторых свойств компонентов.

Что нужно знать для выполнения работы: события Click, Form_Initialize, Form_Resize; свойства Visible, Caption, FontItalic, FontSize, FontName. Новое для вас:
  • свойство Visible есть практически у всех компонентов. При его значении true компонент видим на форме, при false - он невидим, хотя на форме стоит.
  • свойство FontItalic применяется для отображения текста наклонным (при true) или прямым (при false)
  • свойство FontSize устанавливает размер символов текста. Значение-число.
  • свойство FontName определяет шрифт текста. Значение - название шрифта в кавычках, т.к. это строка.

Помещаем на форму: 2 кнопки, этикетку. Одна кнопка закрывает форму. Другая кнопка: делает этикетку невидимой,
Код:
Private Sub cmd_Click()
lbl.Visible = False
End Sub

4. При щелчке на форме она должна сменить название на "Поменяли!!!", шрифт на курсив величиной в 12 петитов
Код:
Private Sub Form_Click()
Form1.Caption = "Поменяли!!!"
lbl.FontItalic = False
lbl.FontSize = 12
End Sub

5. При создании формы этикетка имеет название любое латинскими буквами, шрифт прямой
Код:
Private Sub Form_Initialize()
lbl.FontName = "Arial"
lbl.FontItalic = True
lbl.Caption = "Ghbdtn? yfhjl"
End Sub

6. При изменении размеров формы этикетка должна становиться видимой, шрифт курсив размером 36, текст на эктикетке "Меня поменяли!!!"
Код:
Private Sub Form_Resize()
lbl.Visible = True
lbl.FontSize = 36
lbl.Caption = "Меня поменяли!"
lbl.FontItalic = True
        End Sub

Обратите внимание на то, что происходит при загрузке формы, и сделайте вывод.

Программа Кнопки

Для этой программы вам придется использовать знания, полученные при написании предыдущей программы. На форме расположить этикетку и 9 кнопок. Первая кнопка вызывает появление на этикетке текста "Нажата кнопка 1". Вторая кнопка вызывает появление на этикетке текста "Нажата кнопка 2". Третья кнопка меняет начертание букв на курсив. Четвертая кнопка меняет начертание букв на прямой текст. Пятая меняет размер букв на 36 петитов. Шестая меняет размер букв на 12 петитов. Седьмая делает этикетку невидимой. Восьмая делает этикетку видимой. Девятая кнопка - выход из программы. Для нее задать клавишу быстрого доступа.

Примечание. Как вы заметили, кнопки расположены попарно (2 кнопки на одно свойство текста этикетки). Необходимо сделать так, чтобы при включении одной из кнопок вы не могли нажать на нее еще один раз, то есть, нажатую кнопку нужно заблокировать до тех пор, пока не будет нажата кнопка с противоположным свойством.
Версия для печати
Обсудить на форуме