Формирование отчетов средствами 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|