Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Формирование отчетов средствами Fast Reports




По результатам опроса Delphi Magazine Fast Reports (fast-report.com, www.fastreport.ru) входит в тройку лидеров по популярности среди инструментов для разработки отчетов для Borland Delphi. В 2004 г. Fast Reports выбран продуктом года.

Данный пункт подготовлен М.В. Зыковым.

Компоненты отчета

frxReport - это основной компонент проекта. Один компонент TfrxReport содержит один отчет. Во время проектирования приложения двойной щелчок мышью на компоненте вызывает дизайнер отчета. Для использования дизайнера в скомпилированном проекте необходимо ис­пользовать компонент frxDesigner из палитры компонентов Fast Report, либо включить в список uses модуль frxDesign. Использование дизайнера во время выполнения дает возможность пользователю настраивать вид отчета, а также редактировать готовый отчет.

Основные свойства

Name - имя отчета.

ScriptLanguage - язык, используемый для скриптов отчета.

EngineOptions - набор свойств ядра отчета FastReport.

ConvertNulls - определяет интерпретацию генератором отчетов пустых значений (Null) полей БД. Если True, то генератор конвертирует пустое значение (Null) поля базы данных в 0 (ноль), False (ложно) или '' (пустая строка) в зависимости от типа поля (True).

SilentMode - режим «молчания». Все сообщения об ошибках будут накапливаться в свойстве TfrxReport.Errors; на экран никаких сообщений выдано не будет (False).

TempDir - путь к каталогу для хранения временных файлов.

PreviewOptions - набор свойств предварительного просмотра.

AllowEdit - разрешает/запрещает редактирование готового отчета (True).

Buttons - набор кнопок, которые будут доступны в окне просмотра (pbPrint - печать, pbLoad - загрузка из файла, pbSave - запись в файл, pbExport - экспорт, pbZoom - масштабирование, pbFind - поиск, pbOutline - включение дерева отчета, pbPageSetup - свойства страницы, pbTools - инструменты, pbEdit - редактор, pbNavigator - навигация).

PrintOptions - набор свойств печати отчета.

Copies - количество печатуемых копий (1).

Collate - разбирать ли по копиям (True).

PageNumbers - номера страниц (диапазонов страниц), которые надо напе­чатать, например: '2,4,6-9,14'.

Printer - имя принтера.

PrintPages - страницы для печатати (ppAll - все, ppOdd - нечетные, ppEven - четные).

ShowDialog - показывать ли диалог печати (True).

AllObjects - список всех объектов, содержащихся в отчете (включая страницы).

DataSets - список наборов данных, доступных для отчета.

Designer - ссылка на дизайнер отчета (актуальна, когда запущен дизайнер).

Engine - ссылка на движок отчета. Полезна в случаях, когда нужно управ­лять процессом построения отчета из кода.

Errors - список ошибок, возникших при той или иной операции.

FileName - имя файла отчета; отображается в дизайнере.

PreviewPages - ссылка на страницы готового отчета. Используется при всех операциях, связанных с готовым отчетом (печать, сохранение и пр.).

Pages - список страниц отчета. В этом списке также присутствуют страницы типа «диалоговая форма».

PagesCount - количество страниц в отчете. Свойство только для чтения.

Script - компонент fsScript, привязанный к данному отчету. Используя эту ссылку, можно добавлять свои переменные, классы, функции, которые следует ис­пользовать в скрипте отчета. Используется только для чтения.

Styles - стиль (оформление) отчета.

Variables - список переменных отчета. Используется только для чтения.

Методы

Clear - очищает отчет.

LoadFromFile (const FileName: String; ExceptionIfNotFound: Boolean = False): Boolean - загружает отчет из файла с заданным именем; если второй параметр равен True и файл не найден, то генерирует исключение. Если файл загружен успешно, возвращает True.

Пример использования метода: frxReport1.LoadFromFile('c:\1.fr3').

LoadFromStream (Stream: TStream) - загружает отчет из потока.

SaveToFile (const FileName: String) - записывает отчет в файл с заданным именем. По умолчанию форма отчета хранится вместе с формой проекта, т.е. в файле.dfm. Метод применяется, если требуется хранить форму от­чета в отдельном файле.fr3. Пример: frxReport1.SaveToFile('c:\2.fr3').

SaveToStream (Stream: TStream) - записывает отчет в поток.

DesignReport - вызывает дизайнер отчета. Дизайнер должен быть включен в проект. Пример использования метода: TfrxReport.DesignReport.

ShowReport (ClearLastReport: Boolean = True) - запускает отчет на выполнение и показывает результат в окне предварительного просмотра. Если параметр ClearLastReport равен False, то отчет добавляется к ранее построенному, иначе ранее построенный отчет очищается (True). (frxReport1.ShowReport).

PrepareReport (ClearLastReport: Boolean = True): Boolean - запускает отчет на выполнение; без окна предварительного просмотра. Если отчет был по­строен успешно, возвращает True.

ShowPreparedReport - показывает отчет, построенный ранее с помощью вызова PrepareReport (if frxReport1.PrepareReport then

frxReport1.ShowPreparedReport;).

Print - печатает отчет. (frxReport1.Print).

Export (Filter: TfrxCustomExportFilter) -экспортирует отчет, используя за­данный фильтр экспорта (frxReport1.Export(frxHTMLExport1);).

Специфичные события

OnBeforePrint - происходит при запуске отчета на выполнение. Возникает перед обработкой каждого объекта.

OnAfterPrint - происходит при запуске отчета на выполнение. Возникает после обработки каждого объекта.

OnClickObject - происходит при просмотре отчета в окне предваритель­ного просмотра. Возникает при щелчке мышью на объекте.

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

OnManualBuild - происходит при запуске отчета на выполнение. Если на­значен обработчик этого события, то ядро FastReport блокируется и пользователь должен самостоятельно обрабатывать построение отчета.

OnMouseOverObject - происходит при просмотре отчета в окне предвари­тельного просмотра. Возникает при прохождении указателя мыши над объектом.

OnUserFunction - происходит при запуске отчета на выполнение. Возни­кает при вызове функции, добавленной с помощью метода AddFunction.

frxUserDataSet - компонент подключения пользовательского набора данных (не привязанного к базе данных, например массива, файла и др.).

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

Основные свойства

RecNo - номер текущей записи. Первая запись имеет номер 0. Свойство только для чтения.

Enabled - будет ли доступен данный компонент из дизайнера (True).

RangeBegin - начальная точка навигации (rbFirst - с начала набора данных, rbCurrent - с текущей записи) (rbFirst).

RangeEnd - конечная точка навигации (reLast - до конца набора данных, reCurrent - до текущей записи, reCount - на заданное в свойстве RangeEndCount количество записей) (reLast).

RangeEndCount -количество записей в наборе данных, если свойство RangeEnd = reCount (0).

UserName - символическое имя набора данных.

События

OnCheckEOF - обработчик этого события должен вернуть параметр Eof = True, если достигнут конец набора данных.

OnFirst - обработчик этого события должен передвинуть указатель на на­чало набора данных.

OnNext - обработчик этого события должен передвинуть указатель на следующую запись.

OnPrior - обработчик этого события должен передвинуть указатель на предыдущую запись.

frxDBDataSet - компонент служит для подключения к компонентам базы данных (БД), основанных на TDataSet, таких как TTable, TQuery. Навигация по ис­точнику данных и обращение к полям производятся автоматически, т.е. программист не должен об этом заботиться.

Свойства

OpenDataSource - открывать набор данных перед построением отчета (True).

CloseDataSource - закрывать набор данных после построения отчета (False).

FieldAliases - символические имена полей набора данных.

DataSet, DataSource - ссылка на компонент типа TDataSet или TDataSource, который собственно и является набором данных.

События

OnClose/OnOpen - происходит при открытии/закрытии набора данных.

frxDesigner - компонент-дизайнер отчета. Его использование дает возможность применять дизайнер отчета в проекте. Компонент содержит лишь некоторые настройки дизайнера, сам же дизайнер подключается при помещении ссылки на frxDesign в список uses (это происходит автоматически при использовании данного компонента).

Свойства

CloseQuery - свойство определяет, надо ли спрашивать о сохранении от­чета при закрытии дизайнера (True).

OpenDir - имя папки, из которой по умолчанию открывается файл.

SaveDir - имя папки, в которой по умолчанию сохраняется файл.

Restrictions - набор из одного или нескольких значений, запрещающих те или иные действия в дизайнере:

drDontInsertObject - запретить вставку объектов;

drDontDeletePage - запретить удаление страниц;

drDontCreatePage - запретить создание новых страниц;

drDontChangePageOptions - запретить изменение свойств страницы;

drDontCreateReport - запретить создание нового отчета;

drDontLoadReport - запретить загрузку отчета;

drDontSaveReport - запретить сохранение отчета;

drDontPreviewReport - запретить предварительный просмотр отчета;

drDontEditVariables - запретить редактирование переменных;

drDontChangeReportOptions - запретить изменение свойств отчета.

События

OnLoadReport - событие возникает при загрузке отчета. С его помощью можно организовать загрузку отчета из БД.

OnSaveReport - событие возникает при сохранении отчета. С его помощью можно организовать сохранение отчета в БД.

OnShow - событие возникает при запуске дизайнера.

frxPreview - компонент служит для создания собственных окон предварительного просмотра.

Нижеследующие компоненты панели инструментов FastReport сами ничего не делают - они нужны для автоматического добавления ссылки на соответствующий модуль в список uses. Если вы попытаетесь открыть отчет, в котором используются подключаемые объекты, но не включили данные объекты в проект, то получите сообщение об ошибке.

frxBarcodeObject - штрих-код.

frxOLEObject - внедрение в отчет объекта OLE.

frxChartObject - диаграмма.

frxRichObject - внедрение в отчет текста в формате RTF.

frxCrossObject - вывод кросс-таблицы (в такой таблице число строк и столбцов заранее не известно).

frxCheckBoxObject - объект CheckBox.

frxGradientObject - объект отображает градиентную заливку.

frxDialogContols - набор объектов (кнопка, поле ввода, список и др.), которые можно использовать на диалоговой форме отчета.

frxBDEComponents - компоненты BDE доступа к данным - набор объектов, которые можно использовать на диалоговой форме отчета.

frxADOComponents - компоненты доступа к данным ADO - набор объектов (база данных, таблица, запрос), которые можно использовать на диалоговой форме отчета.

frxIBXComponents - компоненты доступа к данным Interbase Exchange -набор объектов (база данных, таблица, запрос), которые можно использовать на диалоговой форме отчета.

 

Конструктор отчетов

Визуальный конструктор отчетов (рис. 3.12.2.1) FastReport служит для упрощения непосредственной разработки форм отчетов и позволяет сразу выполнить предварительный просмотр. Чтобы вызвать конструктор FastReport, нужно выполнить двойной щелчок мышью на компоненте TfrxReport.

Рис. 3.12.2.1. Окно конструктора отчетов

 

Для использования дизайнера в скомпилированном проекте необходимо использовать компонент TfrxDesigner из палитры компонен­тов FastReport либо включить в список uses модуль frxDesign. Использо­вание дизайнера во время выполнения приложения дает пользователю возможность настраивать вид отчета, а также редактировать готовый отчет.

В FastReport пустой отчет представлен в виде листа бумаги. На любое место листа можно положить объекты, которые могут отображать разную информацию (текст, графику) и определять внешний вид отчета.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...