Crystal Reports для встраивания отчетов в Borland Delphi и Borland C++ Builder



Существует несколько способов использования отчетов Crystal в приложениях, написанных на Delphi и C++Builder. Во-первых, можно непосредственно использовать функции Print Engine в коде, связанном с формой, или написать собственные компоненты, использующие такие функции. Во-вторых, можно воспользоваться готовым компонентом TCrpe, входящим в комплект поставки Crystal Reports 6.0, а также использовать компоненты третьих фирм. Можно использовать управляющий элемент Crystal Reports ActiveX. Наконец, можно управлять работой Crystal Reports Print Engine как сервером OLE Automation.

Использование Crystal Reports Print Engine API в Delphi

Для объявления функций Print Engine следует добавить в проект модуль CRPE32.PAS (CRPE.PAS в случае использования версии Delphi 1.0 или CRPE.H при работе с C++Builder), в котором объявлены все функции и структуры Report Engine API и сослаться на этот модуль в предложении uses. После объявления функций их можно использовать внутри кода обработчиков событий.

Использование VCL-компонентов Crystal Reports 6.0 с Delphi

В директории /SAMPAPPS/DELPHI содержится невизуальный компонент Tcrpe для версий Borland Delphi 1, 2 и 3, который в случае необходимости его использования должен быть установлен в палитру компонентов (по умолчанию - на страницу DataAccess). Этот компонент реализует почти все возможности, предоставляемые Print Engine API, позволяя избежать написания соответствующего кода. Для отображения отчета в стандартном окне и вывода на принтер используется метод Execute этого компонента.

Отметим, что с помощью установки значений ряда свойств этого компонента на этапе выполнения можно менять во время выполнения характеристики отчета, такие как значения специальных полей, текст SQL-запроса, условия отбора данных, свойства, связанные с отображением и печатью.

Управление Crystal Reports с помощью OLE Automation

Еще одним вариантом использования Crystal Reports в приложениях является использование Crystal Report Engine как OLE Automation-сервера. В справочной системе Crystal Reports имеется подробное описание иерархии вложенных объектов и их методов (и внушительный набор примеров для Visual Basic, аналоги которых несложно создать и на Pascal). Отметим, однако, что использование OLE Automation - не самый выгодный с точки зрения производительности способ управления отчетами.

Использование Crystal Reports ActiveX

В комплект поставки Crystal Reports Professional входят также ActiveX-компонент для управления Run-time-версией Crystal Reports. Этот компонент может быть установлен в палитру компонентов Delphi или С++Builder и далее может быть использован при проектировании приложений, как и любой невизу-
альный компонент. Этот компонент обладает набором свойств и методов, более или менее сходным с соответствущим VCL-компонентом TCrpe.

Отметим также, что для пользователей Delphi 1.0 в комплекте поставки 16-разрядной версии Crystal Reports Professional имеется сходный по функциональности управляющий элемент VBX, который также может быть установлен в палитру компонентов и использован в 16-разрядных приложениях.


Interface Ltd.

Подготовили: Антипина Галина E-mail:antipina@interface.ru
21.07.98.