Отчет в приложении
Теперь, когда проект SimpleDemo.RAV с двумя отчетами готов, перейдем к разработке приложения в Delphi.
Любое приложение, использующее генератор отчетов Rave Reports, должно иметь как минимум пару компонентов — TRvProject и TRvSystem. Первый из
них есть проект отчета в приложении. С его помощью разработчик получает доступ к отчетам проекта и их свойствам. Второй компонент обеспечивает использование ядра генератора отчетов Rave Reports при печати или предварительном просмотре отчета (см. рис. 23.1). Подробнее о свойствах и методах этих компонентов см. гл. 23.
При использовании этих компонентов в состав исполняемого кода приложения автоматически включается ядро генератора отчетов Rave Reports. Соответственно при распространении приложения не требуются дополнительные файлы — даже файл проекта отчета можно включить в приложение (см. ниже).
Компонент TRvProject необходимо связать с файлом проекта Simple-Demo. RAV. Для этого используется его свойство
property ProjectFile: string;
Файл RAV можно распространять вместе с приложением или включить его в состав исполняемого файла. Для этого используется свойство
property StoreRAV: boolean;
компонента (см. рис. 23.2).
Перед использованием отчетов из компонента TRvProject его необходимо открыть. В нашем примере при открытии формы приложения компонент открывается и в список считываются полные имена отчетов проекта и отображается описание текущего отчета:
procedure TfmMain.FormShow(Sender: TObject);
begin
rpProject.Open;
rpProject.GetReportList(IbxRptLiat.Items, True);
rpProject.ReportDescToMemo(meDesc) ;
end;
Но только один из отчетов доступен для использования одновременно. Для смены текущего отчета можно воспользоваться методом
function SelectReport(ReportName: string;
FullName: boolean): boolean;
Для идентификации текущего отчета компонент TRvProject имеет два свойства, которые возвращают его имя и полное имя. Это соответственно свойства ReportName и ReportFullName. При необходимости использовать имя отчета для одного из методов (например метод SelectReport) можно использовать оба имени. Во всех методах, где в качестве параметра применяется имя отчета, имеется дополнительный параметр FullName типа Boolean. При его значении True используется полное имя отчета.
Обратите внимание, что перед использованием любых свойств и методов, относящихся к отчету в компоненте TRvProject, отчет необходимо открыть.
Для этого используется метод open:
RvProjectl.Open;
или свойство
Active: RvProjectl.Active := True;
Так же, если в процессе работы приложения в компонент TRvproject нужно загрузить новый проект отчета, процедуру открытия нужно повторить:
RvProjectl.Close;
RvProjectl.SetProjectFile
(dlgOpenProject.FileName);
RvProjectl.Open;
Компонент отчета необходимо связать с компонентом TRvSystem. Для этого в свойстве Engine компонента TRvproject необходимо задать ссылку на компонент TRvSystem.