Ultimate VCL

Набор инструментов для создания инфраструктуры отчетов для бизнес-приложений в Delphi и для кроссплатформенной разработки

Какие отчеты можно сделать из Ultimate VCL?

Практически любые: счет-фактура, финансовый отчет, каталог продуктов с поддержкой цветовых профилей, меню ресторана, детализация продаж, анкеты с электронными формами, счета за коммунальные, билет на самолет, услуги и многое другое. Если у вас есть данные, которые необходимо сделать визуально понятными, то FastReport подойдет вам идеально. Бесплатные шаблоны унифицированных форм вы можете скачать в формате шаблонов или PDF из нашего каталога МоиОтчеты Магазин.

Особенности и преимущества Ultimate VCL

Транспорты
Сохраняйте построенные отчёты в облачные хранилища Google Drive, Next Cloud, Box, Dropbox всего за пару кликов для удобной доставки документов вашим клиентам.
Быстрый доступ к отчету и структуре данных
Из дерева отчетов и дерева свойств вы сможете редактировать структуру отчета, параметры и фильтры, а также источники данных с глобальными стилями.
Клиент-серверные компоненты
Стройте отчеты прямо в WEB с использованием стандартных компонентов FastReport VCL без необходимости прямого подключения клиента к серверу базы данных.
Гибкая и открытая архитектура
Если функционала FastReport недостаточно, вы можете улучшить его, создав и подключив собственные объекты (фильтры экспорта, базы данных) к своим отчетам.
Исходный код
Этот набор компонентов включает в себя исходные коды FastReport. Максимальное удобство для компаний, желающих адаптировать код под свои нужды.
Полезные дополнения
В Ultimate входит система для многомерного анализа FastCube для VCL и FMX и плагин FastConverter .FP3 для экспорта отчетов во все возможные форматы документов.

Дизайнер шаблонов в вашем приложении

Мощный современный редактор включает в себя большой набор инструментов для визуального оформления и модификации шаблонов отчетов. Наша гибкая архитектура позволяет создавать собственные редакторы как уже существующих объектов, так и новых. Дизайнер шаблонов может быть включен в ваше приложение, чтобы предоставить пользователям собственный дизайн отчета. Поддерживается локализация для более 30 популярных языков мира.

Ultimate VCL - это бэнд-ориентированный генератор отчетов. Богатый набор бэндов позволяет строить отчеты любого типа: список, master-detail, отчет с группировкой, многоколоночный, master-detail-detail и другие. Если вам нужно создать много отчетов, которые содержат одинаковые элементы (заголовок, подвал, реквизиты предприятия, логотипы), то вы можете собрать общие элементы в базовый отчет и наследовать от него все остальные отчеты. Также мы поддерживаем функцию вложенных отчетов.

Дизайнер шаблонов в вашем приложении

Обработка данных

Ultimate VCL поддерживает сортировку и фильтрацию данных, master-detail отношения. Всё может быть настроено с помощью нескольких щелчков мыши. Возможно подключение к FireDAC, ADO, BDE, DBX, IBX и FIBPlus, обеспечивая таким образом доступ практически ко всем базам данных, включая Oracle и многие сторонние библиотеки.

Ваш отчет может содержать данные (таблицы, запросы, подключения к БД). Таким образом, вы можете не только использовать данные, доступные в вашем приложении, но и самостоятельно подключаться к любым БД непосредственно из отчета. Ultimate VCL содержит скриптовой движок, поддерживающий PascalScript, C++ Script, BasicScript и JScript.

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

Обработка данных

Клиент-серверные компоненты

Стройте отчеты прямо в WEB по технологии клиент-сервер с использованием стандартных компонентов FastReport VCL без необходимости прямого подключения клиента к серверу базы данных. Вы сможете управлять несколькими клиентскими запросами одновременно в отдельных потоках, тем самым минимизируя время отклика сервера.

Компонент TfrxReportServer представляет собой автономный HTTP-сервер с возможностью построения отчётов. Сервер отчётов может строить несколько отчётов одновременно, логировать события и собирать статистику. Для использования уже существующих решений на базе других HTTP-серверов возможна их интеграция с сервером FastReport с помощью механизма "CGI". Отчеты могут быть встроены в уже работающую систему (сайт). HTTP-сервер и сервер отчетов могут работать на разных компьютерах и использовать "SSL" шифрование для работы.

Предпросмотр и печать

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

Дополнительные настройки печати. Для вас доступно: разрезание больших страниц отчета на малые, печать нескольких малых страниц на одной большой, печать на заданном формате с масштабированием. Вам нужно распечатать отчет, содержащий страницы формата А3, на обычном принтере с поддержкой А4? Теперь это не проблема!

Предпросмотр и печать

Экспорты в удобные форматы

Фильтры экспорта готового отчета во множество форматов: PDF, RTF, XLSX, XML, DOCX, TXT, CSV, Excel OLE, PowerPoint, HTML, MHT, XPS, JPEG, BMP, PNG, Open Document Format (ODT, ODS, ODP), XAML, Scalable Vector Graphics (SVG), ZPL и так далее.

Ultimate VCL позволяет быстро преобразовывать отчеты с редактируемыми полями (такими как текстовые поля, символьные расчески, флажки, радиогруппы и графические поля) в документы PDF без подключения дополнительных библиотек. Сохраняйте свои отчеты в популярных форматах: PDF 1.4-1.7, PDF/A-1a, PDF/A-1b, PDF/A-2a, PDF/A-2b, PDF/A-3a, PDF/A-3b, которые являются безопасными, доступными и надежными.

Экспорты в удобные форматы

Кроссплатформенная разработка

С помощью входящих в Ultimate VCL компонентов FastReport FMX и FastCube FMX возможна разработка кроссплатформенных приложений с формированием отчетов для Windows, macOS и Linux. Это позволяет разработчикам создавать документы, которые будут работать на разных операционных системах без необходимости дополнительной настройки или перекомпиляции.

Благодаря среде FireMonkey, совместимой с Embarcadero RAD Studio, поддерживается создание проектов под различные разрешения экрана и размеры устройств, обеспечивая адаптивность приложений на всех устройствах.

Пользователи на разных операционных системах смогут работать с вашим приложением без необходимости установки дополнительных библиотек или компонентов. Это упрощает процесс распространения и поддержки приложения.

Формулы FastScript

Формулы FastScript

В Ultimate VCL для выполнения нестандартных вычислений применяется пакет FastScript. С помощью скриптов можно выполнять расчёт показателей и фильтров. Вы можете установить обработку данных после либо одновременно со стандартными показателями.

Для показателей можно устанавливать фильтры, задаваемые скриптом. Данный фильтр используется, если необходимо производить расчет показателей не по всем строкам исходного набора данных, а только для избранных. Расчетный фильтр можно применять как к показателям, основанным на стандартных агрегатных функциях, так и к расчетным показателям.

Транспорты

Транспорты

Ultimate VCL позволяет экспортировать готовые отчёты и результаты экспорта в различные облачные хранилища, такие как FTP, Dropbox, OneDrive, Google Drive, Box.com и другие. Это упрощает процесс сохранения отчётов и делает их доступными для пользователей в любое время и в любом месте.

Облачные сервисы предоставляют возможность автоматического резервного копирования файлов, что снижает риск потери данных в случае сбоя оборудования или других непредвиденных ситуаций. Хранение файлов в облаке освобождает место на локальных накопителях устройств, что может быть полезно для пользователей с ограниченным пространством на жёстком диске или SSD.

FastQueryBuilder

FastQueryBuilder

Создавайте запросы к базам данных без знания SQL! Вы можете использовать FastQueryBuilder в своих приложениях, написанных в среде Embarcadero Delphi, C++Builder, RAD Studio (VCL а также FMX - FireMonkey) и Lazarus, для создания простого SQL генератора. При этом визуальные модели запроса сохраняются для дальнейшего использования и корректировки.

FastQueryBuilder позволяет работать с локальными и клиент-серверными базами данных используя BDE, ADO, IBX, FIBPlus. Полностью визуальная настройка параметров запросов может быть встроена в любое окно вашего приложения.

OLAP компоненты

OLAP компоненты

Ultimate VCL содержит в себе компоненты кросс-таблицы для VCL и FMX - интерактивного инструмента представления и аналитической обработки данных. В верхней и в левой части таблицы располагаются многоуровневые заголовки, заполненные значениями измерений. Центральная часть таблицы отображает значения показателей.

Кросс-таблица состоит из множества областей: заголовок кросс-таблицы, область полей-фильтров, заголовки измерений по-вертикали и по-горизонтали, вертикальный и горизонтальный заголовок кросс-таблицы, область данных, список полей, список Top-N фильтров, область вычислений агрегатов для выделенных ячеек и регулятор масштаба.

Варианты поставок

Особенности
от 129 890 ₽
от 89 890 ₽
от 49 890 ₽
от 49 890 ₽
от 49 890 ₽
от 39 890 ₽
Ядро FastReport
Компоненты VCL
Компоненты FMX
Компоненты Lazarus
Возможности OLAP
Агрегатные OLAP функции
Поддержка баз данных
Возможности отчётов
Объекты отчета
Штрих-коды
Диаграммы
Печать
Экспорт в различные форматы
Исходные коды
Конвертеры из других шаблонов
Транспорты (Transports)

Связанные статьи

20 ноября 2024

Локализация и смена языков в FastReport VCL

В современном мире большое значение имеет возможность поставки своего программного обеспечения заказчикам по всему миру. Поэтому FastReport VCL поддерживает около 40 самых распространённых языков мира для локализации пользовательского интерфейса. В FastReport VCL начиная с версии 2023.2 был значительно улучшен механизм локализации – теперь для перевода FastReport на другие языки – больше не требуется перекомпиляция. Пакет локализации имеется во всех комплектах поставки FastReport VCL. Локализация осуществляется «на лету», путем выбора необходимого языка в Дизайнере отчетов в меню «Вид – Язык». Более того вы можете управлять языком интерфейса FastReport VCL прямо из кода!     Проверка и установка пакетов локализации Для корректной работы локализации необходимо, чтобы в IDE были установлены пакеты локализации (frxLanguageXXX) и пакет контроллера локализации (frLocalization). В операционной системе Windows для IDE Delphi и Lazarus пакеты локализации устанавливаются автоматически. Если меню локализации недоступно, то необходимо проверить установлены ли эти пакеты в IDE. В Delphi вы увидите следующее окно: Меню локализации в Lazarus выглядит следующим образом: Если какие-то из пакетов переводов не требуются, то их можно удалить из среды разработки.     Работа с TfrLocalizationController и выбор языка Как уже упоминалось выше, смена языка FastReport в дизайнере отчетов осуществляется очень просто. Перейдите в меню «Вид – Языки» и выберите нужный язык.  Для подключения локализации FastReport к программе необходимо воспользоваться компонентом TfrLocalizationController. Достаточно положить его на главную форму приложения. Далее, для Delphi необходимо щелкнуть по компоненту правой кнопкой мыши, затем в выпавшем меню выбрать язык, поддержку которого FastReport нужно добавить в вашу программу: После этого необходимо у компонента TfrLocalizationController выбрать язык, который будет загружен по умолчанию при старте приложения. Можно также добавить в uses главной формы модуль, содержащий необходимую локализацию. Следует отметить, что по умолчанию в FastReport VCL используется английский язык, поэтому если вам нужен только он, ничего делать не нужно. Для подключения локализации в Lazarus необходимо в проект добавить языковой пакет, а затем добавить модуль для этого языка.     Смена языка из кода В некоторых ситуациях может потребоваться управлять локализацией FastReport VCL из кода программы. Это делается следующим образом:  frLocalizationController.Language := ‘German’; Данный код устанавливает немецкий язык. Не забудьте, что ваша программа должна быть скомпилирована с языковым пакетом, на который вам надо переключиться. Узнать с какими пакетами языков скомпилирована программа можно с помощью кода ниже. Для этого необходимо подключить модуль Types, положить на форму компоненты TButton и TMemo, а в обработчике Buttom.OnClick написать: procedure TForm1.Button1Click(Sender: TObject);var D:TStringDynArray;        I: Integer;begin  Memo1.Lines.Add('Default Lang: '+TfrAvailableLanguagesController.GetDefaultLanguageName);  Memo1.Lines.Add('Current Lng: '+frLocalizationController1.Language);  Memo1.Lines.Add('Suppotred languages:');  D:=TfrAvailableLanguagesController.GetLanguages;  for I:=Low(D) to High(D) do begin    Memo1.Lines.Add(D[I]);  End;end;  Обратите внимание, что английский язык не включен в список поддерживаемых языков, но он всегда доступен по умолчанию.     Редактирование локализации через Localizer Вызвать редактор Локализации можно следующим образом: в IDE Delphi меню «Tools… - Localization Editor…» в Lazarus меню «Сервис - Localization Editor…» Вы можете вызывать «Редактор локализации» из своей программы с помощью кода ниже. Однако данный способ доступен не во всех версиях.   frLocalizationController1.ShowLocalizationEditor; Назначение элементов управления в редакторе локализации: открыть файл *.xml с переводом сохранить файл *.xml с переводом сохранить файл перевода с заданным именем отменить последнее действие выполнить отмененное действие задать язык перевода отфильтровать записи по маске очистить фильтр показывать только переведенные записи показывать только непереведенные записи «Редактор локализации» позволяет построчно переводить ресурсы FastReport VCL на различные языки. По центу редактора расположена сетка с переводимыми значениями.  Первая колонка – идентификатор элемента, который подлежит переводу. Это всегда строка несмотря на то, что в отдельных строках располагаются и числа, так как используется их строковое представление.  Вторая колонка – оригинальное значение элемента на английском языке.  Третья колонка – переведенное значение элемента для другого языка. Перейдём к принципу работы редактора локализации. При загрузке редактор проверяет какие локализации доступны приложению, в которое он встроен. Затем редактор заполняет список доступных языков (комбобокс для ввода языка перевода). Текущая установленная локализация является активной для редактирования. Вы можете выбрать и отредактировать перевод для любого из доступных языков и сохранить его в XML файл. Если у вас уже имеется XML файл с переводами, то его можно загрузить для редактирования. В редакторе локализации можно переключаться между режимами отображения. Например, показать только те элементы, у которых перевод совпадает с оригиналом на английском языке. Либо наоборот оставить только элементы, перевод которых отличается от английской версии. Но следует учитывать, что не все элементы нужно переводить.  К записям в сетке можно применить фильтр. Элемент сетки отображается только если значение фильтра содержится в любой колонке. Также вы можете отсортировать сетку в прямом и в обратном алфавитном порядке, щелкнув на заголовок любой колонки. Если вы изменили файл перевода, то его можно подключить в программу вместо стандартного. Для этого в операторе uses вам необходимо подключить модуль frResources используя следующий код:   frStringResources.LoadFromFile('mylanguage.xml'); Мы рекомендуем после редактирования файлов перезагрузить ваше приложение для корректного отображения всех переведенных ресурсов. Также следует учесть, что загруженный перевод сразу становится активным, но работает до первого переключения языка. Далее при переключении на этот же язык повторно, локализация берется из подключенных к программе ресурсов. Помимо этого, мы можете самостоятельно скомпилировать ресурс с файлом перевода. Поместите его в каталог с соответствующим модулем языка и используйте в программе. Чтобы этот перевод появился в IDE запустите установщик и выберете режим Recompile. Или просто перекомпилируйте пакет нужного вам языка. В Lazarus после этого вам потребуется пересобрать IDE, в Delphi – перезагрузить среду. Если вы хотите, чтобы ваш перевод не терялся после каждого обновления, то вы можете отправить файл локализации нам на support@fastreport.ru. Мы проверим полученный файл и добавим его в инсталлятор.
Читать
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Наши продукты постоянно развиваются, непрерывно добавляется новый функционал и улучается качество программного кода. В этой статье рассмотрим новые возможности редактор отчетов и не рассмотренные в руководстве пользователя.   Инспектор объектов Добавлена возможность помещать отдельные свойства в «Избранное». Для этого сфокусируйте курсор на инспекторе объектов и нажмите на клавишу CTRL. Рядом с именами свойств появятся чекбоксы, выберите необходимые вам свойства и добавьте их в список избранного. Удалять свойства можно таким же способом во вкладке «Избранное». События поместить в избранное нельзя. Теперь рядом со вкладками инспектора объектов расположено окно ввода для быстрого поиска свойств. Окно поиска может быть не видно, если у инспектора объектов малая ширина. При вводе данных в это окно инспектор начинает показывать только те свойства, которые содержат введенную строку. Инспектор выделяет значения свойств жирным стилем если те отличаются от значений по умолчанию. Это позволяет быстро находить свойства объекта, которые были изменены в процессе редактирования.  Примечание: не у всех свойств имеются значения по умолчанию, поэтому не все свойства могут быть подсвечены.      Дерево отчета В дерево отчетов также добавлен поиск компонентов по имени. Чтобы появилась строка поиска, то внутри дерева необходимо нажать на значок >>, расположенный справа внизу. Помимо этого, в дереве отчета можно выделять несколько элементов с использованием клавиши CTRL.  Дополнительно можно вызвать меню редактирования с помощью правой кнопки мыши – оно аналогично меню, которое вызывается при щелчке по компоненту. При выделении нескольких компонентов можно отредактировать их все одновременно. Например, скрыть их все с помощью свойства Visible, или, например удалить.     Дерево данных Интересной возможностью дерева данных является перетаскивание полей на рабочее поле дизайнера со вкладки «Поля БД». Если вы сделали активными кнопки «вставлять поле» или «вставлять заголовок» (кнопки F и C на изображении выше), то на рабочем поле дизайнера создастся frxMemoView либо с текстом заголовка из поля данных, либо привязанный к данным. В том случае, когда будут нажаты обе кнопки, то сгенерируются два TfrxMemoView - и с заголовком поля и привязанный к данным. Если данные берутся из TfrxDataSet, то в редакторе этого компонента (в самой IDE Delphi) можно настроить тип компонента, который создаётся при перетаскивании. Группы полей также можно перетаскивать. При этом, если вместе с полями выбрать и датасет, то создастся бэнд с данными полями. Если перетаскивается поле данных, то имя компонента составляется из имени датасета и имени поля данных. Помимо этого, можно перетащить поле данных и на существующий компонент. Тогда этот компонент привяжется к перетаскиваемому полю данных (предыдущее значение будет потеряно). Поле данных также можно перетащить в любое строковое свойство инспектора объектов. В дереве данных ещё есть 2 вкладки: «Функции» и «Классы», на которых отображаются все доступные в отчете классы и функции. Их также можно перетаскивать в дизайнер отчета.   Рабочее поле дизайнера Рабочее поле дизайнера обладает рядом интересных возможностей, облегчающих жизнь разработчика. На большинстве контролов, если у них есть обработчики событий, то в верхнем левом углу появляется маленький красный треугольник. Если на привязанном к датасету бэнде находится TfrxMemoView, то при наведении на него мышкой у него справа появляется треугольник (как у комбобокса). При нажатии на него можно привязать к TfrxMemoView поле из датасета бэнда. Если содержимое текстового компонента не полностью видно на экране (обрезано), то при наведении на такой компонент появляется подсказка с полным содержимым данного компонента. Эти подсказки можно убрать в настройках дизайнера, для этого перейдите в меню «Вид» -> «Настройки» и уберите галочку «Enable workspace hints».     Выносные линии Выносные линии – это набор вертикальных и горизонтальных линий для позиционирования вдоль них компонентов отчета. Управление видимостью выносных линий организовано с помощью подэлеменов меню «Вид».  «Выносные линии» – этот пункт меню разрешает использование выносных линий. Для создания выносной линии необходимо щелкнуть мышью 2 раза по линейке сверху или сбоку дизайнера. Выносные линии отображаются голубым цветом. «Автоматические выносные линии» – выносные линии появляются вдоль каждой границы компонента. Если выносная линия создана пользователем и не связана с границей компонента, то она исчезает, а если связана – то становится коричневого цвета. Создание пользовательских выносных линий в этом режиме невозможно.  «Использование горизонтальных и вертикальных выносных линий» – эти 2 пункта меню отвечают за видимость горизонтальных и вертикальных выносных линий. Также регулировать видимость выносных линий можно с помощью кнопки, находящейся на пересечении вертикальной и горизонтальной линеек, в верхнем левом углу поля редактирования дизайнера отчетов (скриншот ниже). Эта кнопка по кругу переключает режимы выносных линий в следующем порядке:-    без автоматических выносных линий;-    все автоматические выносные линии;-    горизонтальные автоматические выносные линии;-    вертикальные автоматические выносные линии. Для удаления пользовательской выносной линии достаточно переместить её за пределы области дизайнера или щёлкнуть правой кнопкой мыши по указателю выносной линии. В режиме автоматических выносных линий можно преобразовать эти линии в пользовательские, а затем вернуть обратно в автоматические. Для этого 2 раза нажмите по указателю выносной линии на линейке. Выносные линии применяются для расположения элементов отчета в нужном порядке. Главное свойство выносных линий – границы компонентов «прилипают» к выносным линиям при любом изменении размеров компонентов.  Помимо этого, при перетаскивании выносной линии вместе с ней перемещаются все «прилипшие» границы компонентов. Если противоположная граница компонента «прилипла» к другой выносной линии, то компонент изменяет свои размеры. Если противоположная граница компонента свободна, то компонент перемещается вслед за выносной линией, его размеры не меняются (каждую из настроек можно отключить в опциях дизайнера, например «Прилипать к выносным линям» и «Использовать выносные линии как якорь»).  Также выносные линии имеют способность «слипаться» между собой – если одну выносную линию переместить на другую, то они сольются. Таким образом с помощью выносных линий можно быстро выстроить компоненты отчета по пользовательской сетке. Данный функционал очень важен при экспорте отчета в некоторые форматы (например, в таблицу Excel), получение табличных отчетов без использования компонентов-сеток и так далее.     Дополнительные кнопки панели инструментов дизайнера На панель инструментов «Стандартная» добавлены 2 новые кнопки «Подсвечивать пересечение объектов» и «Поиск».  Первая кнопка переназначена для показа пересекающихся объектов, которые на изображении выше автоматически выделяются красным цветом. Сам цвет можно изменить в настройках редактора.  Вторая кнопка открывает окно поиска текста или его замены. В этом окне можно задать области поиска: искать в именах компонентов, в значениях строковых свойств, в содержимом, в тексте скрипта. Под содержимым понимается, например, значение свойства Memo компонента TfrxMemoView. Перейдем к настройкам поиска. Если активен чекбокс «Различать регистр», то будут различаться строчные и прописные буквы.  Если активен чекбокс «Искать все», то список найденного будет выведен на панели ниже, с пояснениями, какому элементу отчета принадлежит найденный текст. При щелчке мышью на любом элементе будет произведен переход к найденному элементу.  В ситуациях, когда чекбокс «Искать все» не активен, то по нажатию кнопки «Искать далее» (или клавиша F3 на клавиатуре) будет произведен переход к следующему найденному элементу. Переходы между элементами идут по вкладкам «Data», «Page», либо по «Code» в зависимости от активной вкладки. При наличии чекбокса на настройке «Заменить на» становится активным окно, в которое необходимо вписать новый текст для замены текущего. При этом надпись на кнопке «Искать текст» меняется на «Замена». Теперь при нажатии на кнопку «Замена» появляется диалог следующего вида: Этот диалог позволяет подтвердить или отменить замену текста. Данный функционал может понадобиться, например, при необходимости сменить один шрифт у всех компонентов на другой. Или, например, если вы переименовали датасет, который активно используется в скриптах. 
Читать
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

Под стилем (Style) в FastReport VCL понимается набор визуальных параметров компонента, а именно: шрифт, заливка, и рамка. Прямо в дизайнере отчетов вы можете создать стиль, который будет содержать только информацию о шрифте, либо только о рамке или заливке с рамкой. Вы можете одновременно использовать все эти параметры или чередовать в зависимости от ваших нужд. Стиль удобен для массового изменения внешнего вида компонентов. Это поможет при настройке нескольких параметров чтобы не выставлять одни и те же свойства вручную много раз. Также с помощью изменения параметров стиля можно быстро изменить внешний вид отчета. Готовую библиотеку стилей можно сохранить в отдельный файл, чтобы использовать для настройки нескольких отчетов. В FastReport VCL стили могут объединяться в «Страницу стилей (StyleSheet)». В совокупности набор страниц стилей называется «Таблица стилей» (или «Книга стилей»). Каждый стиль существует в каждой странице стилей. И в каждой странице стилей сам стиль может иметь разные параметры. При этом становится возможным быстро изменить настройки внешнего вида отчета, просто сменив текущую страницу стилей. Такое может быть полезно, например, если один и тот же отчет необходимо использовать в нескольких операционных системах с разными шрифтами. Тем самым необходимые стили устанавливаются просто переключением страницы стилей. Можно считать, что в FastReport VCL в каждом отчете имеется как минимум одна страница стилей с именем «По умолчанию» (Default).     Элементы управления стилями Для управления и работы со стилями и таблицами стилей имеется панель инструментов «Стили».   Управляет режимом использования таблиц стилей, содержит подменю с двумя элементами: «Designer style book» – разрешает использование таблиц стилей в дизайнере отчетов.«Preview Style book» – разрешает использование таблиц стилей в окне предварительного просмотра (изменение текущей таблицы стилей). Включает режим редактирования стилей непосредственно в отчете. Добавляет новую страницу стилей. Отвечает за выбор активной страницы стилей, а также за изменение имени страницы стиля. Удаляет текущую выбранную страницу стилей. Добавляет новый стиль. Позволяет выбрать стиль для текущего выделенного компонента, изменение имени текущего стиля. Удаление текущего стиля.   Также для редактирования и управления стилями можно использовать форму, которая доступна из меню «Отчет» -> «Стили». Кнопки тулбара этой формы имеют те же функции, что и на панели инструментов «Стили». Дополнительно можно сохранить и прочитать с диска таблицу стилей. Слева на форме расположен список стилей, доступных в отчете. При выборе любого стиля становится возможным редактирование его параметров. На панели ниже расположен образец применения стиля к элементу отчета. По центру на форме имеется 3 кнопки, с помощью которых можно отредактировать составляющие стиля. Рядом с кнопками расположены 3 чекбокса. В них можно указать содержит ли стиль тот или иной компонент – цвет фона, шрифт или рамку. Причем использование той или иной составляющей стиля одновременно разрешено или запрещено во всех страницах стилей.     Работа со стилями Для установки свойств стилей служит специальная форма, доступная из меню «Отчет –> Стили…» (скриншот выше). С помощью этой формы можно добавлять и удалять стили в отчет, переименовывать их, а также устанавливать их свойства. Также можно сохранять и загружать их из файлов стилей. Задать стиль выбранному компоненту отчета можно с помощью ComboBox на панели стилей, либо с помощью свойства «Style» в инспекторе объектов. Если задать для компонента отчета стиль под названием «Нет стиля» или удалить имя стиля в инспекторе объектов, то внешний вид компонента сохранится. Однако после этих действий данный компонент перестанет зависеть от стиля. Также можно перевести дизайнер отчетов в режим редактирования стилей с помощью кнопки на панели стилей (Edit Styles Mode).  В этом режиме становятся активными 2 кнопки по бокам ComboBox с именами стилей – можно добавлять и удалять стили с помощью них. При создании стиля с помощью кнопки на панели стилей, то такому стилю присваиваются свойства текущего выделенного компонента. При удалении стиля форматирование компонентов отчета сохраняется. Однако теперь форматирование будет храниться не в стиле, а в самом компоненте. Каждый пользователь имеет возможность редактировать стили непосредственно в отчете. Если отредактировать визуальные свойства элемента, которому назначен стиль, то фактически будут отредактированы свойства этого стиля. Такое поведение можно увидеть непосредственно в дизайнере. При изменении параметров одного компонента будут меняться все компоненты, имеющие данный стиль.      Работа с таблицами стилей Для работы с таблицами стилей сначала необходимо их включить. Это делается путем нажатия кнопки «Style Book Mode» и выбора режимов «Design Style Book» или «Preview Style Book». После этого становятся активными кнопки «Add Style Sheet», «Delete style Sheet» и ComboBox с именами таблиц стилей. Вы можете добавлять, удалять и переименовывать таблицы стилей, а также сделать какую-либо из них активной. При активации таблицы стилей все стили изменяют свое состояние на то, что хранится в текущей таблице стилей. При создании новой таблицы стилей данные для неё берутся из текущей активной таблицы стилей. При активной опции «Preview Style Book» изменение страниц стилей доступно в предварительном просмотре. Тогда у вас справа на панели инструментов появится ComboBox. В нем можно выбрать требуемую страницу стилей, и она немедленно применится к отчету.     Сохранение и чтение стилей Вернёмся в окно настройки стилей. В этом окне имеются кнопки «сохранить» и «прочитать». При нажатии на них вызываются диалоги чтения и записи файла, позволяющие сохранить и прочитать таблицу стилей в формате *.fs3. Независимо от режима работы со стилями, в файл записываются все таблицы стилей, которые находятся в отчете.  Как правило, конечный пользователь не должен редактировать отчет, у него есть только возможность предварительного просмотра. Поэтому программист должен уметь задавать текущий стиль отчета в коде приложения.  Это можно сделать так: begin  //загружаем отчет  frxReport1.LoadFromFile(DefPath+'main.fr3');  //загружаем стили  frxReport1.Styles.LoadFromFile(DefPath+'main.fs3');  //для управления таблицами стилей frxReport1.Styles.StyleBookMode не должно быть равно []  frxReport1.Styles.StyleBookMode:=[fsbDesigner];  //задаем стиль, который нам нужен  frxReport1.Styles.ActiveStyleSheet:='MyStyleSheet';  //применяем стиль к отчету  frxReport1.Styles.Apply;  frxReport1.ShowReport();end; Более подробно работа со стилями описана в руководстве программиста.     Таблицы стилей и условное форматирование Следует с осторожностью применять условное форматирование совместно с таблицами стилей. Если активен режим «Preview Style Book», то при изменении стиля условное форматирование теряется. Без проблем при этом можно менять те элементы форматирования, которые не используются стилем. Подведём итоги. Работать со стилями и со страницами стилей совсем не сложно. Данный функционал значительно упрощает и ускоряет построение отчетов. Это позволяет вам гораздо быстрее делать группы отчетов с одинаковым стилем оформления.
Читать