- •Часть 1. Среда Delphi Тема 1. Объектно-ориентированное программирование
- •Тема 2. Элементы интерфейса
- •Окно проектировщика формы
- •Окно инспектора объектов
- •С оздание и сохранение проекта и файла модуля Как открыть новый проект?
- •Как открыть существующий проект?
- •Тема 3. Характеристика проекта. Состав проекта
- •Файлы формы
- •Файлы модулей
- •Файл ресурсов
- •Параметры проекта
- •Тема 4. Компиляция и выполнение проекта
- •Тема 5. Основные объекты
- •Основные свойства объектов
- •Основные события
- •Часть 2. Язык Object Pascal
- •Тема 1. Основные понятия
- •Словарь языка
- •Структура программы
- •Комментарии
- •Тема 2. Данные Виды данных
- •Типы данных
- •Простые типы данных
- •Структурные типы данных
- •Тема 3. Выражения
- •Арифметические выражения
- •Логические выражения
- •Строковые выражения
- •Тема 4. Простые операторы Оператор присваивания
- •Оператор перехода
- •Тема 5. Работа с графикой
- •Оператор доступа
- •Рисование многоугольников в Delphi
- •Закрашивание произвольной области в Delphi
- •Работа с несколькими формами
- •Объект Shape (Фигура)
- •Тема 6. Работа с датой и временем Объект Timer
- •Свойства компонента Timer
- •Манипулирование датами и временем
- •Тема 7. Встроенные окна диалога.
- •Окно ввода данных
- •InputВох(заголовок, подсказка, значение)
- •Окно вывода сообщений
- •Тема 8. Структурированные операторы
- •Составной оператор
- •Условный оператор
- •Оператор выбора
- •Операторы цикла
- •Тема 9. Подпрограммы
- •Процедуры
- •Функции
- •Параметры и аргументы
- •Тема 10. Работа с элементами выбора
- •1. Флажок (CheckBox)
- •2. ПереключательRadioButton
- •Свойства компонента RadioButton
- •Свойства компонента tRadioGroup
- •3. Простой список ListBox
- •Свойства компонента ListBox
- •4. Комбинированный список ComboBox
- •Свойства компонента СотbоВох
- •Значения для свойства Style
- •Тема 11. Работа с меню
- •Основные свойства пункта меню:
- •Главное меню
- •Конструктор меню
- •Динамическая настройка меню
- •Тема 12. Массивы
- •Объявление массива
- •Операции с массивами
- •Вывод массива
- •Ввод массива
- •Использование компонента StringGrid
- •Использование компонента Memo
- •Поиск минимального (максимального) элемента массива
- •Сортировка массива
Тема 3. Характеристика проекта. Состав проекта
Проект Delphi представляет собой набор программных единиц – модулей. Один из модулей – главный, содержит инструкции, с которых начинается выполнение программы. Главный модуль приложения полностью формируется Delphi.
Главный модуль (или файл проекта) представляет собой файл с расширением dpr. Для отображения кода файла проекта в окне Редактора кода с целью просмотра и редактирования достаточно выполнить команду Project | View Source (Проект | Просмотр источника).
Для приложения, включающего в свой состав одну форму, файл проекта имеет следующий вид:
program Projecti;
uses
Forms,
Unitl in 'Unitl.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm{TForm1, Form1);
Application.Run;
end.
Имя проекта (программы) совпадает с именем файла проекта и указывается при сохранении этого файла на диске, первоначально это имя Project1. То же имя имеют файлы ресурсов и параметров проекта, при переименовании файла проекта данные файлы автоматически переименовываются.
Сборка всего проекта выполняется при компиляции файла проекта. При этом имя создаваемого приложения (ЕХЕ-файл) или динамически загружаемой библиотеки (DLL-файл) совпадает с названием файла проекта.
В разделе uses указывается имя подключаемого модуля Forms, который является обязательным для всех приложений, имеющих в своем составе формы. Кроме того, в разделе uses перечисляются подключаемые модули всех форм проекта, первоначально это модуль unitl формы Form1.
Директива $R подключает к проекту файл ресурсов, который по умолчанию имеет имя, совпадающее с именем файла проекта. Поэтому вместо имени файла ресурса указан символ *. Кроме этого файла разработчик может подключить к проекту и другие ресурсы, самостоятельно добавив директивы $R и указав в них соответствующие имена файлов ресурсов.
Программа проекта содержит всего три оператора, выполняющих инициализацию приложения, создание формы Form1 и запуск приложения.
При выполнении разработчиком каких-либо операций с проектом код файла проекта формируется Delphi автоматически. Например, при добавлении новой формы в файл проекта добавляются две строки кода, относящиеся к этой форме, а при исключении формы из проекта эти строки также автоматически исключаются. При необходимости программист может вносить изменения в файл проекта самостоятельно, однако подобные действия могут разрушить целостность проекта и поэтому обычно выполняются опытными программистами. Отметим, что ряд операций, например, создание обработчика события для объекта Application не может быть выполнен Delphi автоматически и требует самостоятельного кодирования в файле проекта.
Файлы формы
Для каждой формы в составе проекта автоматически создаются файл описания (DFM) и файл модуля (PAS).
Файл описания формы является ресурсом Delphi и содержит характеристики формы и ее компонентов. Разработчик обычно управляет этим файлом через окно Конструктора формы и Инспектор объектов. При конструировании формы в файл описания автоматически вносятся соответствующие изменения. При необходимости можно отобразить этот файл на экране в текстовом виде, что выполняется командой View as Text (Просмотреть как текст) контекстного меню формы. При этом форма пропадает с экрана, а содержимое файла ее описания открывается в окне Редактора кода и доступно для просмотра и редактирования.
Файл описания содержит перечень всех объектов формы, включая саму форму, а также свойства этих объектов. Для каждого объекта указывается его тип, для формы ее тип (класс) TForm1 описывается в модуле этой формы.
П овторное открытие окна Конструктора формы выполняется командой View | Forms (Просмотр | Формы) или комбинацией клавиш <Shift>+<F12>, в результате чего открывается диалоговое окно View Form (Просмотр форм), в котором выбирается нужная форма.
Одновременно можно отобразить на экране несколько форм. Для закрытия окна Конструктора той или иной формы достаточно выполнить команду File | Close (Файл | Закрыть) или щелкнуть мышью на кнопке закрытия соответствующего окна.
Файл модуля формы содержит описание класса формы. Для пустой формы, добавляемой к проекту по умолчанию, файл модуля содержит следующий код:
unit Unitl;
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.
Файл модуля формы создается Delphi автоматически при добавлении новой формы. По умолчанию к проекту добавляется новая форма типа TForm, не содержащая компонентов.
В разделе interface модуля формы содержится описание класса формы, а в разделе implementation – подключение к модулю директивой $R визуального описания соответствующей формы. При размещении на форме компонентов, а также при создании обработчиков событий в модуль формы вносятся соответствующие изменения. При этом часть этих изменений вносится Delphi автоматически, а другую часть вносит разработчик. Обычно все действия разработчика, связанные с программированием, выполняются именно в модулях форм. Тексты модулей форм отображаются и редактируются с помощью Редактора кода. Открыть модуль формы можно в стандартном окне открытия файла, вызываемом командой File | Open (Файл | Открыть) или в диалоговом окне View Unit (Просмотр модуля), которое появляется при выполнении команды View | Units (Просмотр | Модули) или нажатии комбинации клавиш <Ctrl>+<F12>. В окне открытия модуля можно выбрать также файл проекта.
После выбора нужного модуля (или проекта) и нажатия кнопки ОК его текст появляется на отдельной странице Редактора кода.
Оба файла каждой формы (описания и модуля) имеют одинаковое имя, которое отличается от имени файла проекта, несмотря на то, что файл проекта имеет другое расширение.
При компиляции модуля автоматически создается файл с расширением DCU, который содержит откомпилированный код модуля. Этот файл можно удалять из каталога, в котором находятся все файлы проекта, но Delphi снова создает этот файл при следующей компиляции модуля или проекта.