Засоби виводу інформації на принтер в об’єктно-орієнтованому середовищі програмування Delphi

31107
знаков
2
таблицы
2
изображения

Міністерство освіти і науки України

Рівненський державний гуманітарний університет

Факультет математики та інформатики

Кафедра інформатики та прикладної математики

Курсова робота на тему:

Засоби виводу інформації на принтер в об’єктно-орієнтованому середовищі програмування Delphi

Виконав:

студент IV курсу

факультету математики та інформатики

групи МІ-41 Карпович О. І.

Науковий керівник:

викл. Гаврюсєв С. М.

Рівне 2004


Зміст

Вступ.

§1. Аспекти використання стандартних компонентів ООС програмування Delphi для створення звітної документації.

1.1.        опис компонентів – QReport, PrintDialog та PrintSetupDialog;

1.2.        створення звітів за допомогою Quick Reports;

1.3.        інше програмне забезпечення для побудови звітів

1.4.       §2. Приклади створення звітів

Висновок.

Список використаної літератури.


Вступ

 

За сучасного стрімкого розвитку інформаційних технологій часто виникає потреба у створенні нестандартниж можливостей для покращення дизайну і якості программного забезпечення. Метою роботи є огляд можливостей компонентів об’єктно-орієнтованого середовища програмування Delphi при виводі інформації на принтер. Зокрема огляд можливостей генератора звітів Quick Report. Він один з найбільш використовуваних генераторів, поряд з ним використовуються ще такі генератори як: Cristal Report та Fast Report. За допомогою закладки QReport в середовищі програмування Delphi здійснюється друк. Закладка QReport дозволяє працювати з базами даних. Крім QReport розглянемо можливості таких компонентів як Print Dialog та Print Setup Dialog.


1.1. Опис основних компонентів Quick Reports.

На сторінці QReport палітри компонентів розташовується більш двадцяти компонентів, застосовуваних для побудови звітів.

Найважливішим є компонент QuickRep , що визначає побудову звіту в цілому. За допомогою інших компонентів створюються складові частини звіту.

Компонент QRBand  являє собою спеціальну панель для розташування даних, заголовків, назви звіту та ін. Даний компонент є одним з основних. З його допомогою реалізуються такі області звіту:

область заголовка звіту;

область заголовка сторінки;

область заголовка групи;

область назв стовпців звіту;

область детальних даних;

область підгрупи;

область підсторінки;

область підзвіту.

Компонент QRStringBand  має те ж призначення, що і QRBand. Відмінність полягає в тому, що даний компонент має вбудований список рядків Items. Вміст цього списку стає видимим у режимі друку або попереднього перегляду, якщо на компонент QRStringBand поміщений компонент QRExpr. Для кожного рядка в списку Items виводиться окрема смуга QRStringBand.

Інші компоненти, представлені на сторінці Палітри компонентів, приведені в табл.

Група компонентів QRXXXXFilter являє собою набір фільтруючих компонентів, використовуваних для перетворення звіту в текст, HTML-сторінку і т.п. при друці звіту.

Компоненти для створення звітів



Компонент

Призначення

 

QRSubDetail

Являє собою область, у якій розташовуються дані підлеглої таблиці при реалізації в звіті зв'язку між таблицями БД

 

QRChildBand

Виконує функції дочірньої смуги, що прив'язується до батьківської смуги і служить для її розширення. Будь-яка смуга може бути визначена як батьківська шляхом установки її властивості HasChild у True

 

QRGroup

Застосовується для групування даних у звіті

 

QRLabel

Дає можливість розмістити в звіті довільний текстовий рядок

 

QRDBText

Використовується для висновку в звіті вмісту полючи набору даних

 

QRExpr

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

 

QRSysData

Служить для відображення в звіті системних значень, таких як дата, час, номери сторінок і т.п.

 

QRMemo

Дозволяє вставити в звіт багаторядковий текст

 

QRExprMemo

Використовується для створення багаторядкових полів, що обчислюються

 

QRRichText

Дає можливість додати в звіт текст у форматі RTF

QRShape

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

QRImage

Служить для висновку в звіті графічної інформації, джерелом якої є поле набору даних

QRPreview

Використовується для створення нестандартних вікон попереднього перегляду. Стандартне вікно перегляду викликається за допомогою методу Preview компонента QuickRep

QRChart

Служить для додавання в звіт графіків

Рис. 1. Форма додатка з розміщеної на ній порожньою сіткою звіту

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

Властивість Bands (тип TQuickRepBands) є об'єктом, що містить набір логічних властивостей, що після установки їх у значення True включають у звіт наступні елементи:

HasColumnHeader - заголовки стовпців;

HasDetail - детальну інформацію;

HasPageFooter - підсторінки;

HasPageHeader - заголовок сторінки;

HasSumtvary - підзвіту;

HasTitle - заголовок звіту.

Властивість DataSet (тип TDataSet) безпосередньо вказує на набір даних (Table. Query і ін.), на основі якого створюється звіт. Джерело даних DataSource при цьому не використовується.

Властивість Frame (тип TQRFrame) визначає параметри рамки звіту, такі як наявність ліній (ліворуч, праворуч, зверху, знизу), колір ліній, стиль ліній (суцільна, пунктирна і т.п.), товщина лінії в пікселях.

Властивість Options (тип TQuickReportQptions) містить безліч наступних логічних значень:

•    HasFirstHeader - дозволяє друкувати заголовок першої сторінки;

•    HasLastFooter - дозволяє друкувати останню підсторінку;

•    Concession - дозволяє стискати звіт при виводу його в метафайл.

Властивість Page (тип TQRFage) визначає параметри сторінки. Усі ці параметри доступні у вікні Report Setting (див. мал. 2).

Властивість Print If Empty (тип Boolean), встановлене в True, дозволяє друкувати звіт у тому випадку, якщо він не містить даних.

Властивість ReportTitle (тип String) визначає ім'я звіту (але не заголовок!). Дана властивість використовується для ідентифікації звіту в завданні на мережевий друк і може застосовуватися для вибору одного з декількох доступних звітів.

Властивість ShowProgress (тип Boolean), встановлене в True, дозволяє показувати індикатор процесу друку звіту.

Властивість SnapToGrid (тип Boolean) прив'язує розташовувані в звіті компонента до сітки, якщо має значення True.

Властивість Units (тип TQRUnits) визначає одиниці виміру відстаней у звіті: дюйми, міліметри, пікселі, внутрішні одиниці компонента QuickRep (рівні 0,1 мм), символи тексту.

Рис. 2 Вікно встановлення параметрів звіту

Властивість Zoom (тип Integer) дозволяє встановити масштаб відображення звіту (у відсотках від його розмірів на листі папера) на етапі розробки. Може приймати значення в діапазоні від 1 до 300. Значення даної властивості не враховується при друці звіту або в режимі його попереднього перегляду.

Існує можливість встановлювати багато властивостей звіту за допомогою спеціального редактора властивостей, для виклику якого необхідно вибрати пункт Report Setting у локальному меню компонента QuickRep (див. мал. 2).

У цьому вікні представлені наступні групи параметрів.

Група Paper size задає характеристики сторінки: формат (наприклад, А4 210x297 mm), ширина (Width), довжина (Length) і напрямок друку (Portrait або Landscape).

Група Margin вказує поля звіту: зверху (Тор), знизу (Bottom), ліворуч (Left), праворуч (Right), а також кількість стовпчиків (Number of columns) і відстань між ними (Column Space).

Група 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, то в звіті буде автоматично створена дочірня смуга.

При виводі інформації на принтер в середовищі Delphi використовуються ще компоненти PrintDialog та PrintSetupDialog. Компонент PrintSetupDialog призначений для на лаштування параметрів принтера, не має особливих властивостей, тому що ці параметри суттєво відрізняються для різних видів принтерів. На основі цього компонента можна створювати свої власні компоненти для окремих принтерів.

Компонент PrintDialog відображає стандартне вікно друку Windows. В ньому мона задати різні параметри друку, які визначаються наступними властивостями:

Властивість Значення
Collate Маркер. Розібрати по копіях
Copies Число копій
FromPage Номер сторінки з якої починається друк
MaxPage Максимальне число сторінок, яке може бути надруковане
MinPage Мінімальне число сторінок, яке може бути надруковане
Options Другорядні параметри налаштування
PrintRange Вигляд сторінок документу, що друкується. Можливі значення: prAllPages(всі сторінки); prSelection(сторінки вибраного фрагменту); prPageNums(сторінки з діапазону FromPage/ToPage)
PrintToFile Має значення True, якщо вивід має здійснюватись не на принтер, а у файл
ToPage Номер сторінки на якому закінчується друк

 


Информация о работе «Засоби виводу інформації на принтер в об’єктно-орієнтованому середовищі програмування Delphi»
Раздел: Информатика, программирование
Количество знаков с пробелами: 31107
Количество таблиц: 2
Количество изображений: 2

Похожие работы

Скачать
70440
0
5

... Сван Том. – К.: Диалектика, 1997. – 480с., ил. 7.       Секреты Delphi 2: Пер. с англ./Рэй Лишнер. – К.: НИПФ «ДиаСофтЛтд.», 1996. – 800 с. ДОДАТОК ТЕКСТ ПРОГРАМИ “ВІЗУАЛЬНИЙ ОБЛІК ВХІДНИХ ДАНИХ ІНТЕРФЕЙСУ RS-232” Текст основної програми program Project1; uses Forms, MainForm in 'MainForm.pas' {Form1 Головна форма}, GraphicDiagram in 'GraphicDiagram.pas', Unit3 in 'Unit3.pas' ...

Скачать
111819
23
19

... оформления : ДСТУ 3008–95. – Киев: Госстандарт Украины, 1995. – 38 с. – (Государственный стандарт Украины). Додаток До пояснювальної записки дипломного проекту "Розробка автоматизованого робочого місця управління замовленнями у малому бізнесі (ПП "Сігма")" Вихідний код програми Public Class frmГлавная Inherits System.Windows.Forms.Form Private Готов As Boolean = False Private ...

Скачать
49224
0
9

... завдання поширюється на розробку системи обліку зареєстрованих автомобілів в ДАІ, призначеної для збору, зберігання, а також полегшення для доступу та використання інформації. Програма з обліку зареєстрованих автомобілів в ДАІ, представляє собою, перехід від паперових носіїв інформації до електронних. Система обліку зареєстрованих автомобілів значно допоможе працівникам ДАІ з обліку, аналізу та ...

0 комментариев


Наверх