[翻译] FastReport "Text" 对象中使用表达式
文本对象的最重要的功能之一是它不仅能够显示静态文本还能显示表达式。表达式混合在正常的文本内容中,让我们看一个简单的例子,他是如何工作的。在文件对象的内容中,输入以下字符:
Hello, World! Today is [DATE].
当报表运行时显示如下:
Hello, World! Today is 01.01.2004.
发生了什么? 当FastReport构建报表,遇到一个在方括号中的表达式时,报表引擎计算并插入该值在表达式的地方. “Text” 可是包含任意的表达式. 复杂表达式可以包含括号 (比如 [1+2*(3+4)]). 常量, 变量, 函数和数据字段等都可以使用.
FastReport 自动处理方括号. 当我们想显示方括号时如何做?比如要显示如下的结果:
a[1] := 10
FastReport 将把[1] 认为是表达式:
a1 := 10
这不是我们想要的, 当然. 一个方法是禁用对象的表达式解析功能,设置“AllowExpressions” 属性. 这样将正常显示如下:
a[1] := 10
但有时我们需要表达式的文本,例如:
a[1] := [myVar]
FastReport 允许设置表达式符号,对象属性“ExpressionDelimiters”的默认值是“[,]” 在上面的例子中我们换另一种符号:
a[1] := <myVar>
设置“ExpressionDelimiters” 属性为“<,>”, 符号 “%,%” 不能单独使用. 组合别的字符可以,比如“<%,%>”. 像下面这样:
a[1] := <%myVar%>