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