Использование модуля
Для того чтобы в программе могли применяться функции и процедуры модуля, программист должен добавить этот модуль к проекту и указать имя модуля в списке используемых модулей (обычно имя модуля программиста помещают в конец сформированного Delphi списка используемых модулей).
В листинге 6.9 приведен вариант программы Поездка на дачу. Процедура обработки события onkeypress в полях ввода исходных данных обращается к функции IsFloat, которая находится в модуле my_unit.pas, поэтому в списке используемых модулей указано имя модуля my_unit.
Листинг 6.9. Использование функции из модуля программиста
01.unit fazenda_;
02.interface
03.uses
04.Windows, Messages, SysOtils, Variants, Classes, Graphics, Controls,
05.Forms, Dialogs, StdCtrls,
06.my_unit; // модуль программиста
07.type
08.TForml = class(TForm)
09.Editl: TEdit; // расстояние
10.Edit2: TEdit; // цена литра бензина
11.Edit3: TEdit; // потребление бензина на 100 км
12.CheckBoxl: TCheckBox; // True — поездка туда и обратно
13.Buttonl: TButton; // кнопка Вычислять
14.Label4: TLabel; // поле вывода результата расчета
15.Labell: TLabel;
16.Label2: TLabel;
17.Label3: TLabel;
18.procedure EditlKeyPress(Sender: TObject; var Key: Char];
19.procedure Edit2KeyPress(Sender: TObject; var Key: Char);
20.procedure Edit3KeyPress(Sender: TObject; var Key: Char);
21.procedure ButtonlClicklSender: TObject);
22.private
23.1 Private declarations )
24.public
25./ Public declarations }
26.end;
27.var
28.Forml: TForml;
29.implementation
30.1$R *.dfm}
31.// нажатие клавиши в поле Расстояние
32.procedure TForml.EditlKeyPress(Sender: TObject; var Key: Char);
33.begin
34.if Key = Char(VK_RETURN)
35.then Edit2.SetFocus // переместить курсор в поле Цена
36.else If not IsFloat(Key,Edit2.Text) then Key := Chr(O);
37.end;
38.
39.// нажатие клавиши в поле Цена
40.procedure TForml.Edit2KeyPress(Sender: TObject; var Key: Char);
41.begin
42.if Key = Char(VK_RETURN|
43.then Edit3.SetFocus // переместить курсор в поле Потребление
44.else If not IsFloat(Key,Edit2.Text) then Key := Chr(O);
45.end;
46.// нажатие клавиши в поле Потребление
47.procedure TForml.Edit3KeyPress(Sender: TObject; var Key: Char];
48.begin
49.if Key = Char(VK_RETURN)
50.then Buttonl.SetFocus // // сделать активной кнопку Вычислить
51.else If not IsFloat(Key,Edit2.Text) then Key := Chr(O);
52.end;
53.// щелчок на кнопке Вычислить
54.procedure TForml.ButtonlClicklSender: TObject);
55.var
56.rast : real; // расстояние
57.cena : real; // цена
58.potr : real; // потребление на 100 км
59.summ : real; // сумма
60.mes: string;
61.begin
62.rast := StrToFloat(Editl.Text);
63.eena := StrToFloat(Edit2.Text);
64.potr := StrToFloat(Edit3.Text);
65.summ := rast / 100 * potr * cena;
66.if CheckBoxl.Checked then
67.suiim ; = зшпт * 2 ;
68.mes := 'поездка на дачу1;
69.if CheckBoxl.Checked then
70.mes := mes + ' и обратно';
71.mes := mes + 'обойдется в ' + FloatToStrFfsumm,ffGeneral,4,2}
72.+ ' руб.';
73.Label4.Caption := mes;
74.end;
75.end.
После добавления имени модуля в список модулей, используемых приложением, сам модуль нужно добавить в проект. Для этого из меню Project надо выбрать команду Add to Project и в открывшемся диалоговом окне — имя файла модуля. В результате добавления модуля к; проекту в окне редактора появится вкладка с текстом добавленного к проекту модуля.
Увидеть структуру проекта можно в окне Project Manager, которое появляется в результате выбора соответствующей команды из меню View. В качестве примера на рис. 6.3 приведена структура проекта Поездка на дачу.
После добавления модуля к проекту и включения его имени в список используемых модулей (инструкция uses) можно выполнить компиляцию программы.
2)
|
В этом разделе не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники. Эта отметка установлена 18 октября 2012. |
|
Абстракция
Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция — это набор всех таких характеристик.[1]
Инкапсуляция
Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними в классе, и скрыть детали реализации от пользователя.[1]
Наследование
Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником или производным классом.[1]
Полиморфизм
Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.[1]
Класс
Класс является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта, являясь своего рода чертежом. Говорят, что объект — это экземпляр класса. При этом в некоторых исполняющих системах класс также может представляться некоторым объектом при выполнении программы посредством динамической идентификации типа данных. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.
Объект
Сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса или копирования прототипа (например, после запуска результатов компиляции и связывания исходного кода на выполнение).
Прототип
Прототип — это объект-образец, по образу и подобию которого создаются другие объекты. Объекты-копии могут сохранять связь с родительским объектом, автоматически наследуя изменения в прототипе; эта особенность определяется в рамках конкретного языка.
