Для того чтобы в программе могли применяться функции и процедуры модуля, программист должен добавить этот модуль к проекту и указать имя модуля в списке используемых модулей (обычно имя модуля программиста помещают в конец сформированного 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 TForml = class(TForm) Editl: TEdit; // расстояние

Edit2: TEdit; // цена литра бензина

Edit3: TEdit; // потребление бензина на 100 км

CheckBoxl: TCheckBox; // True - поезда туда и обратно

Buttonl: 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 ButtonlClick(Sender: TObject);
private { Private declarations } public

{ Public declarations } end;

var Forml: TForml; 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 TForml.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(O);
end;

// нажатие клавиши в поле Потребление

procedure TForml.Edit3KeyPress(Sender: TObject; var Key: Char); begin if Key = Char(VK_RETURN) then Buttonl.SetFocus // // сделать активной кнопку Вычислить

else If not IsFloat(Key,Edit2.Text) then Key := Chr(O);
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 CheckBoxl.Checked then
mes := mes + ' и обратно'; mes := mes + 'обойдется в ' + FloatToStrF(summ,ffGeneral,4,2)
+ ' руб.'; Label4.Caption := mes;
end;
end.

Рис. 6.3. Структура проекта отражается в окне Project Manager

После добавления имени модуля в список модулей, используемых приложением, сам модуль нужно добавить в проект. Для этого из меню Project надо выбрать команду Add to Project и в открывшемся диалоговом окне - имя файла модуля. В результате добавления модуля к проекту в окне редактора появится вкладка с текстом добавленного к проекту модуля.

Увидеть структуру проекта можно в окне Project Manager, которое появляется в результате выбора соответствующей команды из меню View. В качестве примера на рис. 6.3 приведена структура проекта Поездка на дачу.

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

ГЛАВА 7

Файлы

Программы, которые до настоящего момента рассматривались в книге, выводили результат своей работы на экран. Вместе с тем, Pascal позволяет сохранить результаты работы программы на диске компьютера, в файле, что дает возможность использовать эти данные для дальнейшей обработки, минуя процесс их ввода с клавиатуры.

Создание модуля || Оглавление || Объявление файла


Delphi 6. Программирование на Object Pascal



Новости за месяц

  • Ноябрь
    2019
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс