32 урока по Delphi
Урок 3: Управление
проектом
Содержание урока 3:
Обзор
Проект Delphi
Пункт меню “File”
Управление проектом
Обзор других пунктов меню
Edit
Search
View
Compile
Пункт меню Options | Project
Forms
Applications
Compiler
Linker
Directories/Conditionals
Конфигурация среды программирования
Обзор
В данной статье рассказывается как :
Любой проект имеет, по-крайней мере, шесть файлов, связанных с ним. Три из них относятся к управлению проектом из среды и напрямую программистом не меняются. Вот эти файлы :
После компиляции программы получаются файлы с расширениями:
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
---------------------
---------------------
Exit
---------------------
1 PREV1.DPR
2 PREV2.DPR
Как Вы можете видеть, здесь есть шесть секций; вот их назначение:
Каждая строка пункта меню “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”.
“Edit” содержит команды
“Undo” и “Redo”, которые могут быть очень полезны при работе в редакторе
для устранения последствий при неправильных действиях, например, если случайно
удален нужный фрагмент текста.
Отметьте для себя, что Справочник (on-line help) объясняет как нужно использовать пункт меню Options | Environment для настройки команды “Undo”. Возможность ограничить возможное количество команд “Undo” может пригодиться, если Вы работаете на машине с ограниченными ресурсами.
Команды “Cut”, “Copy”, “Paste” и “Delete” - как во всех остальных приложениях Windows, но их можно применять не только к тексту, но и к визуальным компонентам.
“Bring To Front”, “Send To Back”, “Align” и “Size” обсуждались в Уроке № 2. Оставшиеся четыре пункта помогают быстро “приукрасить” внешний вид формы.
В “Search” есть команда
“Find Error” (поиск ошибки), которая поможет отследить ошибку периода выполнения
программы. Когда в сообщении об ошибке указан ее адрес, Вы можете выбрать
пункт меню Search | Find Error и ввести этот адрес. Если это представится
возможным, то среда переместит Вас в то место программы, где произошла
ошибка.
В пункте меню “Compile”
проект можно скомпилировать (compile)
или перестроить (build). Если выбрать
Compile или Run,
то Delphi перекомпилирует только те
модули, которые изменились со времени последней компиляции. Build all,
с другой стороны, перекомпилирует все модули, исходные тексты которых доступны.
Команда Syntax Check только проверяет правильность кода программы, но не
обновляет DCU файлы.
В самом низу - пункт Information, который выдает информацию о программе: размеры сегментов кода, данных и стека, размер локальной динамической памяти и количество скомпилированных строк.
Пункт меню Options | Project
“Options” наиболее сложная часть системного меню. Это центр управления, из которого вы можете изменять установки для проекта и для всей рабочей среды Delphi. В “Options” есть семь пунктов:
Project
Environment
Tools
Gallery
--
Open Library
Install Components
Rebuild Library
Первые четыре пункта вызывают диалоговые окна. Ниже приведено общее описание пункта меню “Options”:
Все установки для проекта сохраняются в текстовом файле с расширением OPT и Вы можете вручную их исправить.
На странице 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, но об этом позднее.
На странице Applications,
см. рис.5, вы можете задать заголовок (Title),
файл помощи (Help file) и пиктограмму
(Icon) для проекта.
Рис.5: Страница общих установок для приложения.
Ранее уже говорилось,
что установки из пункта меню “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+} |
Теперь давайте перейдем
к странице Linker, показанной на рис.7.
Рис.7: Страница линковщика.
Установки отладчика рассматриваются ниже. Если буфер линковщика расположен в памяти, то линковка происходит быстрее.
Размер стека (Stack Size) и локальной динамической памяти (Heap Size) весьма важны. Delphi устанавливает по умолчанию и Stack Size, и Heap Size в 8192 байт каждый. Вам может понадобиться изменить размер стека в программе, но обычно это не более 32Кб. В сумме эти два размера не должны превышать 64Кб, иначе будет выдаваться ошибка при компиляции программы.
Рис.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 позволяет сделать следующие важные настройки:
Рис.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 максимизируется окно Редактора. Для этого им надо использовать расположение клавиш, называемое “Classic” (Keystroke mapping : Classic). Всего есть четыре вида конфигурации клавиш:
Цвета IDE можно изменить на странице Editor Colors.
И, наконец, Editor Options (рис.12).
Рис.12: На странице Editor Options можно настроить тонкие детали работы Редактора.
Многие из установок на данной странице не очень важны для большинства пользователей, поэтому остановимся лишь на некоторых.
“Use syntax highlight” - выделять ли цветом синтаксические конструкции в Редакторе Исходного текста.
“Find text at cursor” - если включено, то при поиске (Ctrl+F) в качестве подстроки для поиска будет браться то слово, на котором стоит курсор.
Обо всех опциях можно подробнее узнать в Справочнике (F1).
Установки сохраняются в файле DELPHI.INI, который находится в директории Windows.