Для создания отчетов в среде Delphi 7 предлагается использовать компоненты Rave Reports. Эти компоненты были разработаны компанией Nevrona (www.nevrona.com/rave) и позволяют создавать отчеты, которые поддерживают такие механизмы доступа к данным, как BDE, dbExpress, ADO. В отчеты Rave Reports можно включать графические элементы и сохранять в различных форматах (PDF, HTML, RTF).
Для запуска Rave Reports можно выполнить одно из следующих действий:
Ø выполнить команду ToolsÞRave Designer (ИнструментыÞДизайнер отчетов).
Окно дизайнера отчетов состоит из следующих элементов:
Navigation Area (область навигации) – содержит главное меню, панели инструментов и панель компонентов;
Page (страница отчета) – находится в центре окна и разбита на ячейки с помощью четки;
Project Tree Panel (панель дерева проекта) – в правой части окна, позволяет быстро переходить к нужному объекту проекта;
Property Panel (панель свойств) – в левой части окна, служит для отображения и задания свойств компонентов отчета.
В структуре проекта выделяют следующие элементы:
Rave Project – контейнер для всех других компонентов, создается одновременно с созданием нового файла проекта, всегда один для одного файла проекта. Свойства: AdminPassword- позволяет ограничить доступ пользователей к отчетам и данным; Parametres – позволяет создавать элементы, в которые Delphi помещает результаты вычислений для использования их другими компонентами. PIVars – служит для описания специфических данных, которые требуют динамического обновления во время генерации отчета;
Report (Отчет) – содержит страницы отчета.
Page (Страница) – базовый визуальный компонент, на котором помещаются все стандартные компоненты (отчета, рисования).
Global Page (Глобальная страница) – страницы размещаются под узлом Каталога Глобальных страниц в дереве проекта. Содержат шаблоны, используемые для различных целей. Все глобальные страницы могут быть «зеркалированы».
Data Objects (Объекты данных) – компоненты Data Connection для соединения с данными. Диалоговое окно Data Connection вызывается нажатием кнопки New Data Object и предлагает варианты выбора: DataLookupSecurity Controller, Database Connection, Direct Data View, Simple Security Controller, Driver Data View. Выбранный объект помещается в дерево проекта. Соединение с данными из приложений на Delphi обеспечивает Direct Data View.
Структура приложения. В структуру приложения входят:
Стандартные компоненты Data Connection, которые обеспечивают связь между данными: RvCustomConnection, RvDataSetConnection, RvTableConnection.
Компонент RvProject- позволяет создавать, изменять, отображать и печатать компоненты отчета.
Файл проекта отчета с расширением RAV, где сохраняются все определения и настройки.
Отчеты сохраняются в Библиотеке отчетов (Report Library) проекта.
Глобальные страницы сохраняются в Каталоге глобальных страниц проекта (Global Page Catalog).
Виды данных сохраняются в Словаре видов данных проекта (Data View Dictionary).
Компоненты страницы отчета.Большинство компонентов размещается на странице отчета, кроме Band и DataBand, которые размещаются на Region.
Regoin(Регион) – контейнер для полос;
DataBand – предназначен для отображения динамической информации из видов данных.
Band– предназначен для размещения фиксированных компонентов, не изменяющихся на странице. Например, Text, CalcText.
DataText – служит для отображения значений из полей набора данных в любом месте страницы. Связать этот компонент с данными можно двумя способами: выбрать одиночное имя поля из выпадающего списка в свойстве DataField; либо с помощью окна DataTextEditor, который вызывается двойным щелчком на многоточии в свойстве DataField. Предварительно задать свойство DataView.
DataMemo – позволяет добавлять мемо-поля базы данных. Для выбора нужно установить свойства DataView и DataField.
CalcText – предназначен для вычислений и отображения результатов. Свойства: CalcType – определяет тип вычисления (ctAverage, ctCount, ctMaximum, ctMinimum, ctSum); CountBlanks-указывает, будут ли учитываться при подсчете пустые значения; RunningTotal- задает обнуление для вычисляемого значения при запуске генерации отчета.
CalcOp - невизуальный компонент, с помощью которого можно производить вычисления с данными: значения из полей (свойство SrcDataField, Scr2DataField), константы (Src1Value,Src2Value), другие вычисляемые параметры (Src1CalcVar,Src2CalcVar). Свойство Operator задает тип операции.
CalcController – невизуальный компонент, который связывает между собой компоненты DataBand, CalcText и CalcTotal через свойства Controller.
DataCycle –невизуальная посола отчета, связанная с таблицей базы данных. Это цикл через все detail-записи данных для одного уровня master-записи. Имя master-таблицы определяется свойством MasterDataView. Две таблицы связываются через свойство DetailKey. Данные при формировании отчета могут быть отсортировать через свойство MasterKey.
DataMirror Section – предназначен для создания «зеркальной» области, которая будет использоваться в отчете для создания вариаций отчетов.