
Лабораторная работа № 38 Установка параметров проекта в среде Delphi
ЦЕЛЬ РАБОТЫ. Целью работы является практическое освоение методологии и принципов создания базовых стандартных элементов простейших программ без применения графического интерфейса в среде Delphi
ЗАДАНИЕ. Создайте программу в среде Delphi, не используя графический интерфейс, согласно варианта. В программе должна быть предусмотрена, как минимум, одна процедура или функция. Исходные данные должны вводиться с проверкой на область допустимых значений.
Сведения из теории
Любая программа в DELPHI состоит из файла проекта (файл с расширением DPR) и одного или нескольких модулей (файлы с расширением PAS). Каждый из таких файлов описывает программную единицу Object Pascal.
Файл проекта представляет собой программу, написанную на языке Object Pascal и предназначенную для обработки компилятором. Эта программа автоматически создается DELPHI и содержит лишь несколько строк. (View/ProjectSource).
Модуль - автономно компилируемая программная единица, включающая в себя различные компоненты раздела описаний (типы, константы, переменные, процедуры и функции) и, возможно некоторые исполняемые операторы инициирующей части.
Любой модуль имеет следующую структуру:
Заголовок
Секция интерфейсных объявлений
Секция реализаций
Секция инициации
Терминатор
Один из модулей, главный, содержит инструкции, с которых начинается выполнение программы. Главный модуль приложения формирует DELPHI.
Заголовок открывается зарезервированным словом UNIT, за которым следует имя модуля и точка с запятой. Имя модуля служит для его связи с другими модулями и основной программой. Эта связь устанавливается специальным предложением
USES <список модулей>
Секция интерфейсных объявлений открывается зарезервированным словом INTERFACE.
В этой части содержатся объявления всех глобальных объектов модуля (типов, констант, переменных и подпрограмм), которые должны стать доступными основной программе и (или) другим модулям.
Секция реализаций открывается словом IMPLEMENTATION, содержит описание подпрограмм. В ней могут появляться локальные для модуля объекты.
Секция инициации - открывается словом BEGIN.
Терминатором модуля, как и терминатором программы является END с точкой.
Наиболее распространенным типом модуля в DELPHI является ФОРМА – модуль со связанным с ним окном. Интерфейсная часть такого модуля обычно содержит объявление нового класса, и автоматически обновляется в ходе конструирования окна. В интерфейсной части модуля-формы содержится также объявление объекта для соответствующего оконного класса.
Кроме того, есть модули, не связанные с видимыми окнами:
Модули данных имеют связанные с ними окна, однако эти окна никогда не появляются на экране. Необходимость в них появляется при использовании, например, компонентов доступа к базам данных страницы DATA ACCESS, и т.д.
Модули динамических библиотек предназначены для создания широко используемых в WINDOWS динамически связываемых библиотек DLL.
Модули потоков предназначены для реализации так называемых потоков команд – фрагментов программы, которые исполняются параллельно с другими фрагментами, разделяя с ними время процессора и остальные системные ресурсы.
В предшественнике OBJECT PASCAL - Тurbo Pascal есть специальный тип – объект object, однако, существенно усовершенствованный, и разработчики языка OBJECT PASCAL ввели для обозначения объектов специальный термин - Класс
Классами В OBJECT PASCAL называются специальные типы, которые содержат поля, методы и свойства. Как и любой другой тип, класс служит лишь образцом для создания конкретных экземпляров реализации, которые называются объектами.
В основе классов лежат три фундаментальных принципа, которые называются инкапсуляция, наследование и полиморфизм.
Инкапсуляция.
Класс представляет собой единство трех сущностей – полей, методов и свойств. Объединение этих сущностей в единое целое и называется инкапсуляцией. Библиотека классов Delphi – это , фактически, набор «кирпичиков», созданных программистами Borland для построения программ.
Полями называются инкапсулированные в классе данные. Поля могут быть любого типа, в том числе - классами, например,
Type
TMyClass = class
aIntField :Integer;
aStrField :String;
aObjField :Tobject;
end;
Инкапсулированные в классе процедуры и функции называются методами. Они объявляются так же, как и обычные подпрограммы:
Type
TMyClass = class
Function MyFunc (aPar : Integer) :Integer;
Procedure MyProc;
end;
Свойства – это специальный механизм классов, регулирующий доступ к полям. Свойство объекта характеризуется полем, хранящем значение свойства, и двумя методами, обеспечивающими доступ к полю свойства – метод записи свойства (write), метод чтения свойства (read).
Наследование
Концепция объектно-ориентированного программирования предполагает возможность определять новые классы посредством добавления полей свойств и методов к уже существующим классам. Такой механизм получения новых классов называется порождением. При этом новый, порожденный, класс наследует свойства и методы своего базового, родительского класса.
Полиморфизм – это возможность использовать одинаковые имена для методов, входящих в различные классы. Концепция полиморфизма обеспечивает при применении метода к объекту использование именно того метода, который соответствует классу объекта.