Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на VB_.pdf
Скачиваний:
19
Добавлен:
15.03.2016
Размер:
654.41 Кб
Скачать

Основы программирования в среде Visual Basic for Application (Excel 2010)

вершения программы.

Усовершенствование программы.

Изменим программу так, чтобы при нажатии на кнопку менялся не только заголовок формы, но и надпись на кнопке. Пусть название кнопки "Черный" при нажатии на нее меняется на "Белый".

1. Откройте подпрограмму CmdColor_Click() и добавьте в неё оператор (выделен жирным шрифтом), который изменяет свойство Caption объекта cmdColor:

Private Sub CmdColor_Click(). frmZadanie1_2. Caption = "Черный" cmdColor.Caption = "Белый"

End Sub

2. Щелкните зеленый треугольный маркер в строке стандартных инструментов рабочего окна Visual Basic for Application (Excel . Нажмите кнопку Черный, надпись в заголовке формы и надпись на кнопке должны поменяться. Нажмите кнопку Выход для завершения программы.

Освоение режима отладки.

1.Нажмите F8. Далее в открывшемся окне программы нажмите кнопку Черный. После того как высветится строка программного кода, нажимать кнопку F8 или выполнить команду Debug, Step Into (Отладка, Войти) для перехода к следующему оператору и наблюдать, как изменяются значения переменных.

2.Повторите несколько раз выполнение программы в режиме отладки, пока для вас не станет ясен порядок выполнения операторов при изменении свойств объектов.

Контрольное задание

1.Измените имя формы на frmChange, откорректируйте программный код и

2.Создайте еще одну кнопку на форме. Задайте ее свойству Name значение cmdWhite, а свойству Caption —значение Белый. Запрограммируйте событиея для этой кнопке, таким образом, чтобы при щелчке по кнопке надпись на кнопке с именем cmdColor менялась на Черный.

Контрольные вопросы.

1.Из каких объектов состоит учебная программа 1.2? Назовите имя объектов н их тип.

2.Для чего нужно свойства Name и Caption формы?

3.Что означает конструкция frmZadanie1_2.Caption?

4.Что означает оператор cmdColor.Caption = "Белый"?

5.Какие операторы необходимы, чтобы завершить программу (вьгрузить форму)?

Задание для закрепления полученных знаний.

Создайте программу с названием Кафе, «Здравствуйте! Что будете заказывать?».

Усков Ю.И., Катеринина С.Ю.

15

каф. МиИТ, нояб.2015

Основы программирования в среде Visual Basic for Application (Excel 2010)

Программа должна иметь три кнопки. Первая кнопка «Чай». При её нажатии сообщение должно меняться на новое сообщение «Хорошо! Через 5 минут Вы получите чай с лимоном». Вторая кнопка называется. «Кофе». При её нажатии сообщение должно меняться на новое «К сожалению, кофе нет. Закажите чай». Третья кнопка имеет название Выход. При ее нажатии программа завершает работу.

3. События формы

Краткая справка.

Программы в операционной системе Windows управляются событиями. Другими словами, системные события используются для обработки внешних условий. События возникают в результате получения сообщений. Каждый раз, когда вы нажимаете кнопку, перемещаете мышь и т.д. Операционная система генерирует сообщение, описывающие ваши действия, и помещает их в очередь сообщений программы. Наиболее часто используются следующие события:

Click (Щелчок) или DblClick (Двойной щелчок) мышью в любом месте формы вызывает процедуры обработки события Form_Click или Form_DblClick.

KeyPress (Нажатие клавиши) вызывает процедуру обработки события Form_КeyPress, на вход которой подается значение ASCII-кода нажатой клавиши. Load (Загрузка) — событие происходит при загрузке формы (например, при запуске приложения) и удобна для инициализации свойств и переменных при запуске программы.

Методом называется команда, которую вы отдаете объекту. Из методов рассмотрим:

Cls очищает форму от всех изображений и текста. Синтаксис: |имя формы.| Cls.

Print выводит текст на форму и очень удобен для вывода на форму иросюй информации.

Синтаксис: |имя формы.|Print ||выраженнс||{;!,}|]...

Если после выражения стоит «;», то за последним символом предыдущего выражения сразу выводится следующее. Если стоит «,», то вывод производится по зонам, каждая из которых имеет размер 14 символов. Отсутствие после последнего выражения «;» или «,» переводит позицию вывода в начало следующей строки.

Задание 1.3

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

При нажатии любой клавиши изменяется исходное положение и размер формы, задается шрифт «курсив» и его новый размер, которым выводится на форму продолжение текста.

Усков Ю.И., Катеринина С.Ю.

16

каф. МиИТ, нояб.2015

Основы программирования в среде Visual Basic for Application (Excel 2010)

Технология выполнения задания.

Этап 1. Знакомства с событиями Click и KeyPress.

1.Выполните пункты 1…5 Задания 1.1

2.Выделите форму, щелкнув по ней левой кнопкой мыши на любом свободном

месте формы. Задайте значение двух свойств формы Name и Caption, имена которых указаны в панели

Properties (Параметры):

свойству Name присвойте значение frmZadanie1_3;

свойству Caption присвойте значение Изучение со-

бытий.

3. Выполним команду View, Code (Вид, Код), откроем окно программ. В верхнем левом окне панели выберем объект UserForm (окно вверху Слева), а в верхнем

правом окне выберем события Click и KeyPress. Введем тексты программ для процедур обработки событий Click и KeyPress для объекта UserForm.

4. Подпрограмма, реализующая событие Click для объекта Form, представлена ниже. Подпрограмма меняет свойства Left и Top, Height и Width формы и выводит в заголовок формы новую надпись «Щелчок мышью».

Private Sub UserForm_Click() frmZadanie1_3.Left = 200 frmZadanie1_3.Top = 200 frmZadanie1_3.Height = 100 frmZadanie1_3.Width = 150

frmZadanie1_3.Caption = " Щелчок мышью " End Sub

5. Подпрограмма, реализующая событие KeyPress для объекта UserForm. Подпрограмма UserForm_KeyPress также как и предыдущая меняет свойства формы. Подпрограмма Form_KeyPress имеет один аргумент KeyAscii, который описан как

целое число (Integer) и представляет код нажатой клавиши.

Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

frmZadanie1_3.Left = 100 frmZadanie1_3.Top = 100 frmZadanie1_3.Height = 200 frmZadanie1_3.Width = 250 frmZadanie1_3.Caption = " Нажатие любой клавиши на клавиатуре"

End Sub

6. Запустите программу кнопкой . Вы увидите пустую форму. Щелкнув на ней мыщью, Вы генерируете событие Click (под-

Усков Ю.И., Катеринина С.Ю.

17

каф. МиИТ, нояб.2015

Основы программирования в среде Visual Basic for Application (Excel 2010)

программа UserForm_Click), которое изменяет положение, размеры формы и заголовок формы. Нажав любую клавишу, Вы генерируете событие KeyPress (подпрограмма UserForm_KeyPress), которое изменяет размеры формы. Завершите программу, нажав кнопку на форме.

Этап 2. Освоение режима отладки

1. Нажмите кнопку F8. Далее в открывшемся окне программы щелкните левой копкой мыши по форме (т.е. сгенерируете событие Click). После того как высветится строка программного кода, можно нажимать кнопку F8 или выполнить команду Debug, Step Into (Отладка, Пошаговый ввод) для перехода к следующему оператору и наблюдать, как изменяются значения переменных.

Повторите предыдущий пункт, но при этом не щелкайте кнопкой мыши, а нажмите любую клавишу (т.е. сгенерируйте событие KevPress).

Контрольное задание.

1.Измените данную программу так, чтобы при событии Click изменялся цвет текста, выводимого на форме, а для события KeyPress изменялся цвет фона формы . Для установления цвета используйте константы: vbGreen — зеленый, vbRed — красный.

2.Измените учебную программу, добавив в нее кнопку, при нажатии на которую все надписи на форме будут стираться (используйте метод Cls). Обратите внимание, на свойство формы KeyPreview.

Контрольные вопросы.

1.Когда возникает событие Click?

2.Когда возникает событие KeyPress?

3.При каких действиях обрабатываются события в программе, описанной выше?

4.Если для объекта АААА происходит событие ВВВВ, то какое будет иметь имя подпрофамма, которой будет передано управление?

5.Для чего в процедуре Form_KeyPress необходим аргумент KeyAscii?

6.Что происходит при использовании метода формы Print?

Задание для закрепления полученных знаний.

Создайте новую программу с кнопкой "Привет", которая меняет размеры кнопки при щелчке по ней мышью.

Тема 2. Стандартные типы данных

2.1. Строковые переменные

Основная цель

1.Изучить тип данных «строковые переменные».

2.Изучить две стандартные функции: окно сообщений MsgBox и InputBox.

Усков Ю.И., Катеринина С.Ю.

18

каф. МиИТ, нояб.2015