|
InterReport дизайнер включает в себя расширенный интерпретатор выражений. Интерпретатор разработано с учетом получения оптимального по скорости результата для выражений, которые повторяются во время генерации отчета. В действительности использование интерпретатора выражений не намного медленнее, чем откомпилированные выражения. Как дополнение в состав включено специальный диалог для создания выражений (expression builder dialog), что позволяет создавать выражения довольно просто.
InterReport дизайнер использует интерпретатор в компонентах
TIRExpr и TIRGroup.
Для печати выражения в отчете вы должны использовать компонент
TIRExpr. Введите выражение в свойство
Выражение (Expression) или дважды щелкните по свойству для вызова диалога построения выражения.

Конструктор выражений позволяет строить выражения визуально и может помочь в изучении построения выражений.
Для форматирования выражений используйте свойство Маска (Mask). Форматирование производится по тем же самым правилам, что и для компонента
TIRDBText.
Если ваше выражение включает агрегатные функции типа SUM или COUNT, то вам необходимо связать свойство Мастер (Master) с DataSet. Для простых отчетов это обычно тот же самый
DataSet, что связан с TInterRep, но в более сложном случае со многими
DataSets вы должны побеспокоиться о связи с верным набором данных (DataSet). Выражение с агрегатной функцией пересчитывается каждый раз, если курсор в главной таблице перемещается на следующую запись.
Следующая важная особенность TIRExpr это Обнулять после печати (ResetAfterPrint). Если вы используете агрегатные функции в выражении, вы можете пожелать, чтобы выражение обнулялось каждый раз, после того как оно напечатается, или наоборот. Если не обнулять (reset), то выражение будет продолжать вычисления (накопление), но вы можете поместить выражение на диапазоне нижней части группы и использовать определенные выражения для каждой группы. Установка свойства
ResetAfterPrint позволяет достичь такого результата.
|