9. работа в среде delphi9.1. Структура приложения. Приложение, разрабатываемое в среде Delphi, на различных этапах имеет различную структуру. Так, например, готовое к выполнению приложение может состоять всего из одного файла – ехе-файла приложения. Приложение, находящееся в стадии разработки, имеет относительно сложную структуру, отличную от простой структуры приложения, создаваемого в среде Турбо Паскаль, и называется проектом. Проект состоит из нескольких файлов и преобразуется в готовое к выполнению приложение (ехе-файл) в результате трансляции и последующей компоновки (сборки). В состав проекта приложения входят следующие основные элементы: описание проекта (файл *.DPR); описания форм (файл *.DFM); модули форм (файлы *.PAS); программные модули (файлы *.PAS); описание ресурсов (файл *.RES); описание параметров проекта (файл *.DOF); описание конфигурации среды проекта (файл *.CFG); объектные модули (файл *.DCU); Кроме перечисленных файлов имеются также некоторые другие, которые формируются транслятором в различных нестандартных ситуациях (например, при использовании пакетов). Файл *.DPR – это текстовый файл, в котором хранится текст программы с головным модулем приложения. Этот текст автоматически формируется транслятором при запуске Delphi. В нем содержатся операторы инициализации и запуска приложения на выполнение. Содержимое стартового файла проекта имеет вид: program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. В процессе добавления в проект новых компонентов (например, новых форм) текст этого файла модифицируется автоматически. По умолчанию содержимое этого файла не отображается на экране. При необходимости его можно просмотреть с помощью меню View, пункт Units…, строка Project1: Файл описания форм *.DFM – это текстовый файл, который содержит характеристики формы и ее компонентов. Он автоматически создается системой и автоматически обновляется при добавлении к форме новых компонентов в процессе визуального конструирования приложения. Вид и содержимое формы полностью определяется содержанием данного файла. Теоретически его содержание можно редактировать и непосредственно в файле, но, как правило, это делают с помощью Конструктора форм и Инспектора объектов. Сразу после запуска Delphi этот файл имеет следующий вид: object Form1: TForm1 Left = 192 Top = 114 Width = 544 Height = 375 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 end Для каждого файла формы Delphi автоматически создает текстовый файл модуля формы (*.PAS), который содержит описание класса формы, включая тексты обработчиков событий, которые определяют функциональное наполнение приложения для данной формы. Для стартовой формы файл модуля формы имеет вид: 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.
В процессе компиляции проекта транслятор автоматически создает в папке проекта для каждого программного модуля (*.PAS) файл с его объектным кодом (*.DCU). При сохранении проекта транслятор автоматически создает файл ресурсов приложения (*.RES). Это двоичный файл, в котором хранятся используемые в проекте пиктограммы, растровые изображения и пр. Настроечные параметры текущего проекта автоматически записываются в файл параметров проекта (*.DOF). Значения параметров формируются по умолчанию и с помощью окна параметров проекта, которое активизируется с помощью меню Project, команда Options… (рис. 9.1.). Файл параметров проекта представляет собой текстовый файл, содержащий обозначения параметров и их значения. В файле конфигурации среды проекта (*.CFG) хранятся установки режимов работы интегрированной среды Delphi, в частности директивы компилятора. Информация в этом файле также хранится в текстовом виде. Установка параметров среды проекта выполняется с помощью диалогового окна Environment Options:
Кроме перечисленных выше файлов система автоматически создает в процессе работы их резервные копии, которые имеют расширения, соответственно, *.~DPR, *.~DFM, *.~PAS, *.~DCU, *.~DOF, *.~CFG, *.~RES. 9.2. Формирование выполняемого модуля приложения После того, как программа отлажена в среде Delphi, необходимо сформировать выполняемый модуль приложения (ехе-модуль), для того, чтобы приложение можно было запускать на выполнение без привлечения интегрированной среды Delphi., т.е., в автономном режиме. Этот этап выполняется в следующей последовательности: Войти в меню Project и выбрать пункт Options. При этом откроется диалоговое окно Project Options с несколькими закладками.
На странице этой закладки в поле Output directory области Directories нужно внести полное имя папки, в которой в дальнейшем будет храниться файл с ехе-модулем приложения. Это можно выполнить одним из двух способов: 1) непосредственно в указанное поле ввести с клавиатуры полное имя нужной папки, либо 2) с помощью браузера (кнопка ) найти нужную папку и щелкнуть Ok. В результате этой операции транслятор установит по умолчанию на время текущего сеанса работы введенную папку выходной, куда будут направляться результаты трансляции и компоновки модулей, а также сохранятся модули и проекты по команде Save. Перейти на страницу закладки Application:
Назначить пиктограмму приложению. Для этого нужно щелкнуть кнопку , в результате чего появится следующее окно:
Далее необходимо в этом окне перейти к папке, которой хранятся файлы с иконками (например, папка Program FilesCommon FilesBorland SharesImagesIcons), выбрать требуемую иконку и щелкнуть кнопку Открыть. На странице окна Project Options щелкнуть кнопку OK. Выполнить компиляцию проекта: войти в меню Project и выполнить команду Compile … Далее можно ярлык сформированной иконки вынести на Рабочий стол или в другое требуемое место. 9.3. Создание приложений с несколькими формами. Очень часто сложные программы используют несколько форм в силу того, что одно окно обладает весьма ограниченными интерфейсными возможностями. Подключение новой формы к приложению предполагает выполнение трех этапов: Добавление нового компонента формы к проекту. Программная реализация взаимодействия форм проекта. Определение главной формы проекта. Добавление новой формы к проекту можно выполнить несколькими способами. Самый простой способ состоит в использовании меню File: в подменю New выполнить пункт Form. В этом случае к проекту добавляется пустая заготовка формы и сопутствующий ей программный модуль Unit… Delphi позволяет добавить и более сложные шаблоны форм, которые уже содержат Некоторые несложные и наиболее распространенные заготовки форм содержатся в таких закладках, как Forms, Dialogs. Программная реализация взаимодействия форм проекта предполагает а) организацию взаимодействия на уровне программного интерфейса и б) программную реализацию активизации новой формы. Для обеспечения взаимодействия форм нужно в вызывающем модуле (например, Unit1) организовать ссылку на модуль вызываемой формы. Это можно сделать автоматически (меню File пункт Use Unit…) или вручную – в раздел implementation вызывающего модуля (например, модуля Unit1) ввести оператор Uses Unit… (например, Uses Unit2;). Для активизации добавленной формы во время выполнения приложения можно воспользоваться методом Show или ShowModal: Form2.Show; Form2.ShowModal; Метод Show активизирует другую форму в многозадачном режиме, т.е., в этом случае можно переключаться с одной формы на другую и параллельно работать с обеими формами. Метод ShowModal активизирует так называемую модальную форму. В таком случае система может работать только с модальной формой вплоть до ее закрытия. Все остальные формы до закрытия модальной формы заблокированы. Это же можно сделать с помощью следующего оператора: Form2:= TForm2.Create(Self); Пример простейшей программы взаимодействия двух форм (Form1 и Form2): unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Form2.Show; end; end. Главной формой называется форма, которая появляется на экране сразу после старта приложения. По умолчанию в качестве главной формы выбирается первая создаваемая форма. Для определения другой главной формы проекта нужно войти в подменю Options меню Project и перейти в закладку Forms. Далее в выпадающем списке Main Form выделить главную форму и щелкнуть кнопку OK.
|
| Оглавление| |