Тема: «создание отчётов. Технология quick report» 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема: «создание отчётов. Технология quick report»



Цели работы:

1. установка пакета компонентов Qreport;

2. принципы построения отчёта.

Теоретические сведения

В большинстве случаев данные, которые хранятся в таблицах БД, необходимо тем или иным способом опубликовать, создавая так называемые отчёты, В Delphi имеется набор компонентов, предназначенных для решения этой задачи. Чтобы ознакомиться с их списком, можно взглянуть на вкладку QReport, где находится порядка двадцати компонентов. По умолчанию, данные компоненты не устанавливаются. Если вы хотите работать с технологией Quick Report, то вам необходимо установить пакет DCLQRT70.BPL. Для этого выберите команду Component → Install Packages, щёлкните на кнопке Add и укажите этот файл, который находится в папки BIN каталога размещения Delphi.

Центральным компонентом при построении отчёта является компонент TQuickRep, определяющий свойства отчёта в целом. Этот компонент всегда помещается на отдельную форму, образуя с её помощью визуальную среду конструирования отчёта.

Создадим отчёт, который будет вызываться с помощью кнопки Печать, расположенной на главной форме приложения. Наш отчёт будет представлять собой товарную накладную на отпуск книг со склада оптового поставщика. Основные этапы работы, необходимые для создания отчёта в Delphi

Выполнить:

1. Создайте в проекте пустую форму, расположите на ней компонент TQuickRep, измените имя формы на fmPrint и сохраните в файле fmPrintU. Эта форма не будет создаваться автоматически в момент старта программы, поэтому после её присоединения к проекту выберите команду Project -> Options и перенесите её в список доступных форм Avialable forms.

2. С помощью команды File → Use unit свяжите новую форму с модулем данных, после чего поместите в свойство DataSet компонента QuickReport значение DM.Move. Следует заметить, что это свойство всегда должно быть заполнено и указывать на ту таблицу, которая будет содержать основную информацию.

3. Поместите на отчёт полосу TQRBand. Эта полоса по умолчанию имеет тип rbTitle, то есть появляется всего один раз в самом начале отчёта. Используем её для размещения заголовка накладной, для чего установим её высоту Height=99 и поместим на неё следующие комопненты:

TQRLabel со свойством Caption = Товарная накладная №, Тор = 8, Left = 176, Font.Size = 16, Font.Style.fsBold = True;

TQRDBText со свойствами DataSet = DM.Nakls, DataField = NakllD, Top = 8,  Left = 424, Font.Size = 16, Font.Style.fsBold = True;

TQRDBText: Caption = от, Top = 8, Left = 472, Font.Size = 16, Font.Style.fsBold =true

TQRDBText: DataSet = DM.Nakls, DataField = NDate, Top = 8, Left = 504, Font.Size = 16, Font.Style.fsBold = True;

TQRLabel: Caption = Отправитель, Top = 40, Left =16, Font.Size =12, Font.Style.fsBold = True;

TQRLabel: Caption = Получатель, Top = 64, Left = 16, Font.Size = 12,  Font.Style.fsBold = True;

TQRDBText: DataSet = DM.Nakls, DataField = Firm, Top = 64, Left = 120, Font.Size =10, Font.Style.fsUnderline = True.

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 часа)



Поделиться:


Последнее изменение этой страницы: 2019-12-15; просмотров: 69; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.100.34 (0.007 с.)