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

Теперь, когда проект 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.