Магистратура ДонНТУ
ДонНТУ Портал магистров

| Биография | Реферат | Библиотека | Ссылки | Отчёт о поиске |

Проектирование и управление базами данных средствами клиент-сервер Interbase/Firebird. Работа с отчётами на базе Rave Reports

Генератор отчётов Rave Rapotrs 5.0

Генератор отчетов Rave Reports 5.0 разработан фирмой Nevrona и входит в состав Delphi 7 в качестве основного средства для создания отчетов. Он состоит из трех частей:
- ядро генератора отчетов обеспечивает управление отчетом и его предварительный просмотр, и отправку на печать. Исполняемый код ядра сервера включается в приложение Delphi, делая его полностью автономным при работе с отчетами на компьютере клиента;
- визуальная среда разработки отчетов Rave Reports предназначена для разработки самих отчетов. Она позволяет добавлять к отчету страницы, размешать на них графические и текстовые элементы управления, подключать к отчетам источники данных и т. д. Отчеты сохраняются в файлах с расширением rav и должны распространяться совместно с приложениями, использующими их;
- компоненты Rave Reports расположены на странице Rave Палитры компонентов Delphi. Они обеспечивают управление отчетами в приложении.

Безусловно, визуальная среда разработки заметно упрощает процесс создания отчетов и позволяет добиться лучших результатов меньшими усилиями, чем в генераторе отчетов Quick Report, который использовался в предыдущих версиях Delphi. Тем не менее при первом знакомстве с продуктом заметны и его недостатки. Система помощи оставляет тягостное впечатление не только своей крайней лаконичностью, но и фактическими ошибками. Многие свойства и методы остались недокументированными, и наоборот — имеющиеся в статьях подсказки описания не имеют реальных аналогов в коде компонентов.


Компоненты Rave Reports и их назначение

Компоненты для создания отчетов и управления расположены на странице Rave Палитры компонентов. Они делятся на следующие функциональные группы:
- Компонент отчета TRvproject, с точки зрения приложения, и есть отчет. Он обеспечивает загрузку заранее созданного в визуальной среде Rave Reports отчета из файла с расширением rav.
- Компонент управления отчетом TRvSystem обеспечивает работу приложения с отчетом. Взаимодействуя с компонентом отчета, с одной стороны, и сервером отчета Rave Reports, с другой, этот компонент обеспечивает просмотр и печать отчетов.
- Компоненты соединения с источниками данных предназначены для подключения различных источников данных к отчетам. При этом могут использоваться технологии доступа к данным ADO, BDE, dbExpress. К этой группе относятся компоненты TRvCustomConnection, TRvDataSetConnection, TRvTableConnection, TRvQueryConnection.
- Компоненты преобразования данных позволяют конвертировать отчеты из формата данных Rave Reports в другие форматы (текстовый, PDF, HTML, RTF), а также распечатывать или просматривать отчеты. К этой группе относятся компоненты TRvNDRWriter, TRvRenderHTML, TRvRenderPreview, TRvRenderRTF, TRvRenderPrinter, TRvRenderText, TRvRenderPDF.


Отчет в приложении Delphi

Основой отчета является файл отчета с расширением rav. Он создается в визуальной среде разработки Rave Reports и может содержать произвольное число страниц. Каждая страница может быть оформлена графическими или текстовыми элементами или отображать данные из какой-либо базы данных. Другими словами, файл RAV — это проект будущего отчета, содержащий общую информацию об отчете, оформление его страниц и правила их заполнения.
После создания проект отчета необходимо связать с приложением Delphi. Для этого используется компонент TRvProject. Этот компонент обеспечивает представление отчета в приложении.
Но этого недостаточно, чтобы просмотреть или напечатать отчет. Для выполнения этих операций используется код ядра генератора отчета, который автоматически прикомпилируется к исполняемому коду приложения при переносе на любую форму проекта компонентов TRvProject и TRvSystem. Для управления операциями печати и просмотра в проекте должен присутствовать компонент TRvSystem.

Компоненты Rave Raports в приложении Delphi

Компоненты Rave Reports в приложении Delphi

Для того чтобы приложение Delphi могло выполнять функции печати отчетов, разработчик должен выполнить следующий набор операций.
1. При помощи визуальной среды разработки Rave Reports необходимо создать проект отчета и сохранить его.
2. Перенести в проект приложения в Delphi компонент TRvProject и связать его с файлом проекта отчета при помощи свойства ProjectFile.
3. Перенести в проект приложения в Delphi компонент TRvSystem и связать его с компонентом TRvProject. Для этого используется свойство Engine компонента TRvProject.
4. Написать код приложения, обеспечивающий просмотр и печать отчета (при необходимости и другие операции), используя методы компонента TRvProject.


Компонент отчета TRvProject

Компонент TRvProject обеспечивает представление в приложении отчета. Для того чтобы связать проект отчета Rave Reports с компонентом, используется свойство
  property ProjectFile: string;
До начала печати необходимо связать компонент TRvProject с компонентом управления отчетом TRvSystem. Для этого достаточно передать в свойстве
  property Engine: TRpComponent;
ссылку на компонент TRvSystem.
При необходимости вы можете загрузить отчет из внешнего файла или потока:
  procedure LoadFromFile(FileName: String);
  procedure LoadFromStream(Stream: TStream);
Загруженный отчет становится текущим.
Кроме этого существует и пара методов для сохранения отчета:
  function SaveToFile(FileName: String);
  procedure SaveToStream(Stream: TStream);
В процессе работы приложения может потребоваться напечатать несколько различных отчетов. Для этого можно использовать требуемое число компонентов TRvProject или загружать нужные отчеты по мере необходимости.
Один файл проекта отчета может содержать несколько независимых отчетов. Каждый из них идентифицируется в компоненте TRvProject тремя свойствами. Имя, полное имя и описание отчета содержатся соответственно в трех свойствах только для чтения:
  property ReportName: String;
  property ReportFullName: String;
  property ReportDesc: String;
При этом эти три свойства возвращают параметры текущего отчета. Сразу после загрузки из файла текущим становится отчет, являющийся отчетом по умолчанию в среде разработки. При необходимости сменить текущий отчет используется метод
  function SelectReport(ReportName: string; FullName: boolean): boolean;
В параметре ReportName передается имя нужного отчета. Если параметр FullName имеет значение True, то это полное имя отчета, иначе — имя отчета. В случае, если проект содержит несколько отчетов, их имена доступны при помощи метода
  procedure GetReportList(ReportList: TStrings;FullName: boolean);
Список имен будет возвращен в список строк ReportList, а параметр FullName определяет, какие именно имена будут занесены в список. При значении параметра True метод возвращает полные имена отчетов (соответствует свойству ReportFullName), иначе — имена (соответствует свойству ReportlName).
Файл проекта отчета можно включить в состав исполняемого файла приложения. Для этого используется свойство
  property StoreRAV: Boolean;
При щелчке на кнопке в строке этого свойства в Инспекторе объектов открывается специализированный редактор Load Into exe.

Редактор свойства StoreRAV компонента TRvProject

Редактор свойства StoreRAV компонента TRvProject

Здесь можно задать файл проекта отчета. После этого в Инспекторе объектов в строке свойства storeRAv появятся дата и время загрузки проекта отчета. Это же время и дата будут сохранены в свойстве
  property RaveBlobDateTime: TDateTime;
Отправить отчет на печать можно методом
  procedure Execute;
или же методом
  procedure ExecuteReport(ReportName: string);
который позволяет направить на печать отчет, заданный параметром ReportName. Он должен соответствовать имени отчета, хранящемуся в свойстве ReportName компонента TRvProject.
Отчет, содержащийся в компоненте Trvproject, может быть открыт для редактирования методом
  procedure Open;
Не открывая отчет, вы не сможете использовать большинство свойств и методов компонента. Дело в том, что при открытии компонент загружает отчет из файла проекта или прикомпилированного кода (в случае использования свойства StoreRAV).
Сохранение и закрытие отчета соответственно выполняются методами
  procedure Save; procedure Close;
Кроме этого, действия, аналогичные методам open и close, выполняются свойством
  property Active: Boolean;
Если свойству присвоить значение True — отчет открывается, иначе — закрывается.
До и после открытия и закрытия отчета вызывается четверка методов-обработчиков:
  property aeforeOpen: TNotifyEvent;
  property AfterOpen: TNotifyEvent;
  property BeforeClose: TNotifyEvent;
  property AfterClose: TNotifyEvent;


Выводы

В качестве основного средства создания отчетов и их использования в приложениях в состав Delphi 7 включен генератор отчетов Rave Reports 5.0. В его состав входят ядро генератора отчетов, визуальная среда создания отчетов и набор компонентов.
Ядро генератора отчетов обеспечивает предварительный просмотр или печать отчета. Оно включается в исполняемый файл приложения. Поэтому разработчики избавлены от необходимости распространять совместно с приложением какие-либо дополнительные файлы.
Визуальная среда создания отчетов позволяет разрабатывать самые разнообразные отчеты, в том числе использующие наборы данных из источников различных типов.
Набор компонентов предоставляет разработчику инструментарий для управления отчетом в приложении.


Ссылки по теме

С общими сведениями об Interbase/Firebird, основными принципами построения баз данныхи управлением базами данных с помощью стандартных компонентов вы можете ознакомиться в индивидуальном задании магистра ДонНТУ Кострицкого Д. С.
Сайт магистра ДонНТУ Кострицкого Д. С.

Ссылки, связанные с темой индивидуального задания из сети Интернет:

1. Ссылка на сайт разработчика Rave Reports
Сайт разработчика Rave Reports
http://www.nevrona.com


2. Ссылка на "Иллюстрированный самоучитель по Delphi 7 для профессионалов", часть VI которого посвящена рассмотрению вопросов, связанных с генератором отчётов Rave Raports 5.0 (компоненты Rave Reports и отчеты в приложении Delphi; визуальная среда создания отчетов; разработка, просмотр и печать отчетов; отчеты для приложений баз данных)
Иллюстрированный самоучитель по Delphi 7 для профессионалов
http://megalib.com/books/3/index.html


3. Ссылка на ресурс, содержащий статью об отчётах Rave Reports в режиме RunTime (исследование классов в проекте отчета Rave Report, исследование объектов средствами технологии RTTI, описание классов TRaveXXX, Доступ к объектам проекта отчета Rave Report в режиме RunTime)
Работа с отчетами Rave Report в режиме RunTime
http://www.delphimaster.ru/articles/raverpt/index.html


4. Ссылка на ресурс, содержащий статью об Direct Data View в Rave Reports как о гибком механизме для создания отчетов (применение Direct Data View, инструменты)
Direct Data View в Rave Reports – гибкий механизм для создания отчетов
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1065


5. Ссылка для скачивания руководства разработчика Rave Reports
Скачать руководство разработчика
http://podgoretsky.com/ftp/Docs/Delphi/DX/RaveUserGuide-ru.doc



| Биография | Реферат | Библиотека | Ссылки | Отчёт о поиске |