Отчет в приложении Delphi
Завершив обзор нового генератора отчетов, давайте обратимся к деталям программирования и посмотрим, что нужно сделать, чтобы приложение могло работать с отчетами.
Основой отчета является файл отчета с расширением rav. Он создается в визуальной среде разработки Rave Reports и может содержать произвольное число страниц. Каждая страница может быть оформлена графическими или текстовыми элементами или отображать данные из какой-либо базы данных. Другими словами, файл RAV — это проект будущего отчета, содержащий общую информацию об отчете, оформление его страниц и правила их заполнения.
После создания проект отчета необходимо связать с приложением Delphi. Для этого используется компонент
TRvProject (рис. 23.1). Этот компонент обеспечивает представление отчета в приложении.
Но этого недостаточно, чтобы просмотреть или напечатать отчет. Для выполнения этих операций используется код ядра генератора отчета, который автоматически прикомпилируется к исполняемому коду приложения при переносе на любую форму проекта компонентов
TRvProject и TRvSystem. Для управления операциями печати и просмотра в проекте должен присутствовать компонент
TRvSystem (рис. 23.1).
Рис. 23.1. Компоненты
Rave Reports в приложении Delphi
Для того чтобы приложение Delphi могло выполнять
функции печати отчетов, разработчик должен выполнить следующий набор операций.
1. При помощи визуальной среды разработки Rave
Reports необходимо создать проект отчета и сохранить его (см. гл. 24).
2. Перенести в проект приложения в Delphi компонент
TRvProject и связать его с файлом проекта
отчета (см. ниже) при помощи свойства ProjectFile.
3. Перенести в проект приложения в Delphi компонент
TRvSystem и связать его с компонентом
TRvProject. ля этого используется свойство
Engine компонента
TRvProject (см. ниже).
4. Написать код приложения, обеспечивающий просмотр
и печать отчета (при необходимости и другие операции), используя методы компонента
TRvProject (см. ниже).
Конечно же, это наиболее простой способ включения
отчета в приложения. Для решения более сложных задач необходимо изучить использованные
выше компоненты более детально.
|