
- •Основные понятия объектно-ориентированного программирования
- •Объекты
- •Классы объектов
- •Три основных принципа ооп
- •Событийный механизм управления
- •Структура приложения разработанного с использованием ооп
- •Этапы создания приложений
- •Интегрированная среда разработки приложений
- •Структура проекта Delphi
- •Общая организация программы в Delphi
- •Структура главного файла проекта *.Dpr
- •Структура модуля приложения Delphi *.Pas
- •Структура событийной процедуры
- •Создание, компиляция и сохранение проекта
- •Основные общие свойства компонентов Delphi
- •Основные общие методы объектов Delphi
- •Основные события объектов Delphi
- •События инициируемые мышью
- •События инициируемые клавиатурой
- •События инициируемые для компонентов
- •Краткая характеристика компонентов, используемых при создании простых приложений
Структура главного файла проекта *.Dpr
Код главного файла проекта (головной программы) создается Delphi автоматически и, как правило, не требует модификации. Пример структуры такой головной программы приведен ниже.
program Project1; |
Программа начинается с ключевого слова program, после которого указывается имя программы. Оно совпадает с именем файла, в котором сохраняется проект. Это же имя присваивается исполняемому файлу приложения. По умолчанию используется имя Project1. |
uses Forms, Unit1 in 'Unit1.pas' {Form1}; |
В разделе uses перечисляются все модули, загружаемые программой. Первый модуль Forms является системным (в нем содержатся характеристики форм приложения), а следующие – модулями разработанных пользователем форм. Данный проект состоит из одной формы с именем Form1, которая содержится в модуле Unit1. После ключевого слова in указывается имя файла, в котором содержится модуль Unit1. |
{$R *.res} |
Эта строка представляет собой директиву компилятора, которая связывает с исполняемым модулем файлы ресурсов Windows. Символ * означает, что имя файла ресурса совпадает с именем файла проекта. |
begin Application.Initialize; Application.CreateForm (TForm1, Form1); Application.Run;
end. |
Объект Application создается автоматически. Инициализация приложения начинается с вызова метода Initialize. Метод CreateForm загружает в оперативную память объекты главной формы приложения (остальные формы могут загружаться динамически в процессе работы приложения). Метод Run начинает выполнять приложение. |
Структура модуля приложения Delphi *.Pas
Текст программы, описывающей форму, хранится в модуле с расширением .Pas, его название должно совпадать с именем файла, по умолчанию Unit1.pas. Модуль состоит из разделов: интерфейса и реализации.
Структура модуля приложения Delphi:
Unit Unitl; |
Название модуля (это название используется в предложении Uses при подключении модуля к приложению) |
Interface … |
Раздел интерфейса |
Implementation … |
Раздел реализации (исполняемая часть) |
Раздел интерфейса начинается ключевым словом Interface, он сообщает компилятору, какая часть модуля является доступной для других модулей программы.
Здесь могут размещаться списки подключаемых модулей, объявления типов, констант, переменных, заголовки функций и процедур, к которым будет доступ из других модулей, в том числе и автоматически созданные Delphi объявления класса Form1. Иными словами, в этом разделе описывается область видимости переменных и подпрограмм модуля.
Раздел реализации начинается ключевым словом Implementation и содержит программный код модуля, объявления локальных переменных, процедур и функций, поддерживающих работу формы.
Начинается раздел директивой {$R *.dfm}, указывающей файл, описывающий каждый компонент формы, включая значения всех свойств.
Замечание. Просмотреть файл *.dfm можно с помощью команды View as Text контекстного меню в конструкторе форм.
Далее в разделе реализации могут помещаться предложения: Uses, объявления типов, констант, переменных, к которым не будет доступа из других модулей. Здесь же располагаются все тексты процедур и функций, объявленных в разделе Interface. Заголовки процедур и функций могут полностью совпадать с заголовками из интерфейсной части или могут отличаться от них полным отсутствием параметров. Если в этой части набран текст функции или процедуры, не представленной в Interface, то данная функция или процедура будет локальной.