32 урока по Delphi

Урок 3: Управление проектом

Содержание урока 3:
Обзор
Проект Delphi
Пункт меню “File”
Управление проектом
Обзор других пунктов меню
Edit
Search
View
Compile
Пункт меню Options | Project
Forms
Applications
Compiler
Linker
Directories/Conditionals
Конфигурация среды программирования

Обзор

В данной статье рассказывается как :

- Добавлять и удалять формы и модули в проект
- Управлять окнами на рабочем пространстве
- Создавать выполняемый файл для Windows
- Тонко настроить среду программирования

Проект Delphi

Любой проект имеет, по-крайней мере, шесть файлов, связанных с ним. Три из них относятся к управлению проектом из среды и напрямую программистом не меняются. Вот эти файлы :

- Главный файл проекта, изначально называется PROJECT1.DPR.
- Первый модуль программы /unit/, который автоматически появляется в начале работы. Файл называется UNIT1.PAS по умолчанию, но его можно назвать любым другим именем, вроде MAIN.PAS.
- Файл главной формы, который по умолчанию называется UNIT1.DFM, используется для сохранения информации о внешнем виде главной формы.
- Файл PROJECT1.RES содержит иконку для проекта, создается автоматически.
- Файл, который называется PROJECT1.OPT по умолчанию, является текстовым файлом для сохранения установок, связанных с данным проектом. Например, установленные Вами директивы компилятора сохраняются здесь.
- Файл PROJECT1.DSK содержит информацию о состоянии рабочего пространства.

Разумеется, если сохранить проект под другим именем, то изменят название и файлы с расширением RES, OPT и DSK.

После компиляции программы получаются файлы с расширениями:

DCU - скомпилированные модули

EXE - исполняемый файл

DSM - служебный файл для запуска программы в среде, очень большой, рекомендуется стирать его при окончании работы.

~PA, ~DP - backup файлы Редактора.

Пункт меню “File”

Если нужно сохранить проект, то Вы выбираете пункт главного меню “File” (с помощью мышки или по клавише Alt+F). Пункт меню “File” выглядит следующим образом:

New Project

Open Project

Save Project

Save Project As

Close Project

---------------------

New Form

New Unit

New Component

Open File

Save File

Save File As

Close File

---------------------

Add File

Remove File

---------------------

Print

---------------------

Exit

---------------------

1 PREV1.DPR

2 PREV2.DPR

Как Вы можете видеть, здесь есть шесть секций; вот их назначение:

- Первая секция дает возможность управления проектом вцелом.
- Вторая секция дает контроль над формами, модулями и компонентами проекта.
- Третья позволяет добавлять и удалять файлы из проекта.
- Четвертая управляет печатью.
- Пятая секция - выход из Delphi
- Шестая секция предоставляет список ранее редактировавшихся проектов; Вы можете быстро открыть нужный.

Как Вы увидите позже, большинство операций из пункта меню “File” можно выполнить с помощью Менеджера Проекта (Project Manager), который можно вызвать из пункта меню View. Некоторые операции доступны и через SpeedBar. Данная стратегия типична для Delphi: она предоставляет несколько путей для решения одной и той же задачи, Вы сами можете решать, какой из них более эффективен в данной ситуации.

Каждая строка пункта меню “File” объяснена в Справочнике. Выберите меню “File” и нажмите F1, появится экран справочника, как на рис.1.

Рис.1: Delphi включает подсказку, как использовать пункт меню “File”.

Большинство из пунктов первой секции очевидны. “New Project” начинает новый проект, “Open Project” открывает существующий проект и т.д.

Первые два пункта второй секции позволяют Вам создать новую форму или новый модуль. Выбирая “New Form”, Вы создаете новую форму и модуль, связанный с ней; выбирая “New Unit”, Вы создаете один модуль.

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

“Open File” открывает при необходимости любой модуль или просто текстовый файл. Если модуль описывает форму, то эта форма тоже появится на экране.

При создании нового модуля Delphi дает ему имя по-умолчанию. Вы можете изменить это имя на что-нибудь более осмысленное (например, MAIN.PAS) с помощью пункта “Save File As“.

“Save File” сохраняет только редактируемый файл, но не весь проект.

“Close File” удаляет файл из окна Редактора.

Нужно обратить внимание: Вы должны регулярно сохранять проект через File | Save Project либо через нажатие Ctrl+S.

Управление проектом

Теперь, когда Вы знаете о создании проекта с помощью пункта меню “File”, перейдем к Менеджеру Проектов, который помогает управлять проектом. Менеджер Проектов, рис.3, разделен на две части. Верхняя - панель с управляющими кнопками. Нижняя - список модулей, входящих в проект.

Рис.3: Кнопки сверху используются для удаления и добавления модулей в проект.

Вы можете использовать кнопки с плюсом и минусом для добавления и удаления файлов в проекте. Эти изменения влияют на файлы с исходным текстом, то есть, если добавить в проект модуль, то ссылка на него появится в файле с расширением DPR.

Краткое описание других кнопок :

- Третья слева кнопка - просмотр текста модуля, на котором стоит курсор.
- Четвертая - просмотр формы, если есть таковая для данного модуля
- Пятая - вызов диалога настройки проекта, сам диалог будет рассмотрен позже.
- Последняя - сохранение изменений на диске.

Обзор других пунктов меню

Пункт меню “File” обсуждался ранее. Далее рассматриваются другие важные пункты - “Edit”, “Search”, “View” и “Compile”, но менее подробно. Далее, снова подробно, рассказывается о “Options”.

1. Пункт меню “Edit”

“Edit” содержит команды “Undo” и “Redo”, которые могут быть очень полезны при работе в редакторе для устранения последствий при неправильных действиях, например, если случайно удален нужный фрагмент текста.

Отметьте для себя, что Справочник (on-line help) объясняет как нужно использовать пункт меню Options | Environment для настройки команды “Undo”. Возможность ограничить возможное количество команд “Undo” может пригодиться, если Вы работаете на машине с ограниченными ресурсами.

Команды “Cut”, “Copy”, “Paste” и “Delete” - как во всех остальных приложениях Windows, но их можно применять не только к тексту, но и к визуальным компонентам.

“Bring To Front”, “Send To Back”, “Align” и “Size” обсуждались в Уроке № 2. Оставшиеся четыре пункта помогают быстро “приукрасить” внешний вид формы.

2. Пункт меню “Menu”

В “Search” есть команда “Find Error” (поиск ошибки), которая поможет отследить ошибку периода выполнения программы. Когда в сообщении об ошибке указан ее адрес, Вы можете выбрать пункт меню Search | Find Error и ввести этот адрес. Если это представится возможным, то среда переместит Вас в то место программы, где произошла ошибка.

3. Пункт меню “View”

Составляющие пункта меню “View”:

- Project Manager (Менеджер Проекта).
- Project Source - загружает главный файл проекта (DPR) в Редактор
- Установка, показывать или нет Object Inspector на экране.
- Установка, показывать или нет Alignment Palette. То же самое доступно из пункт меню Edit | Align.
- Browser - вызов средства для просмотра иерархии объектов программы, поиска идентификатора в исходных текстах и т.п.
- Watch, Breakpoint и Call Stack - связаны с процедурой отладки программы и будут обсуждаться позднее.
- Component List - список компонент, альтернатива Палитре Компонент. Используется для поиска компонента по имени или при отсутствии мыши.
- Window List - список окон, открытых в среде Delphi.
- Toggle Form/Unit, Units, Forms - переключение между формой и соответствующим модулем, выбор модуля или формы из списка.
- New Edit Window - открывает дополнительное окно Редактора. Полезно, если нужно, например, просмотреть две разных версии одного файла.
- SpeedBar и Component Palette - установки, нужно ли их отображать.

1. Пункт меню “Compile”

В пункте меню “Compile” проект можно скомпилировать (compile) или перестроить (build). Если выбрать Compile или Run, то Delphi перекомпилирует только те модули, которые изменились со времени последней компиляции. Build all, с другой стороны, перекомпилирует все модули, исходные тексты которых доступны. Команда Syntax Check только проверяет правильность кода программы, но не обновляет DCU файлы.

В самом низу - пункт Information, который выдает информацию о программе: размеры сегментов кода, данных и стека, размер локальной динамической памяти и количество скомпилированных строк.

2. Пункт меню “Run”

Можно использовать “Run” для компиляции и запуска программы и для указания параметров командной строки для передачи в программу. Здесь же имеются опции для режима отладки.

Пункт меню Options | Project

“Options” наиболее сложная часть системного меню. Это центр управления, из которого вы можете изменять установки для проекта и для всей рабочей среды Delphi. В “Options” есть семь пунктов:

Project

Environment

Tools

Gallery

--

Open Library

Install Components

Rebuild Library

Первые четыре пункта вызывают диалоговые окна. Ниже приведено общее описание пункта меню “Options”:

- Project - выбор установок, которые напрямую влияют на текущий проект, это могут быть, к примеру, директивы компилятора проверки стека (stack checking) или диапазона (range checking).
- Environment - конфигурация самой среды программирования (IDE). Например, здесь можно изменить цвета, используемые в Редакторе.
- Tools - позволяет добавить или удалить вызов внешних программ в пункт главного меню “Tools”. Например, если Вы часто пользуетесь каким-нибудь редактором или отладчиком, то здесь его вызов можно добавить в меню.
- Gallery - позволяет определить специфические установки для Эксперта Форм и Эксперта Проектов и их “заготовок”. Эксперты и “заготовки” предоставляют путь для ускорения конструирования интерфейса программы.
- Последние три пункта позволяют сконфигурировать Палитру Компонент.

Диалог из пункта Options | Project включает пять страниц:

- На странице Forms перечислены все формы, включенные в проект; Вы можете указать, нужно ли автоматически создавать форму при старте программы или Вы ее создадите сами.
- На странице Application Вы определяете элементы программы такие, как заголовок, файл помощи и иконка.
- Страница Compiler включает установки для генерации кода, управления обработкой ошибок времени выполнения, синтаксиса, отладки и др.
- На странице Linker можно определить условия для процесса линковки приложения
- Страница Directories/Conditionals - здесь указываются директории, специфичные для данного проекта.

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

Все установки для проекта сохраняются в текстовом файле с расширением OPT и Вы можете вручную их исправить.

1. Страница Forms

На странице Forms можно выбрать главную форму проекта. Изменения, которые Вы сделаете, отобразятся в соответствующем файле DPR. Например, в нижеследующем проекте, Form1 является главной, поскольку появляется первой в главном блоке программы:

program Project1;

uses

Forms,

Unit1 in 'UNIT1.PAS' {Form1},

Unit2 in 'UNIT2.PAS' {Form2};

{$R *.RES}

begin

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.Run;

end.

Если изменить код так, чтобы он читался

begin

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

то теперь Form2 станет главной формой проекта.

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

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

2. Страница Applications

На странице Applications, см. рис.5, вы можете задать заголовок (Title), файл помощи (Help file) и пиктограмму (Icon) для проекта.

Рис.5: Страница общих установок для приложения.

3. Страница Compiler

Ранее уже говорилось, что установки из пункта меню “Options | Project” сохраняются в соответствующем файле с расширением OPT. Давайте рассмотрим директивы компилятора на странице Compiler (рис.6).

Рис.6: Страница для определения директив компилятора.

Следующая таблица показывает, как различные директивы отображаются в OPT файле, на странице Compiler и внутри кода программы:

OPT File | Options Page | Editor Symbol
F | Force Far Calls | {$F+}
A | Word Align Date | {$A+}
U | Pentium-Safe FDIV | {$U+}
K | Smart Callbacks | {$K+}
W | Windows (3.0) Stack Frame | {$W+}
R | Range Checking | {$R+}
S | Stack Checking | {$S+}
I | IO Checking | {$I+}
Q | Overflow Checking | {$Q+}
V | Strict Var Strings | {$V+}
B | Complete Boolean Evaluation | {$B+}
X | Extended Syntax | {$X+}
T | Typed @ Operator | {$T+}
P | Open Parameters | {$P+}
D | Debug Information | {$D+}
L | Local Symbols | {$L+}
Y | Symbol Information | {$Y+}
N | Numeric Processing | {$N+}

4. Страница Linker

Теперь давайте перейдем к странице Linker, показанной на рис.7.

Рис.7: Страница линковщика.

Установки отладчика рассматриваются ниже. Если буфер линковщика расположен в памяти, то линковка происходит быстрее.

Размер стека (Stack Size) и локальной динамической памяти (Heap Size) весьма важны. Delphi устанавливает по умолчанию и Stack Size, и Heap Size в 8192 байт каждый. Вам может понадобиться изменить размер стека в программе, но обычно это не более 32Кб. В сумме эти два размера не должны превышать 64Кб, иначе будет выдаваться ошибка при компиляции программы.

5. Страница Directories/Conditionals

Страница Directories/Conditionals, рис.8, дает возможность расширить число директорий, в которых компилятор и линковщик ищут DCU файлы.

Рис.8: Страница Directories/Conditionals.

В файле DELPHI.INI содержится еще один список директорий. Запомните, что в OPT файле - список директорий для конкретного проекта, а в файле DELPHI.INI - список относится к любому проекту.

Output directory - выходная директория, куда складываются EXE и DCU файлы, получающиеся при компиляции.

Search path - список директорий для поиска DCU файлов при линковке. Директории перечисляются через точку с запятой ;

Conditional defines - для опытного программиста и на первом этапе создания проекта не требуется. Для информации можно вызвать Справочник (on-line help).

Конфигурация среды программирования (IDE)

Пункт меню “Options | Environment” предоставляет Вам большой набор страниц и управляющих элементов, которые определяют внешний вид и работу IDE. Delphi позволяет сделать следующие важные настройки:

1. Определить, что из проекта будет сохраняться автоматически.
2. Можно менять цвета IDE.
3. Можно менять подсветку синтаксиса в Редакторе.
4. Можно изменить состав Палитры Компонент.
5. Указать “горячие клавиши” IDE.

Первая страница пункта меню “Options | Environment” показана на рис.9

Рис.9: Страница Preferences.

В группе “Desktop Contents” определяется, что будет сохраняться при выходе из Delphi. Если выбрать Desktop Only - это сохранит информацию о директориях и открытых окнах, если выбрать Desktop And Symbols - это сохранит то же самое плюс информацию для броузера (browser).

В группе “Autosave” указывается, что нужно сохранять при запуске программы. Если позиция Editor Files выбрана, то сохраняются все модифицированные файлы из Редактора при выполнении команд Run|Run, Run|Trace Into, Run|Step Over, Run|Run To Cursor или при выходе из Delphi. Если позиция Desktop выбрана - сохраняется рабочая среда при закрытии проекта или при выходе из Delphi. Если Вы позже откроете проект, то он будет иметь тот же вид, что и при его закрытии.

В группе “Form Designer” можно установить, показывать ли сетку (grid) на экране и выравнивать ли объекты по ней, и размер ячеек сетки.

В группе “Debugging”: опция Integrated Debugging - использовать ли встроенный отладчик; Step Program Block - отладчик остановится на первой строке модуля, в котором есть отладочная информация; Break On Exception - останавливать ли программу при возникновении исключительной ситуации; Minimize On Run - свертывать ли Delphi при запуске программы. После закрытия программы среда Delphi восстанавливается. Hide Designers On Run - прячет окна Дизайнера (Инспектор Объектов, формы) при запуске приложения.

Show Compiler Progress - показывать ли окно, в котором отражается процесс компиляции программы.

“Gallery” - указывает, в каких случаях нужно предоставлять “галерею” (коллекцию заготовок и экспертов).

Страницы Editor Options, Editor Display и Editor Colors позволяют Вам изменить цвета и “горячие” клавиши, используемые IDE. Страница Editor Display показана на рис.10, а Editor Colors - на рис.11.

Рис.10: Страница Editor Display.

Рис.11: Страница Editor Colors.

Существует несколько способов изменить назначение “горячих” клавиш, используемых Редактором. Например, многие пользователи привыкли, что по клавише F5 максимизируется окно Редактора. Для этого им надо использовать расположение клавиш, называемое “Classi c” (Keystroke mapping : Classic). Всего есть четыре вида конфигурации клавиш:

- “Default” - характерно для Microsoft. Если Вы новичок в Windows или уже привыкли к этому расположению клавиш, то это подойдет.
- “Classic” - более известно ветеранам Borland C++ и Borland Pascal. Поддерживает многие комбинации клавиш WordStar и отладчик управляется старым добрым способом.
- Остальные два вида - имитируют редакторы Epsilon и BRIEF. Подойдут, если вы с ними знакомы.

Точное описание назначения клавиш можно найти в Справочнике (в Help | Topic Search набрать “key mapping”).

Цвета IDE можно изменить на странице Editor Colors.

И, наконец, Editor Options (рис.12).

Рис.12: На странице Editor Options можно настроить тонкие детали работы Редактора.

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

“Use syntax highlight” - выделять ли цветом синтаксические конструкции в Редакторе Исходного текста.

“Find text at cursor” - если включено, то при поиске (Ctrl+F) в качестве подстроки для поиска будет браться то слово, на котором стоит курсор.

Обо всех опциях можно подробнее узнать в Справочнике (F1).

Установки сохраняются в файле DELPHI.INI, который находится в директории Windows.