Група Other дозволяє задати шрифт (Font), його розмір (Size) і використовувані одиниці виміру (Units).
Група Page frame встановлює властивості рамки:, наявність лінії зверху (Тор), знизу (Bottom), ліворуч (Left), праворуч (Right), колір ліній (Color) і їхню товщину (Width).
Група Bands визначає наявність різних смуг: заголовок сторінки (Page header), заголовок звіту (Title), заголовок стовпчиків (Column header), смуга для детальної інформації (Detail band), підсторінки (Page footer), підзвіту (Summary). Після вибору типу і висоти смуги вона з'являється в звіті, якщо натиснуто кнопку Apply або вікно закрите кнопкою ОК. Елементи Print first page header і Print last page footer керують, відповідно, друком заголовку на першій сторінці звіту і підзвіту на його останній сторінці.
У якості основних можна виділити наступні методи компонента QuickRep.
Метод NewColumn реалізує вивід інформації в наступному стовпчику звіту, а якщо визначено один стовпчик, то на наступній сторінці.
Метод NewPage забезпечує вивід інформації на наступній сторінці звіту.
Метод Prepare готує звіт для виводу у файл. Вивід звіту у файл виробляється в наступному порядку. Спочатку звіт підготовляється шляхом виклику методу Prepare, потім зберігається у файлі методом Save об'єкта QRPrinter, після чого цей об'єкт знищується і властивості QRPrinter присвоюється значення NIL. Це робиться, як показано нижче.
QuickRep1.Prepare;
QuickRep1.QRPrinter.Save('Report.QRP');
QuickRep1.QRPrinter.Free;
QuickRep1. QRPrinter := NIL;
Метод Print друкує звіт на принтері.
Метод PrintBackground дозволяє роздрукувати звіт у фоновому режимі. Після завершення друку викликається оброблювач події OnAfterPrint.
Метод Preview виводить стандартне вікно попереднього перегляду (див. мал. 3).
Метод PrinterSetup викликає стандартне вікно встановлення параметрів принтера.
Компонент ORBand. У даному розділі варто також згадати про найважливіші властивості компонента QRBand, тому що дані компоненти є основними складовими частинами звіту. Отже, розглянемо кілька специфічних властивостей компонента QRBand.
Властивість AlignToBottom (тип Boolean), що має значення True, вказує на те, що смуга буде розташовуватися безпосередньо над підсторінкою, у той час як звичайно вона розташовується праворуч або знизу від попередньої смуги.
Властивість BandType (тип TQRBandType) визначає призначення смуги і може приймати одне з таких значень:
rbTitle - друкується на першій сторінці звіту і, як правило, містить його назву;
rbPageHeader - друкується вгорі кожної сторінки і містить її заголовок;
rbDetail - містить інформацію з набору даних і автоматично повторюється для кожного запису, починаючи з першої і закінчуючи останньою;
rbPageFooter - зберігає підсторінку і виводиться внизу кожної сторінки:
rbSummary - являє собою підзвіт і виводиться в його кінці;
rbSubDetail - містить детальну інформацію з підлеглого набору даних у випадку зв'язку між кількома таблицями БД;
rbColuimHeader - являє собою заголовки стовпців і розміщається на кожній сторінці звіту після заголовка сторінки;
rbGroupFooter - зберігає підгрупу, застосовується при угрупованнях інформації в звіті і виводиться наприкінці кожної групи;
rbGroupHeader - містить заголовок групи і виводиться на початку кожної групи;
rbOverlay - використовується для зворотної сумісності з попередніми версіями QuickReport. He рекомендується використовувати даний тип без особливих на те основ;
rbChild - резервується для використання компонентів QRChildBand. Даний тип не слід установлювати вручну.
Властивість Enabled (тип Boolean) дозволяє друкувати смуги, якщо має значення True.
Властивість ForceNewColumn (тип Boolean), встановлене в True, вказує на те, що смуга буде друкуватися в наступному стовпчику.
Властивість ForceNewPage (тип Boolean), встановлене в True, указує, що смуга буде друкуватися на новій сторінці.
Властивість HasChild (тип Boolean) визначає, чи буде дана смуга мати дочірню смугу. Якщо цій властивості привласнити значення True, то в звіті буде автоматично створена дочірня смуга.
Властивість
Значення
Collate
Маркер. Розібрати по копіях
Copies
Число копій
FromPage
Номер сторінки з якої починається друк
MaxPage
Максимальне число сторінок, яке може бути надруковане
MinPage
Мінімальне число сторінок, яке може бути надруковане
Options
Другорядні параметри налаштування
PrintRange
Вигляд сторінок документу, що друкується. Можливі значення: prAllPages(всі сторінки); prSelection(сторінки вибраного фрагменту); prPageNums(сторінки з діапазону FromPage/ToPage)
PrintToFile
Має значення True, якщо вивід має здійснюватись не на принтер, а у файл
ToPage
Номер сторінки на якому закінчується друк
Таблиці firm.db і zarplata.db знаходяться у відношенні один-до-одного, тобто одному співробітникові можуть відповідати кілька фактів виплати зарплати.
Для створення звіту, насамперед, потрібно розмістити на формі два компоненти Table1 і ТаЫе2, зв'язавши їх, відповідно, з таблицями firm.db і zarplata.db. Крім того на формі міститься компонент DataSource, зв'язаний з компонентом Tabl1. Після цього між наборами даних встановлюється зв'язок по одноіменних полях Tab_nom.
Після того як зв'язок був встановлений, можна перейти до проектування звіту. На форму додається компонент QuickRep. Властивості DataSet даного компонента присвоюється значення Table1. Потім у звіті розміщується смуга заголовка, тобто компонент QRBand1, властивість BandType якого рівна rbTitle. На цю смугу поміщається компонент QRLabel, у властивість Caption якого записується рядок, що позначає заголовок даного звіту. Потім додається ще одна смуга QRBand2 і її властивості BandType присвоюється значення rbDetail. На цій смузі містяться чотири елементи QRDBText, що зв'язуються з полями Tab_nom, Name, Dolgn і Otdel таблиці firm.db.
На наступному кроці в звіті розміщується компонент QRSubDetail. Даний компонент зв'язується з підлеглою таблицею: його властивості DataSet присвоюється значення Таbl2. На цій смузі містяться три компоненти QRDBText, що зв'язуються з полями Mes, Dni і Zarpl таблиці zarplata.db. Нарешті, у поле компонента QRBand2 розміщаються заголовки стовпців, що відповідають відображуваним полям підлеглої таблиці
У результаті з підлеглої таблиці виводиться помісячна інформація про виплату зарплати для кожного співробітника, дані про яке утримуються в головній таблиці.
Композитний звіт. Композитним (складним, складеним) називається звіт, що поєднує в собі кілька простих звітів, що випливають при друці один за іншим.
Для створення композитного звіту використовується компонент QRCompositeReport . Об'єднання звітів здійснюється в оброблювачі події OnAddReport шляхом додавання назв відповідних звітів у список властивості Report даного компонента. Це робиться приблизно в такий спосіб:
Procedure TForm3.QRCompositeReportlAddReports (Sender: TObj ect);
begin
QRCompositeReport1.Reports.Add
(Forml.QuickRep1);
(Form2.QuickRep1);
end;
У приведеному прикладі композитний звіт складається з двох звітів: QuickRep1, що був раніше визначений у формі Form1, і QuickRep1, визначений у формі Form2. Назви звітів збігаються, тому що на дві різні форми був поміщений новий компонент звіту, що за замовчуванням одержує ім'я QuickRep1. Природно, розроблювач може за бажанням змінити ім'я звіту. Друк і попередній перегляд складеного звіту виробляються так само, як і для простих звітів, наприклад, за допомогою методу Preview:
1.3. Інше програмне забезпечення для побудови звітів.
FastReport
Необхідність написання власного компонента для побудови звітів виникла в 1997 році, під час розробки системи обліку заробітної плати. Специфікою такої системи є велика кількість форм звітності, необхідність легкого настроювання їхнього зовнішнього вигляду. Існуючі доступні системи побудови звітів не мали потрібні характеристики, тому було прийняте рішення про розробку власного генератора звітів. Концепція була запозичена з 1С-Бухгалтерії 6.0 для Windows - основним елементом звіту є довільним образом обрамлений прямокутник із багаторядковим текстом усередині; у тексті можуть утримуватися змінні - рядка в квадратних дужках. Ця концепція виявилася досить життєздатною - незважаючи на те, що в найпершій версії генератора застосовувався тільки один бэнд - рядок даних, це дозволяло будувати багаторівневі звіти.
Пізніше, у 1998 році, генератор звітів оформляється у виді компонента (спочатку це був просто набір модулів, що підключаються,). З цього моменту він одержує назву "FastReport" і починає стрімко нарощувати функціональність. На сьогоднішній день FastReport - це цілком візуальний генератор звітів, тобто більшість звітів можна побудувати, користуючись тільки мишею.
Crystal Report
Популярний пакет генератора звітів Crystal Report призначений для створення звітів презентабельного виду різного типу: табличні запити до баз даних, створення діаграм, OLAP дані.
Висновок
Курсова робота була розроблена на основі об'єктно-орієнтованого середовища програмування Delphi. В ході виконання курсової роботи були розглянуті основні компоненти які призначені для виводу інформації на принтер в середовищі програмування. Було створено приклади програм які використовували різні компоненти закладки QReport. Зокрема було створено додаток, який дозволяє працювати із графічним звітом, звітом створеним на основі баз даних, та звітом, який друкує текстову інформацію з поля Memo.
Список використаної літератури:
Друковані джерела:
1. Delphi 7. Для профессионалов, Кенту М., Издательство Питер. 2004, Книга, 1101 с.
2. Программирование в среде Delphi 7. Глушаков С. В., Клевцов А. Л. Изд. 2-е дополненное м переработанное. -Харьков, 2003, 528с.
3. Программирование в Delphi 6. Архангельский А. Я.
Інтернет ресурси:
4. www.delphimastak.ru
5. www.delphimaster.ru
6. www.delphi.narod.ru
Страницы: 1, 2