Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IZVP_lab-novi.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
16.14 Mб
Скачать

5. Установка

Після того, як буде створений файл ресурсів компоненту, можна приступити до установки компоненту в пакет компонентів. Компонент можна встановити в існуючий пакет або створити новий пакет і потім встановити в нього компонент.

Щоб встановити компонент в існуючий пакет, треба з меню Component вибрати команду Install Component і заповнити поля вкладки Into existing package діалогового вікна Install Component (рис. 1).

Рис. 7. Діалогове вікно Install Component

В полі Unit file name (Ім'я файла модуля) потрібно ввести ім'я файла модуля. Для цього зручно скористатися кнопкою Browse.

Поле Search path (Шлях пошуку) повинне містити розділені крапкою з комою імена каталогів, в яких C++ Builder під час установки компоненту буде шукати необхідні файли, зокрема файл ресурсів компоненту. Якщо ім'я файла модуля було введено в полі Unit file name вибором файла із списку, отриманого за допомогою кнопки Browse, то C++ Builder автоматично додає в полі Search path імена необхідних каталогів. Слід звернути увагу на те, що файл ресурсів компоненту повинен знаходитися в одному з каталогів, перерахованих в полі Search path. Якщо його там немає, то компоненту буде призначений значок його батьківського класу.

Поле Package file name повинне містити ім'я пакету, в який буде встановлений компонент. За умовчанням компоненти, створювані програмістом, додаються в пакет dclusr.bpk.

Поле Package description містить назву пакету. Для пакету dclusr.bpk це текст: Borland User Components.

Після того, як поля будуть заповнені, треба натисненням на кнопці ОК активізувати процес установки. Спочатку на екрані з'являється вікно Confirm (рис. 8), в якому C++ Builder просить підтвердити оновлення пакету.

Рис. 8. Запит підтвердження оновлення пакету в процесі установки компоненту

Після натиснення на кнопці Yes процес установки продовжується. Якщо він завершується успішно, то на екрані з'являється інформаційне повідомлення (мал. 9) про те, що пакет оновлений, а компонент зареєстрований.

Рис. 9. Повідомлення про успішну установку компоненту

Після установки компоненту в пакет відкривається діалогове вікно Package (Редактор пакету компонентів) (рис. 10), в якому перераховані компоненти, що знаходяться в пакеті.

Рис. 10. Вікно редактора пакету компонентів

На цьому процес установки компоненту закінчується. В результаті на вкладці палітри компонентів, ім'я якої було задано при створенні модуля компоненту, з'являється значок встановленого компоненту (рис. 11).

Рис. 11. Значок компоненту NkEditHa вкладці Samples

6. Перевірка компоненти

Після того, як компонент буде доданий в пакет і його значок з'явиться в палітрі компонентів, необхідно перевірити поведінку компоненту під час розробки додатку, що використовує цей компонент (працездатність компоненту була перевірена раніше, коли компонент додавався у форму додатку динамічно, під час роботи програми).

Можна вважати, що компонент працює правильно, якщо під час розробки додатку вдалося помістити цей компонент у форму додатку, що розробляється, і, використовуючи вікно Object Inspector, встановити значення властивостей компоненту, причому як нових, так і успадковуваних від батьківського класу.

Працездатність компоненти NkEdit можна перевірити, використавши її, наприклад, в додатку "Сила струму", вид форми якого приведений на рис. 12.

Рис. 12. Форма додатку "Сила струму" (поля введення-редагування компоненти NkEdit)

Якщо вибрати поле введення, то у вікні Object Inspector буде вказано, що поточним компонентом є компонент класу TNkEdit, а в списку властивостей можна буде побачити властивості, яких немає в стандартного компоненту Edit (мал. 13).

Рис. 13. Значення властивостей EnableFloat, Max і Min компоненту NkEdit можна задати у вікні Object Inspector

В лістингу 6 приведений модуль додатку "Сила струму". Тут треба звернути увагу на наступне. Перше. В програмі немає коду, що забезпечує фільтрацію символів, що вводяться в полі редагування. Проте під час роботи програми користувач може ввести в полі редагування тільки додатне число. Друге. В програмі не використовується функція strToFloat. Число, яке відповідає введеному в полі редагування рядка символів, отримується шляхом звернення до властивості Numb.

Очевидно, що використання в програмі компоненту NkEdit замість стандартного Edit звільняє програміста від рутини, скорочує розмір коду і робить його більш зрозумілим.

Лістинг 6. "Сила струму"

// натиснення клавіші в полі Напруга

void __fastcall TForml::NkEditlKeyPress (TObject *Sender, char &Key)

{

if (Key == VK_RETURN)

NkEdit2->SetFocus ()

}

// натиснення клавіші в полі Опір

void __fastcall TForml ::NkEdit2KeyPress (TObject *Sender, char &Key)

{

if ( Key == VK_RETUPN)

Buttonl->SetFocus();

}

// натиснення кнопки Обчислити

void __fastcall TForml: :ButtonlClick (TObject *Sender)

{

float u; // напруга

float r; // опір

float і; / / струм

// отримати початкові манні з полів введення

u = NkEditl->Numb;

r = NkEdit2->Numb;

if ( r == 0) {

ShowMessage ("Опір не повинен бути рівний нулю");

return;

}

// обчислити струм

i = u/r;

// вивести результат

Label4->Caption = "Струм : " +FloatToStrF(і,ffGeneral,7,3) + "А";

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]