4. Чтобы увидеть отчёт в окне предварительного просмотра, щёлкните на компоненте QuickRepl правой кнопкой мыши и выберите в контекстном меню команду Preview.
5. Теперь необходимо поместить в отчёт заголовки его колонок. Для этого используется компонент TQRBand со свойством BandType = rbColumHeader. Кроме того, установите для компонента свойства Font.Size = 10 и Font.Style.fsBold = True, а также поместите значение True в свойства Frame.DrawBottom, Frame.DrawLeft, Frame.DrawRight и Frame.DrawTop, чтобы полоса очерчивалась прямоугольной рамкой;
6. Разместите на полосе четыре компонента TQRLabel со следующими свойствами:
QRLabeB: Caption = Название, автор, издательство, Left =163, Тор =10;
QRLabel4: Caption = Количество, Left = 499, Top =10, AutoSize = False, Width = 66, Alignment = taCenter;
QRLabel5: Caption = Цена, Left = 567, Top = 10, AutoSize = False, Width = 66, Alignment = taCenter;
QRLabel6: Caption = Сумма, Left = 632, Top = 10, AutoSize = False, Width = 66, Alignment = taCenter.
7. Чтобы в отчёте появился связанный с накладной список книг, поместите в него компонент TQRSubDetail со значениями свойств DataSet = DM.Move, Font.Size = 8, Height = 15, Frame.DrawLeft = True, Frame.DrawRight = True, Frame.DrawBottom = True;
8. На полосе TQRSubDetail поместите четыре компонента TQRDBText для отображения содержимого четырёх колонок отчёта:
QRDBText4: AutoSize = False, DataSet = DM.Move, DataField = Name, Frame.DrawRight = True, Height = 15, Left = 0, Top = 0, Width = 498;
QRDBText5: AutoSize = False, DataSet = DM.Move, DataField = MQuan, Frame.DrawRight = True, Height = 15, Left = 499, Top = 0, Width = 70, Alignment = taCenter;
QRDBText6: AutoSize = False, DataSet = DM.Move, DataField = MPrice, Frame.DrawRight = True, Height = 15, Left = 567, Top = 0, Width = 70, Alignment = taCenter;
QRDBText7: AutoSize = False, DataSet = DM.Move, DataField = Summa, Frame.DrawRight = True, Height = 15, Left = 638, Top = 0, Width = 70, Alignment = taCenter;
9. Для размещения в отчёте итоговой информации используется полоса RQRBand типа rbSummary. Поместите на эту полосу:
TQRLabel: Тор = 10, Left = 10, Caption = Итого:;
TQRSysData: Top = 10, Left = 56, Data = qrsDetailCount;
TQRLabel: Top =10, Left =10, Caption = Наименование на сумму;
TQRDBText: Top = 10, Left = 248, DataSet = DM.Nakls, DataField = NSum.
10. Чтобы вызвать отчёт в программе, создайте обработчик нажатия копки "Печать", как показано ниже:
begin
fmPrint := TfmPrint.Create(Self);
fmPrint.QuickRepl .Preview;
fmPrint.Free; end;
Задание:
Привести пример создания отчета.
Лабораторная работа №9 (2 часа)
Тема: «Создание отчетов. Rave-проектировщик»
Цель работы: изучать возможности создания отчетов Rave-проектировщиком.
Теоретические сведения:
Отчеты используются в самых разных программах. Особенно активно они формируются во всевозможных приложениях, связанных с автоматизацией делопроизводства, когда документы хранятся в электроном виде в базе данных, но их требуется регулярно выводить на печать. Отчеты в системе Delphi 7 ориентированы в первую очередь на печать информации из таблиц баз данных.
В системе Delphi 7 отчет - это виртуальный образ бумажного листа, который в дальнейшем без изменений воспроизводится на принтере. В седьмой версии Delphi появился набор компонентов Rave Reports (панель Rave), который заменил морально устаревший набор QReports. Эти компоненты позволяют подготовить произвольное число виртуальных страниц отчетов в простом визуальном редакторе. Компоненты набора обладают множеством характеристик, что позволяет детально настроиться на возможности конкретного принтера.
Для создания отчета необходимо на форму добавить компоненты ТТаЫе и TRvDataSetConnection. В свойстве DataSet указывается название объекта-таблицы.
Для проектирования внешнего вида потребуется вызвать Rave-проектировщик командой Tools>Rave Designer. Окно проектировщика состоит из четырех основных частей. В первой части расположены кнопки управления и панели компонентов. В центре можно видеть проектируемый отчет. В левой части находятся редактор свойств текущего объекта, в правой разработчику доступен Просмотрщик объектов.
Дайте команду file → New Data Object (Файл → Новый объект данных) и в окне типов связи выберем строку Direct Data View (Прямой обзор данных).
В следующем окне будет предложено выбрать соединения с СУБД, доступные на данный момент в среде. В нашем случае это единственная связь TRvDataSetConnection 1. Теперь структуру установленной связи можно посмотреть в правой части Rave-редактора.
Для подготовки табличной формы отчета необходимо, выполнить команду Tools → Report Wizards → Simple Table и выбрать в диалоговом окне объекта DataViewl. В следующем окне будет предложено отметить поля таблицы, которые желательно видеть в отчете.
На следующем этапе можно будет отсортировать, ввести название отчета, указать границы печатаемой страницы и задать шрифты различных разделов. После нажатия кнопки Generate отчет будет создан и размещен в центре виртуальной страницы.
В одном проекте может быть несколько различных отчетов (их модно просмотреть в правом окне в элементе Report Library).
Теперь создайте шаблон отчета, для этого необходимо сохранить в подходящей папке. Файл проекта получит расширение .rav .
Вернемся к форме, добавьте на нее компонент TRvProject. Свойство Project File настройте на подготовленный файл отчета.
Поместите на форму кнопку и в обработчике нажатия запишите следующий оператор:
RvProject.ExecuteReport ('MyReport');
В нем происходит обращение к методу ExecuteReport компонента TRvProject, ио которому строится и вызывается для просмотра и печати указываемый отчет.
Визуальный Rave-проектировщик
В ходе проектирования отчета разработчику доступны наборы компонентов следующих панелей:
- Drawing - графические элементы оформления;
- Bar Code - штрих-кодовые графические элементы;
- Standard - стандартные элементы отчета многостраничные подписи, картинки, средства настройки шрифтов;
- Report- компоненты, обеспечивающие связь отчета с базами данных;
- Zoon-средства масштабирования виртуальных страниц;
- Color- цветовые настройки отчета;
- Lines- средства построения линий;
- Fills- элементы заполнения фона;
- Fonts-средства настройки шрифтов различных частей отчета;
- Alignment- компоненты, позволяющие гибко выравнивать части отчета. Rave-компоненты:
Компоненты связи с источниками данных:
- TrvCustomConnection - поставляет в отчет данные из обычных файлов или массивов в памяти программы;
- TRvDataSetConnection - поставляет в отчет данные, получаемые от таблиц BDE; TrvQuerySetConnection - поставляет в отчет данные, получаемые от запроса BDE.
Задание:
Привести пример создания отчета.