Методическая разработка аудиторного занятия по МДК.02.02. Технология разработки и защита баз данных на тему Формирование печатных форм. Принципы создания отчетов

Root EntryПлан-конспект занятия
Тема урока: Формирование печатных форм. Принципы создания отчетов
.

Цели урока:
Образовательные цели:
формирование знаний и умений работы с печатными формами в Delphi;
изучение принципов построения отчетов с использованием компонентов Rave Report и компонентов QReports;
создание отчетов на основе данных таблиц БД с использованием компонентов Rave Report и QReports.
приведение примеров практического применения печатных форм в БД;
углубление знаний об особенностях проектирования с различными технологиями доступа БД.
Развивающие цели:
продолжение работы над развитием операционного стиля мышления через всестороннюю оценку ситуации, оптимальное планирование действий, поиск информации, необходимой для решения задачи – формирование компетентности в сфере познавательной деятельности;
работа над возможностью приобретения опыта создания и преобразования информационного объекта с помощью информационных технологий – формирование технологической компетентности,
развитие внимания, творческих способностей обучающихся.
Воспитательные цели:
воспитание информационной культуры обучающихся, внимательности, аккуратности, дисциплинированности, усидчивости.
Тип урока: изучение нового материала.
Продолжительность урока: 2 урока по 45 мин.
Оборудование: ПК, ОС Windows 7, Delphi7, мультимедиа-проектор, презентация «Формирование печатных форм».
Ход урока
I. Организационный момент (3 мин).
– приветствие,
– контроль присутствия студентов на занятии,
– создание деловой атмосферы на занятии,
Объявление темы и главной образовательной цели занятия, объяснение хода занятия.
II. Изучение нового материала (55 мин).
Принципы создания отчетов
Отчеты используются в самых разных программах. Особенно активно они формируются во всевозможных приложениях, связанных с автоматизацией делопроизводства, когда документы хранятся в электронном виде в базе данных, но их требуется регулярно выводить на печать. Отчеты в системе Delphi ориентированы в первую очередь на печать информации из таблиц баз данных.
В системе Delphi 7 отчет это виртуальный образ бумажного листа, который в дальнейшем без изменений воспроизводится на принтере.
Традиционно в Delphi для создания отчетов используются компоненты панели QReports. Начиная с Delphi7 для использования этих компонентов требуется подключение библиотеки dclqrt70.bpl.
Различают три типа отчетов:
простой – использует данные из одного НД. В этом отчете должна использоваться хотя бы одна полоса TQRBand типа rbDetail, которая при печати или просмотре будет автоматически повторяться столько раз, сколько записей содержит НД.
отчет типа главный-детальный – использует данные из двух НД, связанных реляционным отношением один-ко-многим. Обязательно используется полоса TQRSubDetail, которая автоматически повторяется столько раз, сколько записей содержит детальный НД.
композитный – строится как механическое объединение двух и более отчетов. Использует компонент TQRCompositeReport, у которого в свойство Report методом Add добавляются готовые отчеты.
В седьмой версии Delphi появился набор компонентов Rave Reports (панель Rave). Эти компоненты позволяют подготовить произвольное число виртуальных страниц отчетов в простом визуальном редакторе. Компоненты набора обладают множеством характеристик, что позволяет детально настроиться на возможности конкретного принтера.
Создание отчетов с использованием компонентов вкладки QReport
Страница QReport содержит компоненты, используемые при генерации отчетов.
Для использования компонентов вкладки QReport требуется подключение библиотеки dclqrt70.bpl:
1. Выбрать меню Delphi Component/ InstallPackages
2. Выбрать кнопку добавления (Add).
3. Найти библиотеку dclqrt70.bpl (Borland/Delphi7/ Bin/ dclqrt70.bpl).
Перечислит основные компоненты вкладки QReport (таблица 1).
Таблица 1 – Основные компоненты вкладки QReport
Компонент
Тип
Описание


13 EMBED PBrush 1415
QuickRep
Пустая сетка отчетов. Используется для введения в приложение средств печати отчетов QuickReport. Компонент невизуальный. Его основные свойства Bands:
HasColumnHeader – область заголовка столбцов отчета;
HasDetail – область детальной информации (основная часть отчета);
HasPageFooter – область верхнего колонтитула;
HasPageHeader – область верхнего колонтитула;
HasSummary – область примечания отчета;
HasTietle – область заголовка отчета.

13 EMBED PBrush 1415
QRBand
Определяет область данных, которая при настройке свойства Data может стать любой областью отчета. Используется для построения отчетов путем размещения на нем печатаемых компонентов. Компонент визуальный.

13 EMBED PBrush 1415
QRSubDetail

Определяет область для данных подчиненной таблицы (связанных Master-Detail). Используется для компоновки в отчет дополнительных данных. Компонент визуальный.

13 EMBED PBrush 1415
QRGroup

Определяет область группировки данных в отчете. Используется для группировки данных. Компонент невизуальный

13 EMBED PBrush 1415
QRLabel

Определяет область для размещения статического текста (метка). Используется для размещения текста в отчете. Компонент визуальный.

13 EMBED PBrush 1415
QRDBText

Определяет область для размещения полей набора данных. Представляет собой ориентированный на данные компонент для размещения текст из базы данных. Компонент визуальный.

13 EMBED PBrush 1415
QRExpr

Определяет область для вывода значений вычисляемых выражений. Позволяет строить и отображать выражения над полями данных и системными - математическими величинами (такими, как время дата и выражения).

13 EMBED PBrush 1415
QRSysData

Определяет область для вывода данных времени, даты, № страницы, и т.д. через свойство Data. Используется для отображения системных данных. Компонент визуальный.

13 EMBED PBrush 1415
QRMemo

Определяет область для вывода в отчете содержимого полей комментариев. Используется для размещения в отчете многострочных текстов. Компонент визуальный.

13 EMBED PBrush 1415
QRDBRichText
Определяет область для формирования комментариев. Используется для размещения в отчете текста в обогащенном формате Rich-Text. Компонент визуальный.

13 EMBED PBrush 1415
QRShape
Определяет область для вывода в отчете графических форм. Используется для рисования в отчете графических форм. Компонент визуальный.

13 EMBED PBrush 1415
QRImage

Определяет область для вывода в отчете рисунков. Используется для печати изображений в отчете рисунков. Компонент визуальный.


Приведем пример алгоритма создания отчета с использованием компонентов вкладки QReport.
1. На форму вынести компонент Table (вкладка DBE) связать с таблицей БД.
2. С вкладки QReport на эту же форму вынести пустую сетку отчета QuickRep и настроить ее свойства:
QuickRep1.DataSet:= Table1;
3. В пустой сетке отчета добавим область заголовка, через свойства:
QuickRep1.Batds.HasTietle:=True;
В выделенную часть заголовка внесем объект QRLabel с текстом заголовка отчета.
4. В сетку отчета добавим область основной части отчета:
QuickRep1.Batds.HasDetall:=True;
В выделенную часть основной части отчета внесем объект QRDBText соединим с одним из столбцов объекта Table.
QRDBText1.DataSet:= Table1;
QRDBText1.DataField:= выбранное поле’;
*Для визуализации нескольких полей для каждого поля выносят свой QRDBText.
5. Добавим область заголовков столбцов:
QuickRep1.Batds.HasColumnHeader:=True;
В выделенную часть заголовка внесем объекты QRLabel с текстом названий столбцов.
6. Добавим верхний и нижний колонтитулы:
QuickRep1.Batds.HasPageHeader:=True;
QuickRep1.Batds.HasPageFooter:=True;
В область верхнего колонтитула добавим объект QRSysData настроим его свойства на отображение даты печати отчета:
QRSysData1.Data:=drsDate
В область нижнего колонтитула добавим объект QRSysData настроим его свойства на отображение страницы отчета:
QRSysData1. Data:= drsPageNumber
7. Чтобы окно предварительного просмотра появлялось при активизации формы необходимо в кнопку открытия отчета прописать процедуру:
Form2.Show;
Form2.QuickRep1.Preview;
* Form2 – форма содержащая отчет.
8. Чтобы после выхода из окна предварительного просмотра закрывалась и форма на которой находится сетка отчета в событие AfterPreview объекта QuickRep внесем процедуру закрытия формы:
Form2.Close;
* Form2 – форма содержащая отчет.
9. Для организации отчета с группировкой данных необходимо выполнить следующие действия (рисунок 1):

Рисунок 1 – Пример отчета в режиме проектирования
9.1. Организуем заголовок группы. Для этого необходимо добавить объект QRBand настроить его свойства:
QRBand1.BandType:=rbGroupHeader;
QRBand1.Expression:= ’указать поле группировки’;
В выделенную часть заголовка группы внесем объект QRExr1 настроим свойства:
QRExr1. Expression:= ’указать поле группировки’;
9.2. Организуем примечание группы. Для этого необходимо добавить объект QRBand настроить его свойства:
QRBand2.BandType:=rbGroupFooter;
QRBand2.LinkBand:= QRGroup1;
В выделенную часть примечания группы внесем объект QRExr настроим свойства:
QRGroup1. Expression:= ’указать вычисления с полем вычислений’;
* Для группировки данных в отчете необходимо чтобы данных были индексированны или отсортированы по полю группировки.
Создание отчетов с использованием компонентов вкладки Rave
Доступные в Delphi компоненты создания отчетов Rave можно поделить на следующие группы: компоненты связи с источниками данных, компоненты печати отчета, компоненты генерации отчета в других форматах (таблица 2).
Таблица 2 - Компоненты вкладки Rave
Компоненты связи с источниками данных

13 EMBED PBrush 1415
TRvCustomConnection
поставляет в отчет данные из обычных файлов или массивов в памяти программы

13 EMBED PBrush 1415
TRvDataSetConnection
поставляет в отчет данные, получаемые от таблиц BDE (ТТаble).

13 EMBED PBrush 1415
TRvTableSetConnection
поставляет в отчет данные, получаемые от таблицы BDE (ТТаble).

13 EMBED PBrush 1415
TRvQuerySetConnection
поставляет в отчет данные, получаемые от запроса BDE (TQuery).

Компоненты печати отчета

13 EMBED PBrush 1415
TRvNDRWriter
сохраняет отчет в двоичной форме (в виде так называемого NDR-потока);

13 EMBED PBrush 1415
TRvRenderPreview
выводит отчет (файл, подготовленный компонентом TRvNDRWriter) в окне предварительного просмотра

13 EMBED PBrush 1415
TRvRenderPrinter
выводит отчет (файл, подготовленный компонентом TRvNDRWriter) на печать

13 EMBED PBrush 1415
TRvSystem
объединяет возможности этих трех компонентов в стандартной визуальной среде просмотра, настройки и печати

Компоненты генерации отчета в других форматах

13 EMBED PBrush 1415
TRvRenderPDF
преобразует NDR-поток в PDF-формат с поддержкой графики

13 EMBED PBrush 1415
TRvRenderHTML
преобразует NDR-поток в формат HTML 4.0 с поддержкой графики;

13 EMBED PBrush 1415
TRvRenderRTF
преобразует NDR-поток в RTF-формат с поддержкой графики

13 EMBED PBrush 1415
TRvRenderText
преобразует NDR-поток в текст


Для вызова визуального Rave-проектировщик (рисунок 2) необходимо вынести на форму объект RvProject или выбрать меню Delphi7 Tool/RaveDesigner.


Рисунок 2 – Главный экран проектировщика отчетов
Окно проектировщика состоит из четырех основных частей. В верхней части расположены кнопки управления и панели компонентов. В центре можно видеть проектируемый отчет. В левой части находится редактор свойств текущего объекта, в правой разработчику доступен Просмотрщик объектов, схожий с аналогичным инструментом Delphi.
Среда визуального Rave-проектировщика проста в эксплуатации и в плане пользовательского интерфейса схожа с системой Delphi. В ходе проектирования отчета разработчику доступны наборы компонентов следующих панелей:
Drawing графические элементы оформления (линии, полосы, фигуры);
Bar Code штрих-кодовые графические элементы;
Standard стандартные элементы отчета одно- и многостраничные подписи, картинки, пользовательские средства настройки шрифтов;
Report компоненты, обеспечивающие связь отчета с базами данных;
Zoom средства масштабирования виртуальных страниц;
Color цветовые настройки отчета;
Lines средства построения линии;
Fills элементы заполнения фона;
Fonts средства настройки шрифтов различных частей отчета;
Alignment компоненты, позволяющие гибко выравнивать части отчета.
Приведем пример алгоритма создания отчетов с использованием компонентов вкладки Rave:
1. На форму вынесем компоненты DataSourсe (вкладка DataAccess), Table (вкладка DBE) связать эти объекты между собой и таблицей БД.
Вынесем объект RvDataSetConnection1 (вкладка Rave) настроим его свойство на связь с набором данных:
RvDataSetConnection1.DateSet:=Table1;
2. Откроем визуальный проектировщик отчетов Rave (например через меню Delphi7 Tool/RaveDesigner).
3. Спроектируем новый отчет и соеденим его с набором данных через объект RvDataSetConnection1.
3.1. В окне проектировщика отчетов Rave выберем меню File / New Data Object (Файл / Новый объект данных).
3.2. В окне типов связи (рисунок 3) выберем строку Direct Data View (Прямой обзор данных).

Рисунок 3 - Выбор типа связи
3.3. В следующем окне (рисунок 3) будет предложено выбрать соединения с СУБД, доступные на данный момент в среде Delphi. В нашем случае это единственная связь RvDataSetConnectionl. Теперь структуру установленной связи (она получила название DataViewl) можно посмотреть в правой части Rave-редактора (рисунок 4).

Рисунок 4 - Структура связи с СУБД
4. Подготовим табличную форму отчета с помощью Rave-Мастера.
4.1. Выберем в меню проектировщика Tools / Report Wizards / Simple Table (Сервис / Мастер отчетов / Простая таблица). Выберем в диалоговом окне название объекта DataView1.
4.2. В следующем окне (рисунок 5) будет предложено отметить поля таблицы, которые желательно видеть в отчете.

Рисунок 5 - Выбор полей для включения в отчет
4.3. На следующих этапах работы Мастера заданные поля можно будет отсортировать, ввести название отчета, указать границы печатаемой страницы и задать шрифты различных разделов. После нажатия в последнем окне кнопки Generate отчет будет создан и размещен в центре виртуальной страницы (рисунок 6).
* В правой части редактора отчетов в элементе Report Library (Библиотека Отчетов) – запомним имя нашего отчета, например Report2.

Рисунок 6 - Проектирование отчета
5. Настроим шрифт через меню Font Набор символов – Другой язык.
6. Теперь созданный шаблон с отчетом (он называется Rave-проект) надо сохранить в подходящей папке с помощью стандартный команды File / Save (Файл / Сохранить) с названием, например, Rave1. Файл проекта получит расширение .rav.
7. Вернемся в Delphi и добавим на форму компонент TRvProject (Rave-Проект).
Свойство Project File (Файл проекта) настроим на подготовленный файл Rave1.
TRvProject1. ProjectFile Rave1. rav
8. Для просмотра отчета в режиме работы приложения на форму добавим кнопку и пропишем в нее процедуру:
RvProjectl.ExecuteReport('Report2');
III. Первичное закрепление новых знаний.
Ответить на вопросы:
Перечислить особенности создания отчетов с помощью визуального Rave-проектировщика.
Перечислить особенности создания отчетов с помощью компонентов вкладки QReport.
Описать для чего используется библиотека dclqrt70.bpl и как ее подключить.
Из каких основных частей состоит окно проектировщика отчетов Rave.
Перечислить на какие группы можно поделить компоненты создания отчетов Rave.
IV. Подведение итогов урока и задание на дом (2 мин.).
Конспект. Хомоненко А.Д. и др. Delphi 7 стр 712-713.
Список использованных источников:
Хомоненко А.Д. и др. Delphi 7 стр 712-713.
Фуфаев Э.В., Фуфаев Д.Э., Базы данных: учеб.пособие для студ.учреждений сред. проф. образования/ Э.В. Фуфаев, Д.Э. Фуфаева - 5-е изд., стер. – М.: Издательский центр «Академия», 2013. – 320 с.
Фуфаев Э.В., Фуфаев Д.Э., Разработка и эксплуатация удаленных баз данных: учеб.пособие для студ.учреждений сред. проф. образования/ Э.В. Фуфаев, Д.Э. Фуфаева - 3-е изд., стер. – М.: Издательский центр «Академия», 2012. – 256 с.








13PAGE \* MERGEFORMAT14915