Форматирование по месту

 Форматирование "по месту" позволяет указать строку формата сразу после выражения. Этот способ применялся в ранних версиях FastReport для форматирования нескольких выражений, содержащихся в одном объекте "Текст". В версии FastReport 5 этот способ устарел, т.к. в редакторе формата можно указать формат для каждого выражения.

 

 Рассмотрим такой случай: вывод в одном объекте суммы и количества заказов. Для этого в объект надо поместить следующий текст:

 

Сумма: [SUM(<Group."ItemsTotal">,MasterData1)]

Кол-во: [COUNT(MasterData1)]

 

 Для корректного вывода значений надо отформатировать каждое из них индивидуально. Для этого есть способ – так называемые тэги формата. Они дописываются перед закрывающей квадратной скобкой выражения. В нашем примере отключим форматирование объекта (в редакторе формата выберем категорию "Текст (без форматирования)"). Теперь нужно поменять формат первой переменной, т.к. вторая будет отображена правильно (без форматирования – в виде целого числа, что нам и надо). Для этого поменяем текст объекта следующим образом:

 

Сумма: [SUM(<Group."ItemsTotal">,MasterData1) #n%2,2m]

Кол-во: [COUNT(MasterData1)]

 

и убедимся, что теперь отчет работает правильно:

 

_img160

 

 Теперь о том, как использовать тэги. Общий синтаксис следующий:

 

[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.