Компонент управления отчетом TRvSystem
Компонент управления отчетом TRvSystem обеспечивает выполнение основных операций с отчетом из приложения. В приложении он должен быть связан с компонентом TRvProject (см. выше разд. "Компонент отчета TRvProject" данной главы). Этого вполне достаточно, чтобы компонент TRvSystem выполнил свою работу. У разработчика нет необходимости вызывать какие-либо методы компонента, чтобы направить отчет на печать.
В его составе инкапсулированы объекты, обеспечивающие вывод отчета из компонента TRvProject в один из трех системных приемников:
- файл (объект класса TSystemFiler);
- предварительный просмотр (объект класса TSystemPreview);
- принтер (объект класса TSystemPrinter).
За это отвечает свойство
type
TReportDest = (rdPreview, rdPrinter, rdFile);
property ReportDest: TReportDest;
которое может принимать одно из трех значений типа TReportDest.
Соответственно, для каждого типа системного приемника имеется свойство, позволяющее задать все его основные параметры.
Для вывода в файл это комплексное свойство
property SystemFiler: TSystemFiler;
Внутри него задается имя файла во вложенном свойстве
property FileName: string;
но при этом вложенное свойство
type
TStreamMode = (smMemory, smTempFile, smFile, sraUser); property StreamMode: TStreamMode;
должно иметь значение smFile.
При выводе отчета для предварительного просмотра используется экземпляр класса TSystemPreview, который доступен через свойство
property SystemPreview: TSystemPreview;
Его свойства совпадают со свойствами компонента TRvRenderPreview.
Стандартное диалоговое окно предварительного просмотра отчета Rave Reports представлено на рис. 23.3.
![](image/gl-23-3.gif)
Рис. 23.3. Стандартное диалоговое окно предварительного просмотра компонента TRvSystem
Заголовок этого окна задается свойством
property TitlePreview: TFormatString;
Перед открытием окна предварительного просмотра вызывается метод-обработчик
property OnPreviewShow: TNotifyEvent;
За вывод отчета на печать отвечает инкапсулированный в компоненте объект типа TSystemPrinter. К нему можно обратиться при помощи свойства
property SystemPrinter: TSystemPrinter;
Его свойства совпадают со свойствами компонента TRvRenderPrinter.
Перед тем как отправить отчет одному из трех системных приемников, компонент открывает диалог настройки печати (рис. 23.4).
![](image/gl-23-4.gif)