Використання модуля

Для того щоб в програмі могли застосовуватися функції і процедури модуля, програміст повинен додати цей модуль до проекту і вказати ім’я модуля в списку використовуваних модулів (зазвичай ім’я модуля програміста поміщають в кінець сформованого Delphi списку використовуваних модулів).

У лістингу 6.9 приведений варіант програми Поїздка на дачу. Процедура обробки події onKeyPress в полях введення вихідних даних звертається до функції IsFloat, яка знаходиться в модулі my_unit.pas, тому в списку використовуваних модулів вказано ім’я модуля my_unit.

Лістинг 6.9. Використання функції з модуля програміста

unit fazenda_;

interface
uses
Windows, Messages, SysUtils, Variants,

Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, my_unit; // модуль програміста
type
TForm1 = Class (TForm)
Edit1: TEdit; // відстань
Edit2: TEdit; // ціна літра бензину
Edit3: TEdit; // споживання бензину на 100 км
CheckBoxl: TCheckBox; // True - поїздка туди і назад
Button1: TButton; // кнопка Обчислити
Label4: TLabel; // поле виведення результату розрахунку
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure EditlKeyPress (Sender: TObject;

var Key: Char);
procedure Edit2KeyPress (Sender: TObject;

var Key: Char);
procedure Edit3KeyPress (Sender: TObject;

var Key: Char);
procedure Button1Click (Sender: TObject);

private
{Private declarations} public
{Public declarations} end;
var
Form1: TForm1;
implementation
{$ R * .dfm}
// натискання клавіші в поле Відстань
procedure TForml.EditlKeyPress (Sender: TObject;

var Key: Char);
begin
if Key = Char (VK_RETURN)
then Edit2.SetFocus // перемістити курсор в поле Ціна

else If not IsFloat (Key, Edit2.Text)

then Key: = Chr (O);
end;
// натискання клавіші в поле Ціна
procedure TForm1.Edit2KeyPress (Sender: TObject; var Key: Char);
begin
if Key = Char (VK_RETURN)
then Edit3.SetFocus // перемістити курсор в поле Споживання.

else If not IsFloat (Key, Edit2.Text) then Key: = Chr (0);

end;
// натискання клавіші в поле Споживання
procedure TForm1.EditSKeyPress (Sender: TObject;

var Key: Char);
begin
if Key = Char (VK_RETURN)
then Button1.SetFocus // // зробити активної кнопку Обчислити

else If not IsFloat (Key, Edit2.Text) then Key: = Chr (0);
end;
// клацання на кнопці Обчислити
procedure TForml.ButtonlClick (Sender: TObject);
var
rast : Real; // відстань
cena : Real; // ціна
potr : Real; // споживання на 100 км
summ : Real; // сума
mes : string;

begin
rast : = StrToFloat (Editl.Text);
cena : = StrToFloat (Edit2.Text);
potr : = StrToFloat (Edit3.Text);
summ : = Rast / 100 * potr * cena;
if CheckBoxl.Checked then summ: = summ * 2;
mes : = 'Поїздка на дачу';
if CheckBox1.Checked then
mes : = Mes + 'і назад';
mes : = Mes + 'обійдеться в'

+ FloatToStrF (summ, ffGeneral, 4,2) + 'руб.';
Label4.Caption : = Mes;

end;
end.

Після додавання імені модуля в список модулів, використовуваних додатком, сам модуль потрібно додати в проект. Для цього з меню Project треба вибрати команду Add to Project і в діалоговому вікні – ім’я файлу модуля. В результаті додавання модуля до проекту у вікні редактора з’явиться вкладка з текстом доданого до проекту модуля.

Побачити структуру проекту можна у вікні Project Manager, яке з’являється в результаті вибору відповідної команди з меню View. Як приклад на рис. 6.3 приведена структура проекту Поїздка на дачу.

Рис. 6.3. Структура проекту відбивається у вікні Project Manager

Після додавання модуля до проекту і включення його імені в списку використовуваних модулів (інструкція uses) можна виконати компіляцію програми.