rave reports что это
Rave reports что это
Генератор отчетов 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 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 появятся дата и время загрузки проекта отчета. Это же время и дата будут сохранены в свойстве
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, основными принципами построения баз данныхи управлением базами данных с помощью стандартных компонентов вы можете ознакомиться в индивидуальном задании магистра ДонНТУ Кострицкого Д. С.
Сайт магистра ДонНТУ Кострицкого Д. С.
Ссылки, связанные с темой индивидуального задания из сети Интернет:
RAVE ( R eport A uthoring V isual E nvironment)- это визуальная часть RAVE. В данной статье попробуем за минимальное количество шагов быстро создать с помощью редактора RAVE первый визуальный отчет и затем рассмотрим, что делает проект отчетов RAVE. Особенностью создаваемого проекта является наличие параметра в тексте отчета, значение которого задается программным образом. Запускаем Delphi, создаем новое приложение и приступаем.
Для начала бросьте TRvProject на форму проекта. Это будет связуещее звено вашего проекта и разрабатываемого отчета. Так же можно добавить TRvSystem и соединить его с RvProject1 через Engine property.
Для начала работы щелкните 2 раза на RvProject 1 на вашей форме и после загрузки
перед вами появится Visual Designer :
Интерфейс программы несложный и чем-то напоминает сам Delphi. Первая вещь, которую мы увидим, будет страница с закладками, с двумя окнами по обе стороны страницы и панели вверху экрана.
Проект Rave может содержать несколько страниц отчета. Если раскроете дерево проектов справа, то увидите, что сейчас активен отчет Report1. Щелкнув по нему мышью, можно будет увидеть его свойства в окне слева ( Inspector ). Давайте изменим имя отчета ( name ) и назовем его SimpleReport.
Следующим шагом выбираем закладку стандарт и скидываем компоненту Text на страницу. Теперь можно изменить ее свойства и сам текст надписи.
Попробуйте поменять свойства font и text и нажмите F9. В появившемся меню выберите preview и вы увидите страницу своего отчета.
Связываем проекты
Параметры
procedure TForm 1. BitBtn 1 Click ( Sender : TObject );
begin
RvProject 1. Open ;
RvProject 1. SelectReport (‘ SimpleReport ‘, False);
RvProject1.SetParam(‘Name’,’Вова’);
RvProject1.Execute;
RvProject1.Close;
В ProjectFile у RvProject1 выбираем файл Project1.rav и запускаем программу.
Это достаточно простой пример, который можно усложнить. Например можно совместить текст DataText и тест параметра. Для этого вернитесь в Rave Designer и в DataField можно написать следующее:
В результате вы должны увидеть : «Здарова, Вова, Как дела? 10 рублей на пиво не одолжишь?»
Структура RAVE:
Компоненты доступа к данным – Как было сказано ранее, Rave использует данные из вашего приложения. Стандартные компоненты для доступа к данным, TRvCustomConnection, TrvDataSetConnection и TRvTableConnection представляют собой мост между данными вашего приложения и визуальными компонентами Rave. Компонент TrvCustomConnection может быть использован для доступа к данным не баз данных, таких как массивы или двоичные записи. Компонент TRvDataSetConnection может быть использован для доступа к наследникам TdataSet, включая компоненты третьих сторон. TrvTableConnection специально с компонентом TTable или его наследниками. Более детальное рассмотрение использования компонент доступа рассматривается в следующей главе.
Компонент TRvProject – данный компонент предоставляет доступ к отчетам и их компонентам. Компонент TRvProject имеет много свойств и методов, которые позволяют вам создавать, модифицировать и проектировать ваши проекты отчетов, будет рассмотрен в более поздних главах. Обычно вам требуется только один компонент TrvProject на приложение, но нет ограничения, что бы иметь их больше. Более подробно об использовании компоненты TRvProject будет сделана в следующих главах.
Reports – библиотека (Report Library) страниц отчета проекта. Отчет Rave создает страницы отчета и визуальные компоненты на данных страницах. Вы можете создать столько определений страниц, сколько пожелаете, и объединять их большим количеством различных методов.
Global Pages – глобальные страницы записываются в каталог глобальных страниц проекта. Компоненты на глобальных страницах, в отличие от страниц отчета, видны во всех отчетах. Глобальные страницы служат для хранения шаблонов, которые отражаются в других страницах отчета.
Что такое «Rave reports»
Где скачать Rave reports
Еще вот такой вопрос где можно скачать Rave reports, для С++ Билдер что бы с офисными документами.
Работа с Rave Reports без базы данных
Долгое время отчеты выводил через Rave reports, кидает Region, DataBand и от тебе все информцию из.
Открыть папку «мой компьютер», «панель управления», «program files»
Нужно открыть папку «мой компьютер», «панель управления», «program files»
Генератор отчетов Rave Reports 5.0 разработан фирмой Nevrona и входит в состав Delphi 7 в качестве основного средства для создания отчетов. Он состоит из трех частей:
— ядро генератора отчетов обеспечивает управление отчетом и его предварительный просмотр, и отправку на печать. Исполняемый код ядра сервера включается в приложение Delphi, делая его полностью автономным при работе с отчетами на компьютере клиента;
— визуальная среда разработки отчетов Rave Reports предназначена для разработки самих отчетов. Она позволяет добавлять к отчету страницы, размешать на них графические и текстовые элементы управления, подключать к отчетам источники данных и т. д. Отчеты сохраняются в файлах с расширением rav и должны распространяться совместно с приложениями, использующими их;
— компоненты Rave Reports расположены на странице Rave Палитры компонентов Delphi. Они обеспечивают управление отчетами в приложении.
Безусловно, визуальная среда разработки заметно упрощает процесс создания отчетов и позволяет добиться лучших результатов меньшими усилиями, чем в генераторе отчетов Quick Report, который использовался в предыдущих версиях Delphi. Тем не менее при первом знакомстве с продуктом заметны и его недостатки. Система помощи оставляет тягостное впечатление не только своей крайней лаконичностью, но и фактическими ошибками. Многие свойства и методы остались недокументированными, и наоборот — имеющиеся в статьях подсказки описания не имеют реальных аналогов в коде компонентов.
Rave reports что это
Отчеты в Delphi
ПРИМЕЧАНИЕ
В поставку Delphi 7 так же входит и QuickReport, однако по умолчанию этот инструментарий отсутствует на панели компонентов. Чтобы воспользоваться QuickReport в этой версии Delphi, следует открыть Component ‘ Install Packages, нажать кнопку Add и выбрать файл dclqrt70.bpl в подкаталоге …Delphi\Bin.
В простейшем случае работа с QuickReport выглядит следующим образом: создается новая форма, на которую помещают компонент QuickRep. Затем при помощи составного свойства Bands определяют, какие основные составные части отчета требуются:
В типичном случае, как минимум, необходимы столбцы и их заголовки. Общий заголовок так же обычно необходим. Кроме того, для потенциально многостраничных отчетов, как правило, предусматривают нумерацию страниц, для чего пригодится тот или иной колонтитул.
Рис. 22.1. Приложение QuickReport demo
В результате, после всех действий по настройке отчета, мы получим заготовку, представляющую собой изображение листа с заданными нами подписями и намеченными местами для вывода данных (рис. 22.2).
Рис. 22.2. Форма Delphi с отчетом QuickReport
Теперь остается написать код для обращения к этому отчету. Для этого вернемся к первой (главной) форме приложения, в начале секции implementation подключим форму с запросом при помощи ключевого слова uses и создадим обработчики событий для кнопок, как показано в листинге 22.1.
Листинг 22.1. Исходный код приложения QuickReport demo
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, QRCtrls, QuickRpt, ExtCtrls, DB, DBTables; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; procedure Button3Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); end; var Form1: TForm1; implementation uses unit2; <$R *.dfm>procedure TForm1.Button3Click(Sender: TObject); begin close; end; procedure TForm1.Button1Click(Sender: TObject); begin Form2.QuickRep1.Preview; end; procedure TForm1.Button2Click(Sender: TObject); begin Form2.QuickRep1.Print; end; end.
Как видно из кода, вся программная работа заключается в вызове метода Preview для просмотра отчета и метода Print для вывода на печать. С исходным кодом так же можно ознакомится в каталоге Demo\Part4\QReport.
Основы Rave Reports
Что касается самого генератора Rave Reports, то он состоит из 3 частей:
Основным преимуществом Rave Reports перед QuickReport является собственная визуальная среда разработки отчетов, которая, в принципе, позволяет добиться больших результатов при меньших усилиях. Правда, обратной стороной этого улучшения является то, что предварительно придется изучить эту среду, что несколько затруднительно, особенно учитывая весьма скупую справочную систему, поставляемую вместе с этим генератором отчетов. Поэтому для начала остановимся на самой интегрированной среде разработки Rave Reports, тем более что разработка отчета при помощи Rave начинается как раз с его конструирования в самой среде, и лишь после этого в разрабатываемом приложении в Delphi настраивается связь приложения с отчетом при помощи компонентов, расположенных на странице Rave.
Среда Rave Reports
Рис. 22.3. Вид окна IDE Rave Reports 5.0
Ниже расположена основная часть окна, разделенная на 3 части. Так, слева расположен инспектор компонентов отчета, при помощи которого настраиваются свойства выбранного компонента, подобно тому, как это осуществляется в инспекторе объекта в IDE Delphi.
Справа расположено дерево проекта отчета, которое отображает состав проекта и в котором можно выбрать нужный компонент. При помощи двойного щелчка мышкой по выбранному в дереве элементу можно выделить соответствующий элемент на странице и увидеть его свойства в инспекторе компонентов отчета
Само дерево состоит из 3 «ветвей»:
Здесь следует отметить, что все создаваемые в Rave Reports отчеты являются частью проектов. Проект может содержать произвольное число отчетов, а каждый отчет, в свою очередь, может состоять из произвольного числа страниц. При этом словарь просмотров данных, как и страницы из глобального каталога являются общими для всех отчетов проекта. При работе с проектом выделяют какой-либо отчет, который называется текущим отчетом. Сразу после открытия проекта текущим становится первый отчет, но при необходимости всегда можно выбрать нужный отчет при помощи двойного щелчка мышкой по его названию в дереве проекта.
Чтобы добавить новый отчет к проекту с помощью команды New Report из меню File, а новая страница в отчете добавляется при помощи команды New Report Page из этого же меню. Сразу после создания объект незамедлительно появляется в соответствующей ветви дерева проекта.
Если проект включает в себя несколько отчетов, и требуется создать страницу, которая будет использоваться в нескольких их них, то следует создать страницу для каталога глобальных страниц при помощи команды New Global Page. После создания такую страницу можно редактировать и добавлять в состав любого входящего в проект отчета.
Состав и порядок вывода страниц отчета определяется при помощи свойства PageList отчета. Это свойство доступно из инспектора компонента отчета, когда в дереве проекта выбран сам отчет. Для выбора страниц и их упорядочивания следует нажать на кнопку с многоточием, при этом появится редактор страниц отчета (Page List Editor), при помощи которого определяют выводимые на печать страницы, а так же настраивают порядок их вывода (рис. 22.4).
Рис. 22.4. Редактор страниц отчета
Наконец, новый источник данных создается при помощи команды New Data Object. При этом открывается диалоговое окно Data Connections (рис. 22.5), в котором следует выбрать один из 5 предлагаемых типов объектов:
После того, как источник данных создан, он появляется в дереве проекта отчетов в группе Data View Dictionary. Все источники данных являются общими и доступны для всех отчетов проекта.
Компоненты Rave Reports для создания отчетов
Для создания и оформления отчетов в среде Rave Reports имеется многостраничная панель инструментов, имеющая 10 вкладок:
Компонент | Вкладка | Описание |
---|---|---|
Line, Hline, Vline | Drawing | Компоненты для рисования универсальной, горизонтальной и вертикальной линии. Разница между универсальной линией и остальными заключается в том, что ее можно «повернуть» при помощи мышки, а другие – только путем редактирования свойства Height в инспекторе компонентов отчета |
Rectangle, Square | Drawing | Компоненты для вывода прямоугольника и квадрата |
Circle, Ellipse | Drawing | Компоненты для вывода окружности и эллипса |
PostNetBarCode | Bar Code | Компонент для вывода штрихкода в формате PostNet, который применяется в почтовой службе США |
I2of5BarCode | Bar Code | Компонент для вывода штрихкода в формате I2of5, предназначенного для вывода цифровых последовательностей |
Code39BarCode | Bar Code | Компонент для вывода штрихкода в формате Code39, кодирующего цифры и заглавные латинские буквы, а так же некоторые иные символы |
Code128BarCode | Bar Code | Компонент для вывода штрихкода в формате Code128, при помощи которого можно представить первую половину символов таблицы ASCII |
UPCBarCode | Bar Code | Компонент для вывода штрихкода в формате UPC, служащего для маркировки товаров 12-ю цифрами |
EANBarCode | Bar Code | Компонент для вывода штрихкода в формате EAN, служащего для маркировки товаров 13-ю цифрами |
Text | Standard | Компонент для вывода однострочного текста. Сам текст задается при помощи свойства Text путем его редактирования в инспекторе компонентов отчета |
Memo | Standard | Компонент для вывода многострочного текста. Сам текст задается при помощи свойства Text |
Section | Standard | Непечатный компонент, предназначенный для группировки нескольких компонентов |
Bitmap | Standard | Компонент для отображения растровых изображений в формате BMP. Само изображение задается при помощи свойства Image |
MetaFile | Standard | Компонент для отображения векторных изображений в форматах EMF и WMF. Само изображение задается при помощи свойства Image |
FontMaster | Standard | Непечатный компонент, предназначенный для определения свойств шрифта для компонентов отчета, связанных с данным элементом при помощи свойства FontMirror |
PageNumInit | Standard | Непечатный компонент, предназначенный для переопределения нумерации страниц начиная с той страницы отчета, на которой он расположен |
Компоненты для вывода данных, в свою очередь, подразделяются на следующие группы: компоненты отображения данных, обеспечивающие вывод данных из источника; структурные компоненты, предназначенные для группировки; компоненты вычислений, предназначенные для произведения математических операций над выводимыми в отчете данными. Все они приведены в таблице 22.2.
Компонент | Группа | Описание |
---|---|---|
DataText | Отображение | Используется для вывода строковых и числовых значений из связанного с ним источника (просмотра) данных |
DataMemo | Отображение | Используется для вывода данных в формате Memo или BLOB |
CalcText | Отображение | Используется для вывода результатов вычислений по связанным полям |
DataMirrorSection | Отображение | Аналог компонента Section, предназначенный для компонентов вывода данных |
Region | Структура | Используется для определения области (части страницы), на которой располагаются другие компоненты вывода данных. При необходимости можно разбить область на колонки при помощи свойства Columns |
Band | Структура | Используется для определения полосы, на которой располагаются компоненты оформления отчета. Компонент Band может размещаться только на компоненте Region |
DataBand | Структура | Используется для выделения полосы, на которой располагаются компоненты вывода данных. Компонент DataBand может размещаться только на компоненте Region |
DataCycle, CalcOp, CalcTotal, CalcController | Вычисления | Группа непечатных компонентов, используемых для вычисления данных на основе информации, доступной из источников (просмотров) данных |
Что касается всех остальных компонентов, то они, по сути, являются лишь командами для изменения свойств отображения элементов отчета.
Компоненты Rave Reports в VCL
Для взаимодействия с приложениями, создаваемыми в Delphi, вместе с Rave Reports поставляется набор VCL-компонент. В Delphi 7 и более поздних версиях они установлены по умолчанию и находятся на вкладке Rave палитры компонентов Delphi.
Наиболее важным для построения отчета компонентом, безусловно, является компонент RvProject, поскольку без его участия невозможно взаимодействие приложения с отчетами Rave Reports. Связь с проектом отчета осуществляется при помощи свойства Project File, которому присваивается имя RAV-файла с проектом отчета:
С другими компонентами Rave, используемыми для управления отчетом, компонент RvProject связывается при помощи свойства Engine. В типичном случае, в качестве Engine указывают компонент RvSystem, при помощи которого можно выводить отчет как на экран, так и на печать, или же экспортировать его в файл. Фактически, работа с отчетом Rave Reports в Delphi сводится к тому, что сначала при помощи компонента RvProject устанавливается связь с проектом и выбирается нужный отчет, после чего при помощи RvSystem отчет выводится на печать, в файл, или на экран.
Компоненты RvCustomConnection, RvDataSetConnection, RvTableConnection и RvQueryConnection предназначены для предоставления отчету источников данных из приложения Delphi. Именно эти компоненты будут отображаться при разработке отчета в среде Rave Reports, если при создании объекта данных (New Data Object) выбрать вариант прямого просмотра данных (Direct Data View). Разумеется, при этом должна быть запущена среда Delphi с загруженным приложением, содержащим подобные компоненты.
Пример создания отчета
Рассмотрим пример создания простейшего отчета с использованием Rave Reports. Пусть он будет выводить ту же самую таблицу и примерно в таком же виде, как и рассмотренный в начале этой главы отчет, созданный на базе VCL-компонентов QuickReport.
После этого можно приступить собственно к проектированию отчета, для чего нам понадобится загрузить среду Rave Reports. Сделать это можно как из меню Tools, так и при помощи двойного щелчка мышкой по компоненту RvProject.
Рис. 22.6. Разработанный отчет в среде Rave Reports
Фактически, разработку отчета можно считать завершенной, и можно сохранить проект, причем желательно в том же каталоге, что и приложение Delphi, которое данный отчет использует. После сохранения можно закрыть среду Rave Reports и вернуться к разработке в Delphi.
Вся подготовительная работа, связанная с созданием отчета и настройке компонент на этом заканчивается и можно приступать к написанию программного кода, которого, собственно, будет весьма немного. В частности, нам надо лишь указать на то, куда выводить отчет и собственно обеспечить вызов процедуры вывода. Делается это 2 строками кода:
Здесь в первой строке указывается, что вывод следует производить в окно просмотра на экран монитора, а во второй обеспечивается сам вывод. Для вывода же на печать следует лишь изменить значение, назначаемое свойств DefaultDest с rdPreview на rdPrinter:
Вместе с тем, следует учитывать, что для вывода из проекта будет браться первый попавшийся отчет, поэтому если отчетов будет несколько, то всякий раз следует указывать, какой именно отчет нам требуется. Сделать это можно при помощи метода SelectReport:
Кроме того, не было бы лишним явно загрузить отчет, для чего можно воспользоваться методом Open:
В результате, мы получим код, приведенный в листинге 22.2.
Листинг 22.2. Код приложения Rave Reports demo
procedure TForm1.FormCreate(Sender: TObject); begin RvProject1.SelectReport(‘Report1’,true); RvProject1.Open; end; procedure TForm1.Button1Click(Sender: TObject); begin RvSystem1.DefaultDest:=rdPreview; RvProject1.Execute; end; procedure TForm1.Button2Click(Sender: TObject); begin RvSystem1.DefaultDest:=rdPrinter; RvProject1.Execute; end; procedure TForm1.Button3Click(Sender: TObject); begin close; end;
С самим приложением можно ознакомиться в каталоге Demo\Part4\RReport.