Форматирование по месту
Форматирование "по месту" позволяет указать строку формата сразу после выражения.
Этот способ применялся в ранних версиях FastReport для форматирования нескольких выражений, содержащихся в одном объекте "Текст". В версии FastReport 5 этот способ устарел, т.к. в редакторе формата можно указать формат для каждого выражения.
Рассмотрим такой случай: вывод в одном объекте суммы и количества заказов. Для этого в объект надо поместить следующий текст:
Сумма: [SUM(<Group."ItemsTotal">,MasterData1)]
Кол-во: [COUNT(MasterData1)]
Для корректного вывода значений надо отформатировать каждое из них индивидуально. Для этого есть способ – так называемые тэги формата. Они дописываются перед закрывающей квадратной скобкой выражения. В нашем примере отключим форматирование объекта (в редакторе формата выберем категорию "Текст (без форматирования)"). Теперь нужно поменять формат первой переменной, т.к. вторая будет отображена правильно (без форматирования – в виде целого числа, что нам и надо). Для этого поменяем текст объекта следующим образом:
Сумма: [SUM(<Group."ItemsTotal">,MasterData1) #n%2,2m]
Кол-во: [COUNT(MasterData1)]
и убедимся, что теперь отчет работает правильно:
Теперь о том, как использовать тэги. Общий синтаксис следующий:
[expression #tag]
Обратите внимание – пробел между выражением и знаком # обязателен! Сам тэг может быть следующего вида:
#nСтрокаФорматирования
– числовой формат
#dСтрокаФорматирования
– формат даты/времени
#bЛожь,Истина
– булевый формат
СтрокаФорматирования
в каждом случае представляет собой аргумент для функции, с помощью которой выполняется форматирование. Так, для числового форматирования это делфийская функция Format
, для даты/времени – функция FormatDateTime
. Возможные значения строк форматирования можно узнать в справочной системе Delphi. Вот некоторые значения, используемые в FastReport:
для числового форматирования:
%g
– число с минимальным количеством знаков после запятой
%2.2f
– число с фиксированным количеством знаков после запятой
%2.2n
– число с разделителем разрядов
%2.2m
– денежный формат, принятый в ОС Windows, зависит от региональных настроек в панели управления.
для формата дата/время:
dd.mm.yyyy
– дата вида 23.12.2003
dd mmm yyyy
– дата вида 23 ноя 2003
dd mmmm yyyy
– дата вида 23 Ноябрь 2003
hh:mm
– время вида 23:12
hh:mm:ss
– время вида 23:12:00
dd mmmm yyyy, hh:mm
– время и дата вида 23 Ноябрь 2003, 23:12
В строке для числового формата допускается указывать вместо точки запятую или тире, тогда этот символ будет использован как разделитель целой и дробной частей числа. Использование других разделителей не допускается.
Что касается форматирования типа #b
(булевое), то строка форматирования представляется в виде двух значений, разделенных запятой. Первое значение соответствует False, второе – True.