- •Технология разработки программного
- •Лабораторная работа №1 (2 часа) Организация проекта приложения
- •Задание
- •Программа работы
- •Пояснения к работе
- •Указания к выполнению работы
- •Контрольные вопросы и задания
- •Лабораторная работа №2 (2 часа) Работа с компонентами
- •Задание
- •Программа работы
- •Пояснения к работе
- •Указания к выполнению работы
- •Контрольные вопросы и задания
- •Указания к выполнению работы
- •Контрольные вопросы и задания
- •Указания к выполнению работы
- •Контрольные вопросы и задания
- •Лабораторная работа №5 (2 часа) Программирование графики
- •Задание
- •Программа работы
- •Пояснения к работе
- •Указания к выполнению работы
- •Контрольные вопросы и задания
- •Указания к выполнению работы
- •Контрольные вопросы и задания
- •Контрольные вопросы и задания
- •Указания к выполнению работы
- •Контрольные вопросы и задания
- •Лабораторная работа №9 (2 часа) Обработка исключительных ситуаций
- •Задание
- •Программа работы
- •Пояснения к работе
- •Указания к выполнению работы
- •Контрольные вопросы и задания
- •Указания к выполнению работы
- •Контрольные вопросы и задания
- •Пояснения к работе
- •Указания к выполнению работы
- •Контрольные вопросы и задания
- •Лабораторная работа №12 (2 часа) Технология тестирования логики программ
- •Задание
- •Программа работы
- •Пояснения к работе
- •Указания к выполнению работы
- •Контрольные вопросы и задания
- •Технология разработки программного обеспечения в среде Delphi
- •346428, Новочеркасск, ул. Просвещения, 132
Пояснения к работе
В среде Delphi приложение разрабатывается в виде совокупности файлов, которую называют проектом. Проект изначально состоит, как минимум, из шести файлов, формируемых при старте Delphiавтоматически:
|
project1.dpr |
- главный файл проекта; |
|
unit1.pas |
- первый модуль приложения; |
|
unit1.dfm |
- файл описания внешнего вида формы первого модуля; |
|
project1.res |
- файл с ресурсами (иконки, изображения, курсоры и т.п.); |
|
project1.dof |
- файл опций (текстовый файл с установками для проекта); |
|
project1.cfg |
- файл конфигурации с информацией о состоянии среды. |
К проекту могут относиться и другие файлы (картинки, файлы справочной системы и т.п.), которыми управляет уже сам программист.
Имена файлов, сформированные системой по умолчанию, желательно изменить именами, несущими смысловую нагрузку.
После компиляции проекта получаются файлы с расширениями:
|
dcu |
- скомпилированные модули; |
|
exe |
- исполняемый файл; |
|
~pa, ~dp |
- файлы отката (предыдущие версии). |
Помимо модулей, связанных с формами, можно создавать отдельные модули в соответствии с правилам языка Delphi, сохранять их в отдельных файлах, а имена указывать в разделе uses проекта или использующих модулей.
Новый проект приложения в Delphi создаётся командой "File|New| Application", а загрузка существующего – "File|Open Project". Создав новый проект, рекомендуется сразу сохранить его в отдельной папке и в дальнейшем регулярно выполнять сохранение всех файлов проекта. При создании проекта Delphi генерирует пустую форму, текст модуля которой приведён ниже.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private { Private declarations }
public { Public declarations }
end;
var Form1: TForm1;
implementation
{$R *.dfm}
end.
Модуль начинается с зарезервированного слова unit, после которого указывается имя модуля, совпадающее с именем файла, в котором он сохранён. В интерфейсной секции описываются программные элементы, доступные другим модулям приложения, а всё, что помещается в секцию реализации implementation, доступно только в пределах модуля.
При создании проекта также формируется главный файл проекта. Он представляет собой текстовый файл, содержащий программный код. Этот файл подключает все используемые программные модули и содержит операторы для запуска приложения. Код файла проекта, содержащего одну форму, выглядит следующим образом.
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *. res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Просмотр файла проекта осуществляется с помощью команды "View|Unit" (или соответствующей кнопки на панели инструментов) с последующим выбором в диалоговом окне пункта Project1. По мере создания новых форм содержимое этого файла автоматически изменяется.
В разделе uses подключается системный модуль Forms и модуль формы Unit1 (название формы указывается в фигурных скобках). Директива компилятора {$R *.res} подключает ресурсы к получаемому exe-файлу. Тело программы содержит операторы с обращением к методам класса TApplication. Процедура Initialize инициализирует приложение. При этом выполняются операторы раздела инициализации всех модулей проекта. Процедура CreateForm создаёт форму. Владельцем созданной формы является объект Application. Обычно этот метод вызывается автоматически для всех форм приложения. Процедура Run запускает приложение на выполнение.
Класс TApplication описывает приложение в целом. При каждом запуске приложения система Delphi автоматически создает экземпляр Application класса TApplication (если приложение Delphi не является приложением Web-сервера, панели управления или службой Win32/Win64). По сути, объект Application является окном Windows – главной невидимой формой приложения. Свойства и методы объекта Application доступны только программно и предназначены для создания, исполнения, поддержки и закрытия приложения. TApplication позволяет:
обработать сообщения Windows;
организовать работу справочной системы;
обработать клавиши и пункты меню;
обработать ошибки;
управлять основными классами, объявленными в ОС.
TApplication не отображается на панели компонентов и недоступен в режиме дизайна визуально. Однако некоторые его свойства могут быть заданы или изменены. Чтобы задать обработчики событий в приложении необходимо поместить на форму компонент TApplicationEvents. Также при желании вместо автоматического создания формы в приложении можно предусмотреть вызов метода CreateForm в процессе работы приложения. Для этого предварительно командой Project Options надо открыть окно параметров проекта, перейти на вкладку Forms и перенести формы, которые должны создаваться по мере необходимости, из панели Auto-create forms в Available forms.
TApplication предоставляет ряд свойств, методов и событий, с помощью которых можно отслеживать состояние приложения и контролировать некоторые аспекты его поведения. Краткое описание некоторых из них приведено в табл. 1.2 ÷ 1.4.
Таблица 1.2
Свойство |
Описание |
Active |
Определяет активность приложения. Возвращает значение true, если приложение в текущий момент имеет фокус ввода. Свойство доступно только для чтения |
EXEName |
Представляет собой строку, содержащую полный путь выполняемого файла. Используется для определения рабочего каталога приложения с помощью функций ExtractFilePath и ExtractFileName. Доступно только во время работы приложения и только для чтения |
Hint |
Содержит текст всплывающей подсказки, который будет выведен при наступлении события OnHint |
HintColor |
Задаёт цвет фона всплывающей подсказки |
HintPause |
Задаёт задержку (в миллисекундах) перед выводом окна подсказки (по умолчанию – через 0,5 с после наведения указателя мыши на визуальный компонент) |
HintHidePause |
Задаёт интервал (в миллисекундах), в течение которого видна подсказка (по умолчанию – 2,5 с) |
HintShortPause |
Определяет задержку перед отображением подсказки, если активна подсказка другого компонента |
Icon |
Позволяет изменить пиктограмму во время работы приложения |
Title |
Определяет заголовок приложения |
HelpFile |
Определяет имя справочного файла |
Terminated |
Если значение свойства равно true, то приложение получило сообщение о закрытии |
Таблица 1.3
Метод |
Описание |
Minimize |
Заставляет приложение принять свернутый вид |
Maximize |
Заставляет приложение принять развернутый вид |
ProcessMessages |
Вынуждает приложение обработать имеющиеся сообщения. Рекомендуется включать в циклы длительной обработки данных |
Terminate |
Корректно завершает работу приложения |
HelpCommand |
Запускает файл winhelp.exe, передаёт ему команду и данные |
HelpContext |
Вызывает конкретный раздел справочной службы |
|
|
Таблица 1.4
Событие |
Описание |
OnActivate, OnDeactivate |
Оповещают программу об изменении свойства Active (при получении/утере фокуса приложением) |
OnException |
Вызывается при необработанной исключительной ситуации |
OnHint |
Генерируется при перемещении указателя мыши над объектом |
OnIdle |
Генерируется при простое приложения |