Отчет в приложении
Теперь, когда проект 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.