Самоучитель по Delphi 7 для профессионалов


Компонент управления отчетом 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.

Рис. 23.3. Стандартное диалоговое окно предварительного просмотра компонента TRvSystem

Заголовок этого окна задается свойством

property TitlePreview: TFormatString;

Перед открытием окна предварительного просмотра вызывается метод-обработчик

property OnPreviewShow: TNotifyEvent;

За вывод отчета на печать отвечает инкапсулированный в компоненте объект типа TSystemPrinter. К нему можно обратиться при помощи свойства

property SystemPrinter: TSystemPrinter;

Его свойства совпадают со свойствами компонента TRvRenderPrinter.

Перед тем как отправить отчет одному из трех системных приемников, компонент открывает диалог настройки печати (рис. 23.4).



Содержание раздела