- •Методичні вказівки
- •Лабораторна робота №1
- •Хід роботи
- •Короткі теоретичні відомості
- •Контрольні питання
- •Лабораторна робота №2
- •Короткі теоретичні відомості
- •Котрольні питання
- •Лабораторна робота №3 Тема: Використання масивів
- •Хід роботи
- •Котрольні питання
- •Лабораторна робота №4
- •Хід роботи
- •Котрольні питання
- •Лабораторна робота №5
- •Котрольні питання
- •Лабораторна робота №6 Тема: Розробка мультимедійних програм
- •Хід роботи
- •Завдання для самостійного виконання:
- •Контрольні питання
- •Лабораторна робота №7 Тема: Створення нової компоненти
- •Хід роботи
- •1. Вибір базового класу
- •2. Створення модуля компоненту
- •3. Встановлення компоненту
- •4. Ресурси компоненту
- •5. Установка
- •6. Перевірка компоненти
- •Контрольні питання
- •Лабораторна робота №8 Тема: Створення довідкової системи
- •1. Підготовка довідкової інформації
- •2. Проект довідкової системи
- •2. Використання Microsoft Word
- •3. Використання html Help Workshop
- •4. Створення файлу довідки
- •5. Компіляція
- •6. Вивід довідкової інформації
- •Контрольні питання
- •Лабораторна робота №9 Тема: Створення інсталяційного пакету
- •1. Новий проект
- •2. Структура
- •3. Вибір встановлюваних компонентів
- •4. Конфігурування системи користувача
- •5. Настройка діалогів
- •6. Системні вимоги
- •7. Створення образу установчого диску
- •Котрольні питання
- •Лабораторна робота №10
- •Завдання для самостійної роботи:
- •Короткі теоретичні відомості Компонент tTable
- •Контрольні питання
- •Лабораторна робота №11
- •Хід роботи
- •12. Змінити дану програму так, щоб всі невізуальні компоненти мітились на модулі даних. Короткі теоретичні відомості
- •Модулі даних
- •Контрольні питання
- •Лабораторна робота №12 Тема: Налаштування та робота з базами даних
- •Хід роботи
- •Короткі теоретичні відомості
- •Контрольні питання
- •11. Розмітити на першій формі дві кнопки для перегляду створених звітів. Короткі теоретичні відомості Створення простого звіту
- •Створення звітів "master-detail"
- •Відображення графічних і мемо-полів в звітах
- •Попередній перегляд звітів
- •Котрольні питання
- •Лабораторна робота № 14
- •Хід роботи
- •Короткі теоретичні відомості
- •Контрольні питання
- •Література:
- •Студентами денного відділення спеціальності
- •5.05010301 «Розробка програмного забезпечення»
- •8 2100, Вул.Раневицька, 12, м.Дрогобич Львівської обл.
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) + "А";
