FastReport使用交流,FastReport中国社区FastReport联系电话 联系电话:17347785263

FastReport VCL程序员手册:如何修改变量的值

来源:   发布时间:2021-06-09   浏览:次

FastReport VCL是用于Delphi,C ++ Builder,RAD Studio和Lazarus的报告和文档创建VCL库。它提供了可视化模板设计器,可以访问为30多种格式,并可以部署到云,网站,电子邮件和打印中。

近日,FastReport VCL更新至v6.9,在新版本中,在PDF更新中增加了对以下对象的并行表单支持:文本,替换和图片。相互之间形式中。同时修复了多个Bug问题。欢迎下载体验。(旁边向下按钮下载)

立即点击下载FastReport VCL v6.9最新版

删除变量

Pascal:

frxReport1.Variables.DeleteVariable('My Variable 2');

C++:

frxReport1->Variables->DeleteVariable("My Variable 2");

删除变量类别

要删除包含所有变量的类别,请使用以下代码:
Pascal:

frxReport1.Variables.DeleteCategory('My Category 1');

C++:

frxReport1->Variables->DeleteCategory("My Category 1");

修改变量的值

有两种方法可以修改变量的值:
Pascal:

frxReport1.Variables['My Variable 2'] := 10;

C++:

frxReport1->Variables->Variables["My Variable 2"] = 10;

或者
Pascal:

var
  Index: Integer;
  Variable: TfrxVariable;

{ search for the variable }
Index := frxReport1.Variables.IndexOf('My Variable 2');
{ if it is found, change a value }
if Index <> -1 then
begin
  Variable := frxReport1.Variables.Items[Index];
  Variable.Value := 10;
end;

C++:

int Index;
TfrxVariable * Variable;

// search for the variable
Index = frxReport1->Variables->IndexOf("My Variable 2");
// if it is found, change a value 
if(Index != -1)
{
  Variable = frxReport1->Variables->Items[Index];
  Variable->Value = 10;
}

应该注意的是,当访问报表变量时,如果它是字符串类型,则计算其值。这意味着值为 'Table1."Field1"' 的变量将返回 DB 字段的值,而不是 'Table1."Field1"' 字符串。将字符串类型的值分配给报告变量时应该小心。例如,下一个代码将在运行报告时引发异常“unknown variable 'test'”:

frxReport1.Variables['My Variable'] := 'test';

因为 FastReport 试图计算此类变量的值。传递字符串值的正确方法是:

frxReport1.Variables['My Variable'] := '''' + 'test' + '''';

在这种情况下,变量值 - 字符串 'test' 将无错误显示。但请记住:

  • 字符串不应包含单引号。所有单引号必须加倍;
  • 字符串不应包含#13#10 符号。

在某些情况下,使用脚本传递变量更容易。

如果您对FastReport感兴趣,欢迎加入FastReport QQ交流群:801349317

还想要更多吗?您可以点击阅读【FastReport报表2020最新资源盘点】,查找需要的教程资源。让人兴奋的是FastReport .NET正在慧都网火热销售中!>>查看价格详情

本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/3102.html

联系我们
  • 重庆总部 17347785263
购买
  • sales@evget.com
合作
  • business@evget.com


在线
客服
在线
QQ
电话
咨询
023-68661681
返回
顶部