Структура проекту

Проект Delphi являє собою набір програмних одиниць – модулів. Один з модулів – головний, містить інструкції, з яких починається виконання програми. Головний модуль програми повністю формується Delphi.

Головний модуль являє собою файл з розширенням dpr. Для того щоб побачити текст головного модуля додатка, потрібно з меню Project вибрати команду View Source.

У лістингу ВЗ наведено текст головного модуля програми обчислення швидкості бігу.

Лістинг ВЗ. Головний модуль програми Швидкість бігу program vrun;

uses < font face = "Courier New, Courier, mono">

Forms, vrun1 in 'vrunl.pas' {Form1};

{$ R * .res}

begin

Application.Initialize;

Application.CreateForm (TForm1, Form1);

Application.Run;

end.

Починається головний модуль словом program, за яким слідує ім’я програми, що збігається з ім’ям проекту. ім’я проекту задається в момент збереження проекту, і воно визначає ім’я створюваного компілятором виконуваного файлу програми. Далі за словом uses слідують імена використовуваних модулів: бібліотечного модуля Forms і модуля форми vrunl.pas.

Рядок {$ R * .RES}, яка схожа на коментар, – це директива компілятору підключити файл ресурсів. файл ресурсів містить ресурси програми: піктограми, курсори, бітові образи та ін. Зірочка показує, що ім’я файлу ресурсів таке ж, як і у файлу проекту, але з розширенням res.

Файл ресурсів не є текстовим файлом, тому переглянути його за допомогою редактора тексту можна. Для роботи з файлами ресурсів використовують спеціальні програми, наприклад, Resource Workshop. Можна також застосовувати входить до складу Delphi утиліту Image Editor, доступ до якої можна отримати вибором з меню Tools команди Image Editor.

Частина, головного модуля знаходиться між інструкціями begin і end. Інструкції виконуваної частини забезпечують ініціалізацію додатки і висновок на екран стартового вікна.
Крім головного модуля, кожна програма включає в себе ще як мінімум один модуль форми, який містить опис стартової форми додатка і підтримують її роботу процедур. У Delphi кожної формі відповідає свій модуль.

У лістингу В4 наведено текст модуля програми обчислення швидкості бігу.

Лістинг В4. Модуль програми Швидкість бігу

unit vrun1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class (TForm) Edit1: TEdit;

Edit2: TEdit; Label1: TLabel;

Label2: TLabel; Label3: TLabel;

Label4: TLabel;

Button1: TButton;

Button2: TButton;

procedure ButtonlClick (Sender: TObject);

procedure Button2Click (Sender: TObject);

private

{Private declarations } public

{ Public declarations } end;

var

Form1: TForm1;

implementation

{$ R * .dfm}

// натискання кнопки Обчислити

procedure TForm1.ButtonlClick '(Sender: TObject);

var

dist: integer; // дистанція, метрів

t: real; // час як дробове число

min: integer; // час, хвилини

sek: integer; // час, секунди

v: real;

// швидкість

begin

// отримати вихідні дані з полів введення

dist: = StrToInt (Edit1.Text); t: = StrToFloat (Edit2.Text);

// попередні перетворення

min: = Trunc (t); // кількість хвилин - це ціла частина числа t

sek: = Trunc (t * 100) mod 100; // кількість секунд - це дрібна частина

// числа t

// обчислення

v: = (dist / 1000) / ((Min * 60 + sek) / 3600);

// висновок результату

label4.Caption : = 'Дистанція:' + Edit1.Text + 'м' + # 13

+ "Тайм-аут: '+ IntToStr (min) + 'Хв'

+ IntToStr (sek) + 'S' + # 13 +

'Швидкість:' + FloatToStrF (v, ffFixed, 4,2) + км / год ';

end;

// натискання кнопки Завершити

procedure TForm1.Button2Click (Sender: TObject)

begin

Form1.Close;

end;

end.

Починається модуль словом unit, за яким слідує ім’я модуля. Саме це ім’я згадується в списку використовуваних модулів в інструкції uses головного модуля додатка, текст якого наведено в лістингу ВЗ.

Модуль складається з наступних розділів:

  • інтерфейсу;
  • реалізації;
  • ініціалізації.

Розділ інтерфейсу (починається словом interface) повідомляє компілятору, яка частина модуля є доступною для інших модулів програми. У цьому розділі перераховані (після слова uses) бібліотечні модулі, використовувані даним модулем. Також тут знаходиться сформований Delphi опис форми, яке слід за словом type.
Розділ реалізації відкривається словом implementation і містить оголошення локальних змінних, процедур і функцій, що підтримують роботу форми.
Починається розділ реалізації директивою {$ R * .DFM}, що вказує компілятору, що в процесі генерації виконуваного файлу треба використовувати опис форми. Опис форми знаходиться в файлі з розширенням dfm, ім’я якого збігається з ім’ям модуля. Файл опису форми генерується середовищем Delphi на основі зовнішнього виду форми.
За директивою ($ R * .DFM} слідують процедури обробки подій для форми і її компонентів. Сюди ж програміст може помістити інші процедури і функції.
Розділ ініціалізації дозволяє виконати ініціалізацію змінних модуля. інструкції розділу ініціалізації розташовуються після розділу реалізації (опису всіх процедур і функцій) між begin і end. Якщо розділ ініціалізації не містить інструкцій (як у наведеному прикладі), то слово begin не вказується.
Слід зазначити, що значна кількість інструкцій модуля формує Delphi. Наприклад, Delphi, аналізуючи дії програміста по створенню форми, генерує опис класу форми (після слова type). У наведеному прикладі інструкції, набрані програмістом, виділені фоном. Очевидно, що Delphi виконала значну частина роботи по складанню тексту програми.

 

 

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *