- •1. Методичні вказівки до лабораторної роботи №1
- •1.1. Етапи створення віконної прикладної програми
- •1.2. Структура проекту Delphi
- •1.3. Приклад створення простої віконної прикладної програми
- •1.4. Теоретичні запитання
- •1.5. Завдання до лабораторної роботи №1.
- •2. Методичні вказівки до лабораторної роботи №2
- •2.1. Етапи створення віконної прикладної програми табулювання функції
- •2.2. Приклад створення віконної прикладної програми табулювання функції
- •2.3. Теоретичні запитання
- •Етапи створення віконної прикладної програми табулювання функції.
- •2.4. Завдання до лабораторної роботи №2.
- •3. Методичні вказівки до лабораторної роботи №3
- •3.1. Етапи створення віконної прикладної програми роботи з таблицями рядків StringGrid
- •3.2. Теоретичні запитання
- •3.3. Завдання до лабораторної роботи №3. Робота зі структурами даних типу масив
- •4. Методичні вказівки до лабораторної роботи №4
- •4.1. Основні поняття об'єктно-орієнтованого програмування. Робота з класами
- •4.2. Приклад. Об'єктно-орієнтована реалізація комплексних чисел
- •4.3. Завдання до лабораторної роботи №4. Створення об’єктного типу - клас.
- •4.4. Завдання до лабораторної роботи №5. Класи. Прості властивості та властивості-масиви
- •4.5. Завдання до лабораторної роботи №6. Класи. Спадкування. Поліморфізм
- •4.6. Теоретичні запитання
1.2. Структура проекту Delphi
Проект Delphi – це сукупність зв'язаних між собою файлів. До складу проекту входять наступні файли:
Файл проекту *.dpr. Він виконує роль головної підпрограми. Текстовий файл проекту використовується для збереження інформації про форми і модулі. У ньому містяться оператори ініціалізації і запуску програми на виконання.
Файл модуля *.pas. Кожнії формі, яка створюється, і фреймові відповідає файл модуля, що використовується для збереження коду. Можна створювати модулі, не зв'язані з формами.
Файл форми *.dfm. Це текстовий файл, що створюється Delphi для збереження інформації про форму. Кожному файлові форми відповідає файл модуля.
Файл параметрів проекту *.dfo. У цьому файлі зберігаються установки параметрів проекту.
Файл ресурсів *.res. Цей бінарний файл містить піктограму та інші ресурси, які використовуються проектом.
Файл групи файлів *.bpg. Цей файл, створюється якщо йде робота з групою проектів.
Файл пакету *.dpk. Це бінарний файл пакета (package).
Файли резервних копій *.dp, *.df, *.pa. Це відповідно файли резервних копій для файлів проекту, форми і модуля.
Файл, що виконується, *.exe. Це виконавча програма.
Об'єктний файл модуля *.dcu. Це відкомпільований об'єктний файл модуля *.pas, який компонується в остаточний файл, що виконується.
Вміст файлу проекту може бути, наприклад, наступним:
program Project1;
uses Forms, Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Файл проекту (головний модуль) починається словом program, за яким іде ім'я програми, що збігається з ім'ям проекту. Ім'я проекту задається програмістом у момент збереження файлу проекту, і воно визначає ім'я файлу, який э виконавчою програмою, (файлу з розширенням *.ехе). Цей файл створюється середовищем Delphi. Далі за словом uses ідуть імена використовуваних модулів: стандартного модуля Forms і модуля форми Unit1. Схожа на коментар директива {$R *.res} вказує компіляторові, що потрібно використовувати файл ресурсів, що містить опис ресурсів додатка, наприклад, піктограми. Зірочка вказує, що ім'я файлу ресурсів таке ж, як і у файла проекту, але з розширенням *.res.
Частина головного модуля, що виконується, знаходиться між
операторними дужками begin...end. Оператори частини, що викону-
ється, забезпечують ініціалізацію додатка і вивід на екран стартового вікна.
Модулі – це програмні одиниці, що служать для розміщення фрагментів програм. За допомогою текстів програм, що містяться в них (програмних кодів), і реалізується задача, яка розв'язується користувачем.
Модулі мають стандартну конструкцію (послідовність і перелік розділів), передбачену мовою програмування Object Pascal. Наведемо структуру модуля у загальному виді:
unit < ім'я модуля >;
interface
implementation
initialization
finalization
end.
Як приклад наведемо вміст модуля в тім вигляді, у якому він знаходиться відразу після завантаження середовища Delphi:
unit Unit1;
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.
Починається модуль словом unit, за яким іде ім'я модуля. Саме це ім'я згадується в списку модулів в операторі uses головного модуля додатка.
Модуль може складатися з чотирьох розділів: інтерфейсу, реалізації, ініціалізації, завершальної частини.
Розділ інтерфейсу (починається словом interface) повідомляє компіляторові, які дані, що розташовуються в модулі, є доступними для інших модулів програми. У цьому розділі перераховані (після, слова uses) стандартні модулі, які використовуються даним модулем, а також знаходиться сформований Delphi опис типу форми, котрий іде за словом type.
Розділ реалізації починається словом implementation і містить оголошення локальних змінних, процедур і функцій, що підтримують роботу форми. На початку розділу реалізації розташовується директива {$R *.dfm}, що вказує компіляторові, що в розділ реалізації треба вставити команди установки значень властивостей форми, що знаходяться у файлі з розширеням *.dfm, ім'я якого збігається з ім'ям модуля. Файл у форматі dfm генерується Delphi на основі зовнішнього вигляду форми.
За директивою {$R *.dfm} розташовуються описи процедур обробки подій форми. Сюди ж програміст може помістити опис своїх процедур і функцій, які можуть викликатися з процедур обробки подій.
Ініціалізуюча і завершальна частини є необов'язковими.
Ініціалізуюча частина починається словом initialization або міститься в операторні дужки begin... end. Оператори з цієї частини виконуються до передачі керування основній програмі і звичайно використовуються для підготовки її роботи.
Завершальна частина починається словом finalization і містить оператори, що виконуються в момент закінчення програми.
У наведеному вище прикладі модуля ініціалізуюча і завершальна частини відсутні.
На відміну від файлу проекту, який створюється автоматично Delphi, модуль може змінюватися (редагуватися) програмістом. При створенні користувачем нової форми, автоматично буде створюватися і новий модуль. Програма може містити до декількох десятків форм. Текст модуля при цьому буде доступний і користувачеві, і самому середовищу Delphi, що автоматично буде вставляти в текст модуля опис будь-якого доданого до форми компонента, а також створювати заготовки (рядки коду) для оброблювачів подій. Програміст при цьому може додавати свої методи в раніше оголошені класи, наповняти оброблювачі подій конкретним змістом, вставляти власні змінні, типи, константи і т.д
Таким чином, pas-файл містить програмний код модуля, що був сформований у вікні редактора коду спільними зусиллями програміста і середовища Delphi, у файлі з розширенням *.dfm зберігається опис вмісту вікна форми, а в dcu-файлі знаходиться результат перетворення тексту з обох файлів у машинні інструкції. Інтегроване середовище Delphi перетворить dcu-файли в єдиний файл, який є виконавчою програмою (ехе-файл). Це дозволить автономно запустити прикладну програму.
