FastReport 变量列表使用

使用报表变量时,引用“frxVariables”单元。 变量定义在“TfrxVariable” 类:

TfrxVariable = class(TCollectionItem)

published

property Name: String;     //Name of a variable

property Value: Variant;    //Value of a variable

end;

变量列表在“TfrxVariables” 类,有所有相关的方法:

TfrxVariables = class(TCollection)

public

function Add: TfrxVariable;   //Adds a variable to the end of the list

function Insert(Index: Integer): TfrxVariable;   //Adds a variable to the given position of the list

function IndexOf(const Name: String): Integer;   //Returns the index of a variable with the given name

procedure AddVariable(const ACategory, AName: String; const AValue: Variant);  //Adds a variable to the specified category

procedure DeleteCategory(const Name: String);   //Deletes a category and all its variables

procedure DeleteVariable(const Name: String);   //Deletes a variable

procedure GetCategoriesList(List: TStrings; ClearList: Boolean = True);   //Returns the list of categories

procedure GetVariablesList(const Category: String; List: TStrings);  //Returns the list of variables in the specified category

property Items[Index: Integer]: TfrxVariable readonly;  //The list of variables

property Variables[Index: String]: Variant; default;  //Values of variables

end;

如果变量的列表很长,可以按类别分组。例如,当有下列变量列表:

Customer name

Account number

in total

total vat

可以使用以下方式:

Properties

  Customer name

  Account number

Totals

  In total

  total vat

有以下局限:

- 必须创建至少一个类别

- 类别在data tree下层, 变量在第二层

- 类别不能嵌套

- 变量的名称必须是唯一的,在整体列表中,而不是在一个类别中

 

一:创建一个变量列表

A link to the report variables is stored in the “TfrxReport.Variables” property. To create a list manually, the following steps must be performed:

- clear the list

- create a category

- create variables

- repeat the 2 and 3 steps to create another category

二:清空变量列表

It is performed with the help of the “TfrxVariables.Clear” method:

frxReport1.Variables.Clear;

三:添加分类

必需至少创建一个类别, 类别和变量保存在一个list。 类别不同于变量是以一个空格开始,这是名字的第一个符号.所有的变量都是属于这一类别。

有两个方法添加类别:

frxReport1.Variables[' ' + 'My Category 1'] := Null;

or

var

Category: TfrxVariable;

Category := frxReport1.Variables.Add;

Category.Name := ' ' + 'My category 1';

四:添加变量

添加变量必须在类别添加以后, 在列表中变量名必须唯一, 并且必须在类别中。

这里有几个方法添加变量到列表:

frxReport1.Variables['My Variable 1'] := 10; //  添加(如果不存在) 或修改一个变量的值。

var

Variable: TfrxVariable;

Variable := frxReport1.Variables.Add;

Variable.Name := 'My Variable 1';

Variable.Value := 10;

以上2个方法都把变量添加到列表最后, 因此, 添加到最后的类别. 如果想添加到列表的指定位置,使用“Insert” 方法:

var

Variable: TfrxVariable;

Variable := frxReport1.Variables.Insert(1);

Variable.Name := 'My Variable 1';

Variable.Value := 10;

添加到指定的类别,使用“AddVariable” 方法:

frxReport1.Variables.AddVariable('My Category 1', 'My Variable 2', 10);

五:删除变量

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

六:删除分类

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

七:修改变量值

八:脚本变量

你可以在TfrxReport.Script中定义脚本变量,用来代替report变量, 看看 report变量和 script变量的不同:

 

Report variables

Script variables

位置

In the report variables list, TfrxReport.Variables.

In the report script, TfrxReport.Script.Variables.

Variable name

May contain any symbols.

May contain any symbols. But if you want to use that variable inside the report script, its name should conform to Pascal identificator specifications.

Variable value

May be of any type. Variables of string type are calculated each time you access them, and are, in itself, an expressions.

May be of any type. No calculation is performed, behavior is like standard language variable.

可访问性

Programmer can see the list of report variables in the "Data tree" window.

The variable is not visible, programmer should know about it.

 

Working with script variables is easy. Just assign value to the variable this way:

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

In this case FastReport will create a variable if it is not exists, or assign a value to it. There is no need to use extra quotes when assigning a string to that variable.

九:TfrxReport.OnGetValue中传递变量值

最后一种传递值到报表中的方法是使用 TfrxReport.OnGetValue 事件,这个方式可以得到动态值,以前的方法通过静态值。

举例说明使用方法. 报表中放一个文本对象,输入以下内容:

[My Variable]

创建 TfrxReport.OnGetValue 事件:

procedure TForm1.frxReport1GetValue(const VarName: String; var Value: Variant);

begin

if CompareText(VarName, 'My Variable') = 0 then

Value := 'test'

end;

运行报表,我们看到变量是显示正确的。 事件TfrxReport.OnGetValue 在遇到所有未知变量时调用 。

 

http://www.cnblogs.com/moon25/p/5534095.html

转载于:https://www.cnblogs.com/railgunman/p/6684847.html

delphi fmx android 自动更新(一) 所以,如果是http 则,manifest.xml application 下,https无需添加。增加android:usesCleartextTraffic="true",不然无法使用http下载东西。1,REQUEST_INSTALL_PACKAGES 权限。4,WRITE_EXTERNAL_STORAGE 权限。3,READ_EXTERNAL_STORAGE 权限。一般是从http下载安装包 apk。2,INTERNET 权限。sFile为apk包路径。 阅读详情

相关推荐

ESP32-S3射频测试与全球认证全栈实践指南

功率谱密度(PSD)和发射功率等级是无线通信设备射频合规的核心基础概念,其物理层原理直接决定自适应测试、阻塞容限及多国认证的通过路径。PSD ≥10 dBm/MHz触发强制性自适应测试,需验证LBT机制与跳频鲁棒性;而16级可编程发射功率等级(-24 dBm至+20 dBm)则为功耗、覆盖与法规平衡提供工程调控维度。该能力广泛应用于低功耗蓝牙IoT终端、智能家居网关及工业无线传感器等场景,尤其在ESP32-S3平台中,需结合eFuse校准、Sigma工具链与QuickTrack认证策略实现从实验室调试到量产

weixin_34945060的博客 287

[翻译] FastReport 变量列表使用

使用报表变量时,引用“frxVariables”单元。 变量定义在“TfrxVariable” 类: TfrxVariable = class(TCollectionItem) published property Name: String; //Name of a variable property Value: Variant; //Value of a variable...

weixin_30689307的博客 256

OpenAI,从推出更强大的Sora 2模型展开探索与未来发展前景+部署方法大全+文末邀请码*12

摘要 OpenAI推出的Sora 2是第二代AI视频生成模型,在多模态内容生成领域实现重大突破。文末足足有12个邀请码,速来速享!!!

aqfcca的博客 2248

fastreport4 传入变量

fastreport 导入变量 简介

885

别再只放按钮了!巧用微信小程序‘长按识别’功能,打造无缝加群体验

本文深入探讨了微信小程序'长按识别'功能在社群运营中的创新应用,通过简化加群流程至一步操作,显著提升用户转化率。文章详细解析了技术实现细节、UI/UX设计策略,并对比了与企业微信API的适用场景,为开发者提供打造无缝加群体验的完整解决方案。

weixin_42627853的博客 434

机器学习笔记之玻尔兹曼机(一)基本介绍

在受限玻尔兹曼机——模型表示(Representation)一节中以玻尔兹曼机为引,介绍了受限玻尔兹曼机。从本节开始,将正式介绍玻尔兹曼机。相比于它的表示和推断过程,我们更关注它在求解过程中出现的问题。

静静的学习就好 7924

FastReport VCL报表教程:如何创建、清除变量列表,使用变量列表添加变量

FastReport VCL程序员手册:如何创建、清除变量列表 FastReport VCL是用于Delphi,C ++ Builder,RAD Studio和Lazarus的报告和文档创建VCL库。它提供了可视化模板设计器,可以访问为30多种格式,并可以部署到云,网站,电子邮件和打印中。 近日,FastReport VCL更新至v6.9,在新版本中,在PDF更新中增加了对以下对象的并行表单支持:文本,替换和图片。相互之间形式中。同时修复了多个Bug问题。欢迎下载体验。(旁边向下按钮下载) 立即点击下载Fa

RoffeyYang的博客 661

基于qiime2的16S数据分析全流程:从导入数据到下游分析一条龙

基于qiime2的16s测序数据分析分析激活qiime环境我已经把上面这句代码放在了.bashrc里面,因此激活qiime2环境只需要运行activate_qiime即可/bin/bash# 设置目录路径# 输出表头 echo -e "sample-id\tforward-absolute-filepath\treverse-absolute-filepath"# 遍历_R1和_R2文件do # 检查R1文件是否存在then# 获取样本ID(去掉_R1.fastq.gz)

2301_76771985的博客 5522

FastReport 使用技巧篇

使用技巧篇 1.FastReport中如果访问报表中的对象? 可以使用FindObject方法。 TfrxMemoView(frxReport1.FindObject(‘memo1’)).Text:=‘FastReport’; 2.FastReport中如何使用上下标? 设置frxmemoview.AllowHTMLTags:= True;在Text输入如下 上标:mm2 下表:k6 举一反三,你...

gx15941883020的专栏 2438

精度0.01%决定续航多20km|新能源汽车研发测试:功率分析仪到底有多硬核?

新能源汽车测试、功率分析仪、电驱系统、效率MAP、谐波THD、GB/T18488、CLTC工况、三电测试、台架标定、能量流分析。中的核心作用,用公式、思维导图、实战金句与避坑指南,帮研发测试人员把准数据、提效率、降返工,看完就能落地用。点击关注,进公众号主页查看历史文章,**台架接线图、效率MAP模板、GB/T18488测试清单等。优化弱磁/调制策略,高效区占比提升5%,CLTC续航直接+8~20km。同样工况,两次数据差0.8%,报告根本没法交。结果:数据飘、定位慢、反复返工、认证不过。

优快云-新能源汽车研发测试专业博主 169

图机器学习(7)——图神经网络 (Graph Neural Network, GNN)

图神经网络 (Graph Neural Network, GNN) 是一类专门处理图结构数据的深度学习方法。这类方法也被称为几何深度学习 (geometric deep learning),在社交网络分析、计算机图形学等众多领域正受到日益广泛的关注。在本节中,我们介绍了 GNN 的核心原理,将卷积等经典深度学习范式拓展至非欧几里得图空间,实现了局部结构与全局特征的层次化提取。

盼小辉丶的博客 1万+

修正FastReport报表添加参数时候报错 "标识符未宣告: "

procedure TForm1.Button1Click(Sender: TObject);var  ltemp : TfrxVariable;begin  ltemp := frxReport1.Variables.Add;  ltemp.Name := ' TESTVAR' ;  frxReport1.Variables.AddVariable('TESTVAR','测试','12');  ...

mengzhongren2的专栏 3501

(一)激光线扫描-三维成像原理

激光线扫描是一种使用激光作为光源,通过特定的扫描设备(如光学镜头、电机驱动的镜头或电子扫描设备)将激光束引导到目标表面,并按照预定的路径进行扫描的技术。这种技术通常用于测量、检测、打印、切割等多种应用中。

FlyWine的博客 3629

FastReport VCL程序员手册:报告缓存、MDI架构/使用变量列表

FastReport VCL程序员手册:报告缓存、MDI架构 FastReport VCL是用于Delphi,C ++ Builder,RAD Studio和Lazarus的报告和文档创建VCL库。它提供了可视化模板设计器,可以访问为30多种格式,并可以部署到云,网站,电子邮件和打印中。 近日,FastReport VCL更新至v6.9,在新版本中,在PDF更新中增加了对以下对象的并行表单支持:文本,替换和图片。相互之间形式中。同时修复了多个Bug问题。欢迎下载体验。(旁边向下按钮下载) 立即点击下载Fas

RoffeyYang的博客 354

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

fastreport问题集

---------------- 使用自定义函数 ----------------------------------------Q: 我怎样添加我的自定义函数?A: 使用 TfrReport.OnUserFunction 事件. 这里有一个简单的例子:procedure TForm1.frReport1UserFunction(const Name: String;p1, p2, p3: Var

liucan2000的专栏 1152

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

FastReport帮助

SQL数据库连接 | SQL2000和SQL2005的行转列处理方法 2008-06-18 FastReport帮助 博客分类: 技术收藏 脚本编程ASP浏览器Pascal 1、FastReport如何打印表格式的空行? var

赏金的专栏 1010

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

FastReport问题集

FastReport问题集  选自Delphi园地 http://www.delphifans.com/InfoView/Article_401.html---------------- 使用自定义函数 ----------------------------------------Q: 我怎样添加我的自定义函数?A: 使用 TfrReport.OnUserFunction 事件. 这里有一个简单

RickyLan的专栏 1230

FastReport常见问题集

FastReport问题集  选自Delphi园地 http://www.delphifans.com/InfoView/Article_401.html---------------- 使用自定义函数 ----------------------------------------Q: 我怎样添加我的自定义函数?A: 使用 TfrReport.OnUserFunction 事件. 这里有一个简单

MKing's Blog 2465

FastReport问题集 选自Delphi园地 http://www.delphifans.com/InfoView/Article_401.html

---------------- 使用自定义函数 ----------------------------------------Q: 我怎样添加我的自定义函数?A: 使用 TfrReport.OnUserFunction 事件. 这里有一个简单的例子:procedure TForm1.frReport1UserFunction(const Name: String;p1, p2, p3: Var

BennyMavis的专栏 4405

FastReport问题整理(技巧)

FastReport问题整理 部分来自网上,部分来自网友,部分来自Demo 如果有新的内容,会不断更新.. 更新历史: 2009-02-27 加入套打方案全攻略(原:jinzhili博客) 2009-03-03 FastReport打印CxGrid数据 =========================================================...

weixin_30881367的博客 857

FastReport的使用方法

以下是我在网上收集的     这是FastReport的主控件。它包含了调入、保存、预览和打印报表的方法。每个TfrReport控件只能包含一个单独报表。 TfrReport属性描   述DataSet-联接到一个TfrxxxDataSet。这个数据源的记录数定义需多少时间这个报表才能被构建和打印。(参考:ReportType属性)GrayedButtonsFalse如果为True,设...

weixin_33735077的博客 360

报表fastreport

本节主要讲述FastReport报表系统的基本概念、基本操作方法、基本控件使用等内容。 基本概念 最主要的概念是FastReport报表的组成方式和控件主要用途,它一般包括以下方面:  *页面(Page) --- 默认为Page1     与我们现实中使用的纸张相似。但它不仅仅指的是一张纸,而是用于我们设计报表的容器。打印出来可以是一张纸也可以是多张。页面(Page)可以有多个(你

小傅同志的专栏 7087

FastReport.Net中使用列表和数组作为报表数据源

大多数现代报告工具允许您使用几乎任何数据库,然而,并不是所有报表工具都能以一个数据源的列表或数组来工作。本文中将展示如何使用FastReport .Net报表工具来实现。 请注意以下重要几点: 清单中的对象字段应该被描述为在报表中可见的公共属性;除列表外你可以从任何IEnumerable集中提交你的报表数据;在报表中转移LINQ查询结果你需要使用ToArray方法转换列表。 创建

Pokemogo的博客 2445

FASTREPORT的使用方法

A: 当然. 选择页 (在空白处单击) ,然后在对象浏览器中选择 "OnBeforePrint" 属性。---------------- 脚本 (FastReport Pascal) ------------------------------------------------- 其它问题 ------------------------------------------------------------ 使用变量 -------------------------------------

男神的专栏 2018

FastReport自整理技巧

[FORMATDATETIME(‘mm-dd‘, [IBqryShipDate."CLOSEDATE"])][FORMATDATETIME(‘mm/dd/yy‘, [IbqryOrderForm."ORDERDATE"])]金额总计:[FORMATFLOAT(‘#########0.00‘, [TotalAmount])]订单数量:[COUNT(band1)]数量合计:[SUM([IBqryShi

Johnny的专栏 1788
上一篇: sql server数据库中raiserror函数的用法
下一篇: SqlServer 递归查询树形数据
aowo7144
博客等级 码龄10年 5粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值