Делаем отчёт при помощи QReport в программах на Delphi
Если тебе надоело читать скудную документацию по Rave Reports или разбираться в Crystal Reports, то эта статья исключительно для тебя. Хотя страницы QReport на палитре компонентов Delphi 7 нет, основные достоинства QReport очевидны - простота и гибкость в использовании. Страницу QReport в Delphi 7 приходится добавлять самостоятельно, для чего нужно установить пакет dclqrt70.bpl, который можно найти в папке "\Delphi7\Bin".
Итак, когда страница QReport появилась в палитре компонентов, можно приступать непосредственно к её освоению. Создаём новый проект в Delphi.
Для отчета нам понадобится отдельная форма в нашем проекте. На новую форму бросаем компонент QuickRep. Этот компонент является основным контейнером для страницы отчёта и может в свою очередь содержать другие компоненты. QuickRep имеет следующие важные свойства:
PrinterSetting
| Задает число копий отчета и диапазон печатаемых страниц.
|
Page
| Задает размер страницы PaperSize (можно установить заказной размер — Custom и определить длину и ширину страницы свойствами Length и Width ), ее ориентацию и поля.
|
Options
| Определяет, надо ли печатать верхний колонтитул первой страницы ( FirstPageHeader ) и нижний колонтитул последней ( LastPageFooter ).
|
Units
| Задает единицу измерения размеров страницы, полей и т.п.: миллиметры, дюймы, пиксели и т.д.
|
Zoom
| Масштаб печати в процентах.
|
ReportTitle
| Заголовок окна предварительного просмотра
|
Для настройки содержимого отчёта нужно использовать свойство Bands. Оно имеет ряд подсвойств :
HasTitle — имеется полоса заголовка отчета,
HasDetail — имеется полоса детализации,
HasPageHeader — имеется верхний колонтитул (заголовок) на каждой странице отчета,
HasPageFooter — имеется нижний колонтитул на каждой странице отчета.
Для того, чтобы в отчёте отображались какие-либо данные, нужно установить в True свойство HasDetail.
Следующим важным шагом является установка на компонент QuickRep компонента QRBand, на котором уже непосредственно размещаются компоненты отчёта, отображающие графическую или текстовую информацию: QRLabel, QRExp, QRSysData, QRMemo, QRRichText, QRShape, QRImage. Компоненты QRLabel, QRMemo, QRRichText, QRShape, QRImage, размещаемые на полосах отчета, являются аналогами обычных компонентов — Label, Memo, RichEdit, Shape, Image.
Составление отчёта заключается в заполнении текстовых свойств компонентов QRLabel, QRMemo, QRRichText, загрузки изображений в QRImage. Отправка отчёта на печать осуществляется вызовом метода Print компонента QuickRep. К примеру, если в форме отчёта есть компонент QRLabel1, то следующий код отправит на печать текст "156" :
QRLabel1.Сaption:='156';
QuickRep.Print;
кроме метода Print компонент QuickRep имеет метод Preview — предварительный просмотр. Предварительный просмотр как и печать отчета можно осуществлять и в процессе проектирования. Для этого надо щелкнуть правой кнопкой мыши на компоненте QuickRep и из всплывшего меню выбрать команду Preview. Перед вами откроется окно предварительного просмотра, в котором, в частности, имеется кнопка печати.
На этом я думаю эту тему стоит закончить. Хотя QReport позволяет делать более сложные отчёты, для этого имеются компоненты для работы с базами данных и т.д., но это уже отдельный разговор.