ப11 (Разработка баз данных в Delphi)

2016-07-31СтудИзба

Описание файла

Документ из архива "Разработка баз данных в Delphi", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "ப11"

Текст из документа "ப11"

29

С
оздание баз данных в Delphi

Урок 11: Генерация отчетов

Содержание

Содержание 1

1. Компоненты для построения отчетов 2

2. Компонент TQuickRep 3

Свойства 4

Методы 6

События 8

3. Компонент TQRBand 8

4. Создание простейшего отчета 10

5. Использование компонента TQREXPR 13

6. Использование TQRBand для представления заголовков столбцов 16

7. Использование TQRBand для показа заголовка и подвала страницы. 16

8. Использование компонента TQRSysData 17

9. Группировки данных 18

10. Множественная группировка данных 21

11. Построение отчета главный-детальный 22

12. Построение композитного отчета 25

  1. Компоненты для построения отчетов

На странице палитры компонентов QReport расположено более двух десятков компонентов, применяемых для построения отчетов.

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

TQRBand – заготовка для расположения данных, заголовков, титула отчета и др. Отчет, в основном, строится из компонентов TQRBand, которые реализуют:

  • область заголовка отчета;

  • область заголовка страницы;

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

  • область названий столбцов отчета;

  • область детальных данных, предназначенную для отображения данных самого нижнего уровня детализации;

  • область подвала группы;

  • область подвала страницы;

  • область подвала отчета.

TQRStringsBand – имеет то же назначение, что и TQRBand. Отличается встроенным списком строк Items, содержимое которого становится видным в режиме печати и предварительного просмотра, если на компонент TQRStringsBand положен компонент TQRExpr. Для каждой строки в Items выводится своя полоса TQRStringsBand.

TQRSubDetail – дочерняя полоса. Привязывается к родительской полосе и служит для ее расширения. Любая полоса может стать родительской с помощью установки значения True в ее свойство HasChild.

TQRGroup – применяется для группировок данных в отчетах.

TQRLabel – позволяет разместить в отчете произвольную текстовую строку.

TQRDBText – служит для вывода в отчет содержимого текстового поля набора данных.

TQRExpr – применяется для вывода значений, являющихся результатом вычислений выражений. Алгоритм вычисления выражений строится при помощи редактора формул данного компонента.

TQRSysData – служит для вывода в отчете системной величины: даты, времени, номера страницы и т.п.

TQRMemo – вставляет в отчет многостраничный текст.

TQRExprMemo – используется для создания многострочных вычисляемых полей.

TQRRichText – вставляет в отчет многострочный текст в формате RTF.

TQRDBRichText – служит для вывода в отчете полей НД, содержащих многострочный текст в формате RTF.

TQRShape – служит для вывода в отчете графических фигур, например, прямоугольников.

TQRImage – служит для вывода в отчете графической информации, источником которой является поле набора данных.

TQRPreview – базовый компонент для создания нестандартных окон предварительного просмотра. Стандартное окно реализуется с помощью метода Preview компонента TQuickRep.

TQRXXXFilter – фильтрующие компоненты для преобразования отчета в текст, страницу HTML и т.п. при печати отчета.

TQRChart – служит для встраивания в отчет графиков.

  1. Компонент TQuickRep

При размещении этого компонента на форме в ней появляется сетка отчета (рис.1). В дальнейшем в этой сетке располагаются составные части отчета, например, полосы TQRBand (рис.2).

Рис. 1. Пустая сетка отчета. Образуется после размещения на форме компонента TQuickRep.

Рис. 2. Сетка отчета с размещенными в ней компонентами отчета.

Перечислим важнейшие свойства, методы и события компонента TQuickRep.

Свойства

Свойство

Назначение

property Bands: TQuickRepBands;

Объект Bands содержит логические свойства, которые после установки в них значений True включают в отчет: HasColumnHeader – заголовки столбцов; HasDetail – детальную информацию; HasPageFooter – подвал страницы; HasPageHeader – заголовок страницы; HasSummary – подвал отчета; HasTitle – заголовок отчета.

property Dataset: TDataSet;

Указывает набор данных на основе которого создается отчет. Если нужно вывести связанную информацию из нескольких таблиц БД, ее объединяют в одном НД при помощи компонента TQuery. Информацию из нескольких связанных НД можно включать в отчет, если эти НД связаны в приложении отношением главный-подчиненный. В этом случае в качестве НД отчета указывается главный набор, а ссылка на соответствующие подчиненные наборы осуществляется в компонентах TQRSubDetail. Если в отчет нужно включить информацию из несвязанных НД, применяется композитный отчет, то есть отчет, составленный из группы других отчетов.

property Frame: TQRFrame;

Определяет параметры рамки отчета: Color – цвет линий; DrawBottom – наличие линии снизу; DrawLeft – наличие линии слева; DrawRight – наличие линии справа; DrawTop – наличие линии сверху; Style – стиль линии (сплошная, пунктирная и т.п.); Width – толщина линии в пикселях.

property Options: TQuickReportOptions;

Содержит множество из следующих логических значений: HasFirstHeader – разрешает печатать заголовок первой страницы; HasLastFooter – разрешает печатать подвал последней страницы; Compression – разрешает сжимать отчет при выводе его в метафайл.

property Page: TQRPage;

Определяет параметры страницы отчета. Все подсвойства этого сложного свойства доступны в окне Report Setting (см. ниже группы Page size и Margin окна редактора свойств).

property PrintIfEmpty: boolean;

Разрешает/запрещает печатать отчет в том случае если он не содержит данных.

property ReportTitle: String;

Имя отчета (не его заголовок !). Используется для идентификации отчета в задании на сетевую печать, возвращается компонентом QRSysData при Data = ReportTitle и может использоваться для набора одного из нескольких доступных отчетов.

property ShowProgress: boolean;

Разрешает/запрещает показывать индикатор процесса печати отчета.

property SnapToGrid: boolean;

Если содержит True, размещаемые в отчете компоненты привязываются к сетке отчета.

type TQRUnits = (Inches, MM, Pixels, Native, Characters);

property Units: TQRUnits;

Определяет единицы измерения расстояний в отчете: Inches – дюймы; MM – миллиметры; Pixels – пиксели; Native – внутренние единицы TQuickRep (равны 0,1 мм); Characters – символы текста.

property Zoom: Integer;

Определяет масштаб отображения отчета (в процентах от его размеров на листе бумаги) на этапе разработки. Может иметь значение в диапазоне 1..300. Значение свойства не учитывается при печати отчета или в режиме его предварительного показа.

Многие свойства отчета можно установить на этапе конструирования с помощью редактора свойств – вызовите локальное меню компонента TQuickRep и выберите опцию Report Settings.

Рис. 3. Окно установки параметров отчета.

Группа Paper size задает характеристики страницы: ее формат (A4 210 x 270 mm), ширину (Width), длину (Length) и направление печати – вдоль короткой стороны листа (Portait) или вдоль длинной (Landscape).

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

С помощью элементов группы Other можно задать шрифт (Font), его высоту (Size) и используемые единицы измерения длины (Units).

Группа Page frame определяет свойства рамки: наличие линии сверху (Top), снизу (Bottom), слева (Left), справа (Right), цвет линий (Color) и их толщину (Width).

Группа Bands определяет наличие полос заголовков и подвалов (Page header – заголовок страницы; Title – заголовок отчета; Column header – заголовок колонок; Detail band – полоса для детальной информации; Page footer – подвал страницы; Summary – подвал отчета), а также высоту соответствующей полосы (строка Length справа от переключателя выбора). После выбора типа и высоты полосы она появляется в отчете, если окно закрыто кнопкой OK или была нажата кнопка Applay. Элементы Print first page header и Print last page footer управляют соответственно печатью заголовка на первой странице и подвала на его последней странице.

Методы

Метод

Назначение

procedure NewColumn;

Реализует вывод информации в следующей колонке отчета, а если определена единственная колонка, – в его следующей странице.

procedure NewPage;

Реализует вывод информации в следующей странице отчета.

procedure Prepare;

Готовит отчет для вывода в файл (см. ниже примечание 1).

procedure Preview;

Выводит стандартное окно предварительного просмотра (см. ниже примечание 2).

procedure Print;

Печатает отчет на принтере.

procedure PrintBackGround;

Инициирует печать отчета в фоновом режиме (в отдельном потоке команд). После завершения печати вызывается обработчик события OnAfterPrint.

procedure PrinterSetup;

Вызывает стандартное окно установки параметров принтера.

Примечание 1.

Для вывода отчета в файл нужно сначала подготовить его с помощью обращения к методу Prepare, затем сохранить в файле методом Save объекта TQuickRep.QRPrinter, после чего уничтожить этот объект и поместить NIL в свойстве TQuickRep.QRPrinter:

MyReport.Prepare;

MyReport.QRPrinter.Save(‘REport.QRP’);

MyReport.QRPrinter.Free;

MyReport.QRPrinter := NIL;

Примечание 2.

Стандартное окно предварительного просмотра показано на рис. 4.

Рис. 4. Окно предварительного просмотра отчета.

Чтобы на этапе конструирования просмотреть в окне предварительного просмотра содержимое отчета в том виде, как он будет выводиться на печать, нужно выбрать опцию Preview во вспомогательном меню компонента QuickRep. Следует заметить, что при этом не будут видны некоторые данные, например значения вычисляемых полей. Они будут выводиться только во время выполнения.

Н азначение инструментальных кнопок окна:

М асштабирует отчет так, чтобы его страница полностью показывалась в окне.

О тображает отчет в масштабе 1:1.

М асштабирует отчет так, чтобы ширина страницы отчета соответствовала ширине окна.

П оказывает первую (последнюю) страницу отчета.

П оказывает предыдущую (следующую) страницу отчета.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5140
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее