Programming: Delphi
Иллюстрированный самоучитель по Delphi 7 для профессионалов
Компонент управления отчетом TRvSystem
Компонент управления отчетом TRvSystem обеспечивает выполнение основных операций с отчетом из приложения. В приложении он должен быть связан с компонентом
TRvProject.
Этого вполне достаточно, чтобы компонент TRvSystem выполнил свою работу. У разработчика нет необходимости вызывать какие-либо методы компонента, чтобы направить отчет на печать.
В его составе инкапсулированы объекты, обеспечивающие вывод отчета из компонента
TRvProject в один из трех системных приемников:
- файл (объект класса TSystemFiler);
- предварительный просмотр (объект класса TSystemPreview);
- принтер (объект класса TSystemPrinter).
За это отвечает свойство
type
TReportDest = (rdPreview, rdPrinter, rdFile);
property ReportDest: TReportDest;
которое может принимать одно из трех значений типа
TReportDest.
Соответственно, для каждого типа системного приемника имеется свойство, позволяющее задать все его основные параметры.
Для вывода в файл это комплексное свойство
Внутри него задается имя файла во вложенном свойстве
но при этом вложенное свойство
type
TStreamMode = (smMemory, smTempFile, smFile, sraUser); property StreamMode: TStreamMode;
должно иметь значение smFile.
При выводе отчета для предварительного просмотра используется экземпляр класса
TSystemPreview, который доступен через свойство
Его свойства совпадают со свойствами компонента
TRvRenderPreview.
Стандартное диалоговое окно предварительного просмотра отчета
Rave Reports представлено на рис. 23.3.
Рис. 23.3. Стандартное
диалоговое окно предварительного просмотра компонента
TRvSystem
Заголовок этого окна задается свойством
Перед открытием окна предварительного просмотра
вызывается метод-обработчик
За вывод отчета на печать отвечает инкапсулированный
в компоненте объект типа TSystemPrinter.
К нему можно обратиться при помощи свойства
Его свойства совпадают со свойствами компонента
TRvRenderPrinter.
Перед тем как отправить отчет одному из трех
системных приемников, компонент открывает диалог настройки печати (рис. 23.4).
Рис. 23.4. Диалог
настройки печати компонента TRvSystem
Его заголовок определяется свойством
Перед открытием этого окна вызывается метод-обработчик
Кроме этого, для диалога настройки печати можно
задать ряд дополнительных параметров. Это делается в свойстве
type
TSystemSetup
= (ssAllowSetup, ssAllowCopies, ssAllowCollate,
ssAllowDuplex,
ssAllowDestPreview, ssAllowDestPrinter, ssAllowDestFile,
ssAllowPrinterSetup);
TSystemSetups
= set of TSystemSetup;
property
SystemSetups: TSystemSetups;
Элементы множества
TSystemSetup означают следующее:
- ssAllowSetup
— разрешает или запрещает использование диалога настройки печати компонента;
- ssAllowCopies
— управляет доступностью установки числа копий отчета;
- ssAllowCollate
— разрешает или запрещает настройку режима печати с разбором страниц по копиям;
- ssAllowDuplex
— разрешает или запрещает настройку двусторонней печати;
- ssAllowDestPreview
— разрешает или запрещает использование окна предварительного просмотра;
- ssAiiowDestPrinter
— разрешает или запрещает использование принтера;
- ssAllowDestFile
— разрешает или запрещает использование файла для вывода отчета;
- ssAiiowPrinterSetup
— разрешает или запрещает использование диалога настройки параметров принтера.
Во время выполнения любой из перечисленных операций
вывода отчета открывается окно состояния процесса (рис. 23.5). Его заголовок
определяется свойством
Рис. 23.5. Форма состояния
процесса вывода отчета компонента TRvSystem
В нем отображается информационная строка состояния,
которая может быть настроена при помощи свойств объекта SystemFiler,
представленного в компоненте TRvSystem
одноименным свойством.
Вложенное свойство
определяет строку форматирования для текста
о состоянии процесса. Для нее предусмотрены следующие управляющие символы:
- %с — текущее
состояние процесса вывода;
- %р — номер
текущей страницы;
- %f — номер
первой страницы;
- %1 — номер
последней страницы;
- %d — название
устройства вывода (название принтера, имя файла, предварительный просмотр);
- %r — имя
драйвера устройства вывода;
- %s — общее
число страниц;
- %t — порт
печати;
- %о-%9
— номера строк для свойства statusText.
Вложенное свойство
позволяет задать до десяти строк (можно задать
и больше, но они не будут восприняты строкой статуса) с какой-либо дополнительной
информацией, описывающей процесс вывода. Первая строка списка будет выведена
при наличии в свойстве statusFormat управляющего
символа %0, вторая — при наличии символа %1 и т. д.
При помощи перечисленных свойств вы сможете
детально описать процесс вывода отчета. В этом вам помогут методы-обработчики
событий компонента TRvSystem.
До начата печати отчета и по его окончании (даже
если печать была прервана) соответственно вызывается пара методов-обработчиков:
property OnBeforePrint:
TNotifyEvent;
property OnAfterPrint:
TNotifyEvent;
В начале печати непосредственно отчета (не заголовка)
вызывается метод-обработчик
Если вы печатаете одну страницу, будет вызван
метод-обработчик
type
TPrintPageEvent
= function(Sender: TObject;
var PageNum:
Integer): Boolean;
property OnPrintPage:
TPrintPageEvent;
Но до начала печати вызывается метод-обработчик
который обозначает генерацию страницы.
При печати колонтитулов в верхней и нижней частях
страницы вызываются методы-обработчики
property OnPrintHeader:
TNotifyEvent;
property OnPrintFooter:
TNotifyEvent;
Разработчик может задать несколько опций для
всего компонента TRvSystem, управляя тем
самым процессом вывода отчета. Для это используется свойство
type
TSystemOption
= (soUseFiler, soWaitForOK, soShowStatus, soAllowPrintFromPreview, soPreviewModal);
TSystemOptions
= set of TSystemOption;
property SystemOptions:
TSystemOptions;
Элементы типа
TSystemOptions обозначают следующее:
- soUseFiler
— при установке этой опции в значение True вывод будет направляться в файл,
заданный свойством SystemFiler, независимо от других настроек компонента;
- SoWaitForOK
— если включить эту опцию, генерация отчета будет задержана до момента, когда
пользователь нажмет кнопку ОК в диалоге настройки печати компонента (см. рис.
23.4);
- soshowstatus
— эта опция управляет видимостью окна состояния процесса вывода отчета в компоненте;
- soAiiowPrintFromPreview
— будучи включенной, эта опция позволяет печатать отчет из окна предварительного
просмотра;
- soPreviewModal
— при значении True делает окно предварительного просмотра модальным.
Назад | Оглавление | Вперёд
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|