Создание процедуры обработки событий Задача




Скачать 69.97 Kb.
НазваниеСоздание процедуры обработки событий Задача
Дата публикации04.10.2013
Размер69.97 Kb.
ТипЗадача
litcey.ru > Информатика > Задача
Подготовка текста программы

Подготовка текста программ в окне модуля ведется с помощью редактора модулей. Редактор модулей обеспечивает параметры форматирования текста, поддерживает выделение синтаксических конструкций с помощью цвета. Настройка параметров визуального представления текста процедур производится на закладке Модуль диалогового окна Параметры, которое открывается командой Сервис/Параметры.

Редактор модулей поддерживает символ продолжения командной строки, позволяющей разбивать одну инструкцию на несколько физических строк. Символ продолжения программной строки образуется из пробела с последующим символом подчеркивания _.

В окне Параметры пользователь может выбрать и другие параме6тры настройки среды подготовки программ. Флажок ^ Полный модуль на закладке Модуль устанавливает режим просмотра всего модуля или по одной процедуре. Параметры программирования устанавливают режимы проверки синтаксиса, требования явного описания переменной и ряд других параметров. Допускается указание параметров командной строки и параметров условной компиляции.

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

Окно просмотра объектов открывается нажатием на панели инструментов кнопки ^ Просмотр объектов или командой Вид/Просмотр объектов. Кроме того, окно просмотра объектов может быть открыто нажатием клавиши в окне модуля.

В окне просмотра объектов, выбрав метод, свойство модуля, пользователь с помощью кнопки Вставить текст может вставить соответствующую синтаксическую конструкцию в активный модуль.

Выбрав модуль, разработанный пользователем в активном приложении, можно просмотреть его содержимое, нажав кнопку Показать. Любую часть модуля можно скопировать и вставить в активный модуль.

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

Для поиска метода или свойства в окне просмотра объектов надо:

- открыть модуль;

- нажать кнопку Просмотр объектов;

- в списке Библиотеки/Базы данных выбрать Access или другую библиотеку;

- в списке Модули/Классы выбрать нужный объект;

- в списке Методы/Свойства выбрать метод или свойство.



Рис. Окно просмотра объектов, используемое при программировании на Visual Basic.

^ Создание процедуры обработки событий
Задача. Пусть в некоторой форме необходимо создать кнопку получения справок о студентах, преподавателях или заведующих кафедрами.

Откроем форму в режиме конструктора и создадим кнопку, нажав на панели элементов Кнопка и не привлекая мастера, изменим подпись кнопки на Справки.

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

Для открытия процедуры обработки события Нажатие кнопки надо в контекстном меню кнопки выбрать команду Обработка событий.

В окне модуля отображено имя модуля формы Form_Форма1. В поле Объект содержится имя элемента управления Справка. В поле Процедура отображается событие Click (Нажатие кнопки), с которым связывается личная процедура Sub, отображаемая в окне модуля. Имя процедуры Справка_Click сформировано из имени элемента управления и наименования события.

В окне модуля можно просмотреть все процедуры, предусмотренные для обработки событий формы и ее элементов. Общая область формы содержит процедуры, которые уже использовались в форме или будут использоваться в дальнейшем.
Введем текст процедуры в окно модуля как показано на рисунке:


Рис. Процедура обработки события Нажатие кнопки (Click).
Инструкции Dim определяют переменные с именами Имя_формы и Фамилия_И_О со строковым типом данных. Следующий оператор присваивает переменной Имя_формы значение, введенное пользователем в окне диалога, формируемом функцией InputBox.

Функция InputBox позволяет организовать диалог с пользователем. Она выводит на экран окно диалога, в котором содержится сообщение и поле ввода, организует ожидание, пока пользователь не введет текст и нажмет кнопку, а затем возвращает содержимое поля ввода. Первый аргумент функции определяет текст, отображаемый в окне диалога. Если текст необходимо разместить в нескольких строках, для разделения строк можно использовать символ возврата каретки (Chr(13)) или символ конца строки (Chr(10)). Второй аргумент определяет текст, отображаемый в заголовке окна диалога. Третий аргумент определяет текст, отображаемый в поле ввода.

В процессе выполнения функция InputBox формирует диалоговое окнк, представленное на рисунке:



Рис. Диалоговое окно выбора типа справки.
В тексте процедуры (см. рисунок) строки, начинающиеся с апострофа, позволяют ввести комментарий в программу.

Используемая далее функция MsgBox выводит на экран окно, содержащее сообщение (рис. Следующий), ждет, пока пользователь нажмет кнопку, а затем возвращает значение, указывающее кнопку, которая была нажата. Первый аргумент функции определяет текст, отображаемый в окне диалога. Второй аргумент является числом, указывающим число и тип отображаемых кнопок, тип используемого значка. Используемое в процедуре число 65 складывается из значений 1 и 64. Значение 1 определяет отображение в окне диалога кнопок ОК и Отмена. Значение 64 определяет вывод в окне значка информационного сообщения. Третий аргумент определяет текст, отображаемый в поле ввода.

Далее в тексте процедуры используется инструкция:

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

Она выполняет группу инструкций в зависимости от значения выражения (True или False), заданного в условии.



Рис. Окно сообщения, выведенное инструкцией MsgBox.
В примере при выполнении условия Имя_формы = “Заведующий” выполняются инструкции DoCmd и Exit Sub.

Инструкция

DoCmd.OpenForm Имя_формы,,, “Зав=Фамилия_И_О”, acReadOnly

выполняет метод OpenForm объекта DoCmd, который открывает форму. Первый аргумент задает имя формы, которое было присвоено переменной Имя_формы. Аргумент “Зав=Фамилия_И_О” задает в форме условие отбора записей и позволяет найти запись о заведующем с указанной пользователем фамилией. Условие отбора записей записывается в фильтр формы в поле Зав и формирует параметр. Наличие параметра в условии автоматически организует диалог с пользователем, в котором он может задать значение этого параметра. Диалоговое окно, выведенное при выполнении примера, приведено на следующем рисунке:



Рис. Диалоговое окно ввода параметра, используемого для отбора записей.

При выводе справочной информации целесообразно установить режим работы с формой, обеспечивающий только просмотр данных. Встроенная константа Access acReadOnly задает значение аргумента, который определяет режим работы с данными в форме. Результат работы метода OpenForm объекта DoCmd приведен на рисунке. Здесь в строке просмотра записей указывается использование фильтра (Всего: 1(фильтр)), который сформировался по условию, заданному аргументом “Зав=Фамилия_И_О”.



Рис. Форма, открытая методом OpenForm объекта DoCmd.
Далее в тексте процедуры используется инструкция Exit Sub. Эта инструкция позволяет завершить выполнение процедуры.

Последняя инструкция процедуры DoCmd.OpenForm Имя_формы,,, “Фамилия_И_О”, acReadOnly выполняется только в том случае, если условие инструкции If имеет значение False. Этой интсрукцией открывется форма Студент или Преподаватель, в каждой из которых имеется поле ФИО. По этому полю формируется условие отбора записей.

^ Расширение возможностей процедуры. В рассмотренной процедуре отработаны далеко не все ситуации, которые могут возникнуть при ее выполнении. В частности, можно предусмотреть реакцию на нажатие кнопки Отмена в диалоговом окне функции InputBox. Если пользовательнажмет кнопку ОК или клавишу EnterЮ возвращаемым значением функции InputBox будет содержимое поля ввода. Если пользователь нажмет кнопку Отмена, функция возвратит пустую строку. С помощью функции If несложно организовать проверку значения, возвращаемого функцией InputBox, и в случае возврата пустой строки организовать выполнение процедуры по другой ветке.

В диалоговом окне функции MsgBox также предусмотрены кнопки ОК и Отмена. Для того, чтобы в программе проанализировать, какую кнопку нажал пользователь, нужно проверить значение, возвращаемое функцией. Если нажата кнопка ОК, функция возвратит значение 1. Если нажата кнопка Отмена, функция возвратит значение 2. Возвращаемое функцией значение можно получить, использовав функцию в операторе присваивания:



Проверить значение можно, используя значения 1 и 2, но удобнее применить встроенные константы vbOK и vbCancel. Например: If Ответ = vbOK Then …

В зависимости от результатов проверки работа процедуры выполняется в соответствии с заданным алгоритмом. В частности, может быть продолжен диалог с пользователем.

^ Обработка ошибок. Если в процедуре не предусмотрена инструкция OnError, то любая ошибка выполнения приводит к выводу сообщения об ошибке и прекращению выполнения программы.

Инструкция

^ On Error GoTo метка строки

Позволяет передать управление подпрограмме обработки ошибок. Метка строки определяет начало этой программы. Метка должна начинаться с буквы и заканчиваться двоеточием.

Подпрограмма обработки ошибок должна быть частью программы, которая начинается с метки и не может быть процедурой^ Sub или Function.

Подпрограмма обработки ошибок должна быть помещена между инструкциями Exit Sub или End Sub, что позволяет отделить ее от части программы, соответствующей нормальному выполнению процедуры.

После завершения обработки ошибки может возобновляться выполнение текущей процедуры. Указать, с какой инструкции надо возобновить выполнение процедуры, можно в инструкции Resume. Инструкция Resume без аргументов приводит к возобновлению выполнения со строки, вызвавшей ошибку.

Например, в инструкциях, формируемых мастером создания кнопок, обработка ошибок выполняется включением следующих инструкций:


Аргумент Err.Description функции MsgBox определяет строковое значение, которое возвращается при ошибке.

Description является свойством объекта Error. Объект Error содержит подробные сведения об ошибках при доступе к данным, каждая из которых относится к определенной операции с объектом доступа к данным. Значением свойства Description является краткое предупреждающее сообщение с описанием ошибки.

Похожие:

Создание процедуры обработки событий Задача iconЗадача о раскрое Задача о смеси Задача планирования производства...
Для изготовления книжной полки требуется 3 листа древесной плиты размером 8020 см и 2 листа размером 6525 см
Создание процедуры обработки событий Задача icon1. Определение события. Независимость событий. Примеры не независимых событий
Сопоставление общемат терминологии и терминологии теорвера: Множество – Пространство элементарных событий , Элемент – Элементарное...
Создание процедуры обработки событий Задача iconБилет №6 Показатели смо
Потоком событий – называют последовательность событий наступающих одно за другим в какие-то случайные моменты времени
Создание процедуры обработки событий Задача iconБилет №6 Показатели смо
Потоком событий – называют последовательность событий наступающих одно за другим в какие-то случайные моменты времени
Создание процедуры обработки событий Задача iconАвтономная некоммерческая организация высшего профессионального образования...
Терема умножения вероятностей событий (произведение событий, условная вероятность)
Создание процедуры обработки событий Задача iconПрограммы для женщин Процедуры по лицу Процедуры по телу

Создание процедуры обработки событий Задача iconРегламент по проведению примирительной процедуры с участием посредника (медиатора)
Настоящий Регламент определяет порядок проведения примирительной процедуры с участием посредника Коллегией посредников по проведению...
Создание процедуры обработки событий Задача iconЖизненные событияПоделиться…
Психологи, поддерживающие модель «жизненных событий», рассматривают перемены, происходящие в зрелом и пожилом возрасте, как результат...
Создание процедуры обработки событий Задача iconЗадача нового учебного курса создание условий для духовно-нравственного развития
Практические советы родителям, как вы можете помочь своему ребёнку в изучении курса
Создание процедуры обработки событий Задача iconСоздание и использование классов
Долгое время процедуры и функции играли не только функциональную, но и архитектурную роль. Но с появлением ооп архитектурная роль...
Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
litcey.ru
Главная страница