Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технологии программирования.doc
Скачиваний:
42
Добавлен:
11.04.2015
Размер:
651.26 Кб
Скачать

Указания к выполнению работы

Для разработки приложения запустите среду программирования Delphi. Создайте новый проект и сохраните его в отдельной папке. С помощью файлового менеджера просмотрите состав файлов проекта.

Откомпилируйте проект нажатием клавиши F9 и просмотрите ещё раз состав файлов проекта. Сравните его с изначальным.

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

После определения с преподавателем метода и события объекта Application запрограммируйте их обработку в создаваемом приложении. При необходимости расположите на форме кнопку из палитры компонентов и задайте реакцию на событие OnClick. Методы Minimize и Maximize заставляют приложение принять свернутый и развернутый вид. Подобный результат обеспечивает свойство WindowState объекта TForm. Однако использование методов Minimize и Maximize объекта Application позволяет выполнять операции более корректно. Вызов метода ProcessMessages вынуждает приложение обработать имеющиеся сообщения. Это полезно делать, например, в длинном цикле. Иначе при выполнении длительных операций приложение не реагирует на поступающие сообщения: бесполезно пытаться переместить окно, щёлкать по кнопкам, пунктам меню и т.п. Поэтому рекомендуется включать метод ProcessMessages в циклы длительной обработки данных, чтобы принудительно обработать все находящиеся в очереди сообщения. В частности, сообщения могут содержать сведения, влияющие на работу цикла. Для анализа таких сообщений надо после команды Application.ProcessMessages разместить операторы проверки условия прерывания цикла и операторы, осуществляющие выход из цикла. Длительный цикл в программе организуйте для выполнения простейших арифметических операций.

Метод Terminate позволяет корректно прекратить работу приложения. Метод Terminate вызывает функцию Windows APIPostQuitMessage, чтобы совершить запланированное закрытие приложения. Вызов этого метода приводит к освобождению памяти, занятой объектами, и завершению приложения. Причём, процедура Terminate не закрывает приложение немедленно, а дожидается обработчика события и завершения всех других процессов. Terminate вызывается автоматически на закрытие формы и на сообщение WM_QUIT. Вместо метода Terminate часто используется процедура Close главной формы.

Доступ к командам Windows Help API обеспечивает функция HelpCommand (Command: Word; Data: Longint): Boolean. Метод HelpCommand запускает файл winhelp.exe, передаёт ему команду, заданную параметром Command, и данные, определяемые параметром Data. В результате появляется соответствующее окно справочной системы Windows. Эта функция вызывается после задания в программе файла справки через свойство HelpFile. Функция HelpContext (Context: THelpContext): Boolean выводит окно справочной системы Windows и отображает экран, указанный параметром Context. Предварительно через свойство HelpFile необходимо задать имя файла справки.

События OnActivate и OnDeactivate оповещают программу об изменении свойства Active. Приложение становится активным сразу после запуска или когда на одно из его окон перевели фокус ввода. Приложение становится неактивным, когда из его окон фокус ввода перемещается на другое приложение.

Событие OnException вызывается при необработанной исключительной ситуации. Событие OnHint генерируется при перемещении указателя мыши над объектом – потомком TControl, если его свойство Hint не является пустой строкой.

Событие OnIdle генерируется при простое приложения. Обработчик события OnIdle используется для выполнения фоновых задач. Операции, включённые в этот обработчик, выполняются каждый раз, когда приложение заканчивает текущую работу и переходит в режим ожидания (например, ожидает ввода и не занято обработкой события). Код обработчика события OnIdle должен занимать мало памяти и выполняться быстро, чтобы не тормозить работу приложения. Событие OnIdle имеет тип TIdleEvent, описанный следующим образом:

type TIdleEvent=procedure(Sender:TObject;var Done:Boolean)of object;

Обработчик получает логический параметр Done, который определяет правила поведения приложения в режиме ожидания. Если Done равно true, то обработчик не запустится до тех пор, пока не будет получено и обработано очередное сообщение. Если параметру Done установить значение false, то обработчик запустится, как только приложение перейдёт в режим ожидания. По умолчанию Done имеет значение true. Так как в процессе функционирования обработчика приложение не реагирует на сообщения, то рекомендуется использовать короткий обработчик, либо включать в него процедуру ProcessMessages. Процедура обработки события OnIdle обычно описывается и используется в модуле главной формы приложения.