- •Методичні вказівки
- •Лабораторна робота №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, м.Дрогобич Львівської обл.
Створення звітів "master-detail"
Перетворимо створений звіт в звіт "master-detail". Для цього слід додати компонент TTable, встановити його властивість DatabaseName рівним BCDEMOS, властивість TableName рівним ORDERS.DB, а потім встановити властивість Active рівним true. Після цього встановимо властивість MasterSource рівним DataSource1. Потім виберемо властивість MasterFields, викликавши діалогову панель для установки зв'язку master/detail (рис. 4 ) і із списку доступних індексів виберемо CustNo. Потім виділимо ім'я поля CustNo в обох списках полів і натискуватимемо кнопку Add, а кнопку OK.
Рис. 2. Установка зв'язку master/detail
Додамо на форму компонент TDataSource, встановивши його властивість DataSet рівним Table2 . Потім додамо до форми новий компонент TQRBand (з ім'ям QRBand6). Після цього додамо компонент TQRDetailLink, призначений для установки зв'язків між джерелами даних в звітах, і встановимо його властивість DataSource рівним DataSource2. Потім встановимо його властивість Master рівним QuickReport, а властивість DetailBand рівним QRBand6. Властивість BandType компоненту QRBand6 автоматично прийме значення rbSubDetail.
Нарешті, помістимо два компоненти TQRDBText на QRBand6, встановимо їх властивості DataSource рівними DataSource2, а властивості DataField рівними OrderNo і AmountPaid. Зліва від них помістимо два компоненти TQRLabel з назвами цих полів.
Виберемо опцію Preview Report з контекстного меню компоненту QuickReport для попереднього перегляду звіту.
Відзначимо, що якщо компонент QuickReport не пов'язаний з компонентом DataSource, то при друці звіту виводиться тільки один запис з набору даних, що легко дозволяє друкувати поточний запис.
Відображення графічних і мемо-полів в звітах
QuickReport дозволяє створювати звіти з використанням будь-яких типів даних. Якщо замість визначення DataSource створити обробник події OnNeedData, можна за допомогою QuickReport надрукувати будь-які дані, міняючи властивості компонентів TQRLabel, що у багатьох випадках використовується для друку довільної інформації (іноді не має відношення до баз даних).
QuickReport не має власного компоненту для відображення графічних полів. Натомість можна використовувати стандартні компоненти Timage або TDBImage (рис. 3).
Рис. 3. Використання QRDBImage для відображення графічних полів
Для відображення мемо-полів можна використовувати компонент TQRDBText. Якщо вміст мемо-поля, що відображається за допомогою цього компоненту, не уміщається в один рядок, висота цього компоненту (і висота компоненту TQRBand, що містить його) в режимі попереднього перегляду і при друці звіту збільшується так, щоб усередині компоненту TQRDBText уміщався весь вміст memo-поля. Щоб уникнути накладення тексту, що вийшов, на інші елементи звіту при його друці, можна просто розміщувати компоненти TQRDBText, що відображають memo-поля, в нижній частині TQRBand.
Якщо таких memo-полів декілька і вони повинні бути розміщені один під одним, можна використовувати декілька компонентів TQRBand одного типу для одного запису. В цьому випадку друкуватися вони будуть в порядку їх створення.
