Использование
модуля
Для того чтобы в программе
могли применяться функции и процедуры модуля, программист должен добавить этот
модуль к проекту и указать имя модуля в списке используемых модулей (обычно
имя модуля программиста помещают в конец сформированного 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)
можно выполнить компиляцию программы.