- •1. Структура модуля
- •2. Понятие класс. Составляющие класса: поля, свойства, методы. Объявление класса.
- •3. Конструкторы и деструкторы
- •4. Структура проекта и приложения в среде Delphi
- •5. Интерфейс программы Delphi
- •6. Палитра компонентов: вкладки Standard, Additional, Win32.
- •7. Компоненты Edit; Label; Button.
- •8. Компоненты CheckBox, RadioButton.
- •9. Функции ввода-вывода InputBox, InputQuery, Showmessage.
- •10. Функция MessageDlg.
- •11. Создание главного и контекстного меню
- •12. Функции диалога
- •13. Функции преобразования
- •14. Компонент tForm: свойства, методы и события.
- •Visible
- •15. Класс Exception. Блоки Try...Except и try...Finaly.
- •1 Случай:
- •16. Компоненты memo и RichEdit.
- •Insert()
- •17. Компоненты ListBox и ComboBox.
1. Структура модуля
Модуль - функционально зависимый фрагмент программы оформленный в виде отдельного файла и предназначенный для использования в других программах и модулях.
Структура модуля.
Unit <имя модуля>
Interface (интерфейсная секция)
Implementation (секция реализации)
Begin (секция инициализации)
end.
Имя модуля должно совпадать с именем файла в котором содержится.
Интерфейсная секция используется для объявления всех глобальных объектов модуля. Заголовки процедур и функций.
Секция реализации - содержит описание процедур, функций их переменных, внутренних ресурсов.
Секция инициализации - содержит операторы выполняющие действия для нормальной работы процедур и функций.
2. Понятие класс. Составляющие класса: поля, свойства, методы. Объявление класса.
Класс тип данных определяемый пользователем.
Класс в Object Pascal - это специальный тип данных включающий: поля данных, описание процедур и функций которые могут быть выполнены над представителями класса, объекта.
Туре
<имя класса> = Class(<имя класса - родителя>)
public // т.е. доступно всем
<поля, методы, свойства, события>
published // т.е. видны в Инспекторе Объекта и изменяемы
<поля, свойства>
protected // доступно только потомкам
<поля, методы, свойства, события>
private // доступно только в этом модуле
<поля, методы, свойства, события>
end;
Данные (переменные) называются полями, процедуры и функции описанные в классе называются методами.
Отличие классов от других типов данных, объекты всегда располагаются в динамической памяти (куча) по этому объект представляет собой указатель на динамическую область памяти, но в отличии от других указателей при ссылке на содержимое объекта запрещается использовать символ "^" за именем объекта.
В основе классов лежат три принципа: Инкапсуляция( позволяет изолировать класс от остальных частей программы, а так же сделать его самодостаточным при решении конкретной задачи. TMemo -представляет собой многофункциональный текстовый редактор) , наследование( любой класс может быть порождён от другого класса для этого при его объявлении указывается имя класса родителя. TChildclass=class(TParentclass) пораждённый класс наследует все поля и свойства своего родителя. Всё произошло от TObject), полиморфизм( Свойства объекта обладать множеством форм. Поведенческие свойства класса определяются набором входящих в него методов, изменяя алгоритм того или иного метода в потомках класса программист может придавать этим потомкам отсутствующие у родителя специфические свойства).
3. Конструкторы и деструкторы
Так как объект это динамическая структура, то программист должен позаботится о выделении памяти для этих данных. Выделение памяти осуществляется при помощи специального метода класса конструктора которому обычно присваивается имя Create. Для того, что бы подчеркнуть особую роль и поведение конструктора в описании класса вместо слова procedure используют слово constructor. Так же в любом классе имеется деструктор(Destroy). Конструктор распределяет объект в куче, а деструктор удаляет объект из кучи. Обращение к конструктору должно быть раньше чем любое обращение к полям и методам объекта. Обращение к деструктору Destructor. Метод Free проверяет действительность адреса объекта, а лишь потом вызывает деструктор.
type
TMyclass=class
Fid:integer;
Constructor Create(value: integer);
Destructor Destroy;
end;
var MyObject:TMuclass;
begin
MyObject.TMyclass.Create;
MyObject.Fid:=0;
MyObject.Free;
end.
