русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Создание и структура пользовательских приложений в среде Delphi


Дата добавления: 2015-07-09; просмотров: 1267; Нарушение авторских прав


Для создания нового проекта следует выполнить команду: File – New и выбрать вариант Application (Приложение).

Не забудьте, что приложение в Delphi состоит из нескольких файлов. Файл проекта имеет расширение *.dpr, файл модуля имеет расширение *.pas, которых в проекте может быть несколько, кроме того, приложение может содержать еще ряд файлов, например, файлы форм .dfm (.xfm), текстовые файлы, файлы рисунков, используемых в проекте и т.д. Поэтому каждый проект следует сохранять в отдельной папке (особенно если вы не изменяете стандартные имена Project и Unit).

При первом сохранении Delphi спросит имя файла сохраняемого модуля (*.pas), а затем — имя файла проекта (*.dpr). Их надо задать, выбрать нужную папку и сохранить (выбрать ОК). Имена всех дополнительных файлов совпадают с именем проекта или модуля и сохраняются автоматически. Так что при сохранении надо дать имена только файлу проекта и модуля. Но Delphi не допускает одинаковых имен модулей и проектов. Поэтому задаваемые имена файлов должны быть разными.

Для повторного сохранения проекта в целом следует использовать команду Save All. Команда Save сохраняет только текущий модуль, с которым работает пользователь (*.pas).

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

1) File - Reopen (если работа проводилась недавно) или

2) File - Open Project, следует открывать файл проекта *.dpr(нельзя открывать файл модуля *.pas, т.к. без файла проекта он не компилируется и на исполнение не запускается!).

Основные форматы файлов в Delphi:

· *.dpr - файл проекта,

· *.pas - файл модуля имеет расширение, модулей в проекте может быть несколько. Каждой создаваемой форме соответствует текстовый файл модуля.

· файл формы *.dfm (*.xfm) - это двоичный или текстовый файл для хранения информации о форме;



· *.res - бинарный файл ресурсов, используемых в приложении;

· *.bpl - файл подключаемой в процессе разработки динамической библиотеки;

· *.bpg - файл группы файлов - создается при работе с группой проектов;

· *.dfo - файл параметров проекта, хранит установки параметров проекта;

· *.exe - исполняемый файл приложения;

· *.dcu - объектный файл модуля - откомпилированный объектный файл модуля, который компонуется в исполняемый файл;

· *.~dp, *.~df, *.~pa -файлы резервных копий и т. д.

 

Структура файлов головной программы (*.dpr) и модуля (*.pas)

При проектировании приложения, Delphi автоматически создает полный код голов­ной программы (например, Project1.dpr) и структуру отдельных модулей (например, unit1.pas). В модули вручную добавляется только код об­работки различных событий. Но головную программу, как правило, не корректируют и даже не просматривают ее код.

Для просмотра текста головной программы проекта (*.dpr), модуль которого от­крыт в окне Редактора Кода, надо выполнить команду Project - View Source. Голов­ной файл загрузится в окно Редактора Кода. Или при загруженном проекте перейти на вкладку Project1 в окне редактора кода.

Головная программа проекта имеет следующую структуру:

Program <имя>;

<Объявления подключаемых модулей, а также объявления локальных

для головного файла, типов, классов, констант, переменных,

описания локальных функций и переменных>

begin

<операторы тела программы>

end.

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

Типичный головной файл Project1.dpr в Delphi имеет вид:

program Project1;

uses Forms,

Unit1 in 'Unit1.pas' {Form1},

Unit2 in 'Unit2.pas' {Form.2},

{$R *.RES}

{Здесь можно поместить описания каких-то констант, переменных, функций, процедур. Все это будет доступно только в пределах данного файла.}

begin

Application.Initialize;

Application.CreateForm(Tform1, Form1);

Application.CreateForm(TForm2, Form2);

Application.Run;

end.

Имя программы совпадает с именем файла, в котором сохранен проект. Это же имя присваивается выполняемому файлу приложения (*.exe).

После заголовка в тексте программы располагается предложение uses. В этом предложении перечисляются модули, загружаемые програм­мой — системные и модули приложения (в частности, модули всех форм). В при­веденном примере подразумевает, что в проекте созданы две формы с именами Form1 и Form2 в модулях с именами Unitl и Unit2. Названия форм включаются в текст в виде комментариев.

Следующая строка текста — {$R *.RES} представляет собой директиву компи­лятора. Затем после ключевого слова begin и до последнего завершающего программу оператора end с точкой (end.) записано тело программы.

Первый выполняемый оператор в теле программы инициализирует приложе­ние, два следующих — создают объекты форм Form1 и Form2, последний — начи­нает выполнение приложения.

 

7.4. Структура модуля (*.pas)

Имя модуля также совпадает с именем соответствующего файла модуля (*.pas). Каждый модуль в общем случае имеет следующую структуру:

unit <имя модуля>;

interface // Открытый интерфейс модуля

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

implementation // Реализация модуля

{Сюда могут помещаться списки подключаемых модулей, объявления типов, констант, переменных, к которым не будет доступа из других модулей. Тут же должны быть реализации всех объявленных в разделе interface функций и процедур, а также могут быть реализации любых дополнитель­ных, не объявленных ранее функций и процедур.}

initialization // не обязательный

<Операторы, выполняемые один раз при первом обращении к модулю>

finalization // не обязательный

<Операторы, выполняемые при любом завершении работы модуля>

end.

Раздел interface представляет собой внешний интерфейс модуля. Поэтому под­ключаемые в нем модули, объявленные типы, классы, константы, переменные, функции и процедуры доступны внешним модулям, обращающимся к данному мо­дулю.

Раздел implementation представляет собой реализацию модуля. Все подклю­чаемые в нем модули, объявленные типы, классы, константы, переменные, функ­ции и процедуры доступны только в пределах данного модуля. Основное тело мо­дуля составляют коды, реализующие объявленные функции и процедуры.

Раздел initialization включает в себя операторы, которые выполняются только один раз при первом обращении программы к данному модулю. Этот раздел не яв­ляется обязательным, В нем могут помещаться какие-то операторы, производящие начальную настройку модуля.

При наличии в программе нескольких модулей, содержащих разделы initiali­zation, последовательность выполнения операторов этих разделов определяется последовательностью указания соответствующих модулей в операторах uses.

Например, если в головной программе имеется оператор

uses unit1, unit2, ...

то сначала будет выполняться (если он есть) раздел initialization модуля unit1, а затем раздел initialization модуля unit2.

Раздел finalization включает в себя операторы, которые выполняются только один раз при любом завершении работы программы, нормальном или аварийном. Этот раздел не является обязательным. В нем могут помещаться какие-то операто­ры, производящие зачистку «мусора» — удаление временных файлов, освобожде­ние ресурсов памяти и т.п. Введение раздела finalization не разрешается, если в модуле нет раздела initialization. Последовательность выполнения операторов разделов finalization различных модулей обратная той, которая была описана выше для разделов initialization.

 



<== предыдущая лекция | следующая лекция ==>
Синтаксические правила языка Object Pascal | Написание отклика на событие


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.543 сек.