Після того як компонент буде додано до пакет, необхідно перевірити поведінку компонента під час розробки програми, що використовує цей компонент (працездатність компонента була перевірена раніше, коли він додавався до форми додатка динамічно, під час роботи програми).
Можна вважати, що компонент працює правильно, якщо під час розробки програми вдалося помістити цей компонент в форму розробляється і, використовуючи вікно Object Inspector, встановити, значення властивостей компонента, причому як нових, так і успадкованих від батьківського класу.
Працездатність компонента NkEdit можна перевірити, використавши його, наприклад, в додатку Поїздка на дачу, вид форми якого наведено на рис. 16.9.
Рис. 16.9. Форма додатки Поїздка на дачу (поля введення-редагування компонента NkEdit)
Зовні форма розробляється додатки майже нічим не відрізняється від форми програми Поїздка на дачу, розглянутого в гл. 6. Однак якщо обраним компонентом буде поле введення, то у вікні Object Inspector вказано, що поточним компонентом є компонент класу TNkEdit, a в списку властивостей можна побачити нове (в порівнянні зі списком властивостей стандартного компонента Edit) властивість – Numb (рис. 16.10).
Рис. 16.10. Властивість компонента NkEdit відображено у вікні Object Inspector
У лістингу 16.4 наведено модуль програми Поїздка на дачу. Очевидно, що текст програми значно менше початкового варіанта, в якому для введення даних використовувався компонент Edit.
Лістинг 16.4. Додаток “Поїздка на дачу” тест компонента
unit fazenda ; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, NkEdit; // посилання на модуль компонента type TForm1 = class (TForm) NkEdit 1: TNkEdit; // відстань NkEdit2: TNkEdit; // ціна літра бензину NkEditS: TNkEdit; // споживання бензину на 100 км CheckBox1: TCheckBox; // True - поїздка туди і назад Button1: TButton; Label4: TLabel; Label1: TLabel; Label2: TLabel; Label3: TLabel; // кнопка Обчислити // поле виведення результату розрахунку procedure ButtonlClick (Sender: TObject); procedure NkEditlKeyPress (Sender: TObject; var Key: Char); procedure NkEdit2KeyPress (Sender: TObject; var Key: Char); procedure NkEditSKeyPress (Sender: TObject; var Key: Char); private { Private declarations} public { Public declarations} end; var Form1: TForm1; implementation {$ R * .dfm} // натискання клавіші в поле Відстань procedure TForm1.NkEdit1KeyPress (Sender: TObject; var Key: Char); begin if Key = Char (VK_RETURN) then NkEdit2.SetFocus; // перемістити курсор в поле Ціна end; // натискання клавіші в поле Ціна procedure TForm1.NkEdit2KeyPress (Sender: TObject; var Key: Char); begin if Key = Char (VK_RETURN) then NkEdit3.SetFocus; // перемістити курсор в поле Споживання end; // натискання клавіші в поле Споживання procedure TForm1.NkEdit3KeyPress (Sender: TObject; var Key: Char); begin if Key = Char (VK_RETURN) then Buttonl.SetFocus; // // зробити активної кнопку Обчислити end; // клацання на кнопці Обчислити procedure TForml.ButtonlClick (Sender: TObject); var rast : Real; // відстань cena : Real; // ціна potr : Real; // споживання на 100 км summ : Real; // сума mes : string; begin rast : = StrToFloat (NkEdit1.Text); cena : = StrToFloat (NkEdit2.Text); potr : = StrToFloat (NkEdit3.Text); summ : = Rast / 100 * potr * cena; if CheckBoxl.Checked then sunnm: = summ * 2; mes : = 'Поїздка на дачу'; if CheckBoxl.Checked then mes: = mes + 'і назад'; mes : = Mes + 'обійдеться в' + FloatToStrF (summ, ffGeneral, 4,2) + 'руб.'; Label4.Caption : = Mes; end; end.