![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Использование выражений в отчетах FastReport 4.15 в Delphi XE2Delphi , Базы данных , Отчеты
При работе с отчетами в Delphi XE2 с помощью FastReport 4.15 может возникнуть потребность в использовании выражений для динамического формирования данных в отчете. В этом материале мы рассмотрим, как использовать выражения в значениях при получении значений в отчете. Проблема Допустим, у вас есть отчет, в котором есть поле MemoView с текстом "[a]". При получении значения для этого поля в событии GetValue отчета вы хотите, чтобы FastReport заменил "[a]" на "первое со [b] элементом", а затем заменил "[b]" на "второй". Как этого добиться? Решение Для достижения этой цели можно использовать рекурсивный вызов функции GetValue. Вот пример кода на Object Pascal (Delphi), решающий эту задачу:
В данном примере, если VarName равен 'a', то происходит рекурсивный вызов функции rep1GetValue с параметром 'b'. Значение, полученное в результате этого вызова, сохраняется в Temp. Затем формируется итоговое значение, которое состоит из строки "первое со " и значения, полученного в Temp. Пример 2 Теперь рассмотрим другой пример. У вас есть отчет с полем TfrxMemoView, в котором текст "[MyExp]". На форме есть поле EditBox с именем "edt1", в которое пользователь может вводить текст. При получении значения для поля в отчете вы хотите, чтобы FastReport заменил "[MyExp]" на содержимое поля edt1, а также выполнил замену выражений в самом тексте из edt1. Для этого можно использовать следующий код:
В этом примере, если VarName равен 'MyExp', то происходит замена выражений в тексте из поля edt1 с помощью функции Format. Результат замены сохраняется в Value. Вывод может потребовать рекурсивных вызовов функции GetValue или замены выражений в тексте. В данной статье мы рассмотрели два примера, демонстрирующие, как это можно сделать. Применяя подобные подходы, вы сможете создавать более гибкие и динамические отчеты в FastReport. Материал описывает использование выражений в отчетах FastReport 4.15 в Delphi XE2, а именно: как динамически формировать данные в отчете при помощи выражений в значениях, используя рекурсивные вызовы функции GetValue или замену выражений в тексте. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |