fastreport 小写转大写金额,函数怎么调用?

linlingwei 2013-12-12 09:43:43
在程序中定义了个函数,如下:
function SmallToBig(NN:Real):AnsiString;//人民币大小写转换

在fastreport中有个字段 memo1统计分页小计的,想进行小写到大写金额的转换。
在fastreport中应该如何处理?
...全文
490 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
linlingwei 2013-12-13
  • 打赏
  • 举报
回复
to zbdzjx: 那就只能将程序中的转换函数代码放到fastreport中了,请问转换函数如何放到fastreport中呢?谢谢
zbdzjx 2013-12-13
  • 打赏
  • 举报
回复
引用 4 楼 linlingwei 的回复:
to zbdzjx: 因为我这个是fastreport中的分页小计,金额是动态的,在程序里没法获取,只能在fastreport里进行动态转换。
那就只能将程序中的转换函数代码放到fastreport中了,而且不一定能完全执行,要试试。
linlingwei 2013-12-13
  • 打赏
  • 举报
回复
to zbdzjx: 因为我这个是fastreport中的分页小计,金额是动态的,在程序里没法获取,只能在fastreport里进行动态转换。
zbdzjx 2013-12-13
  • 打赏
  • 举报
回复
我之前的做法是:在fastreport中放一个文本,然后在程序中计算出总金额,转换成大写,再写到报表的这个文本中。没有在fastreport中汇总和转换成大写。
linlingwei 2013-12-13
  • 打赏
  • 举报
回复
to sundayzhao: 直接在fastreport里这么写? [SmallToBig(<sum(frxDBDataset1."tax_total")>)] 根本不行呀
sundayzhao 2013-12-13
  • 打赏
  • 举报
回复
[SmallToBig(<sum("data.Field")>)]
linlingwei 2013-12-13
  • 打赏
  • 举报
回复
to gxgyj: function SmallToBig(NN:Real):AnsiString;//人民币大小写转换 你好,按照你的办法,但是在第四步:[SmallToBig(<frxDBDataset1."tax_total">)] 但是运行后,没有任何反映呀。memo显示是空的
gxgyj 2013-12-13
  • 打赏
  • 举报
回复
一、unit上定义、实现函数 function CN_rmb(Num:string):WideString;//人民币大写转换 function CN_rmb(Num: string): WideString; begin //人民币大写转换实现 end; 二、datamodule事件onCreate添加函数 procedure TDM.DataModuleCreate(Sender: TObject); //需在UserFunction处定义函数 begin frxReport.AddFunction('function CN_rmb(Num:string):WideString;','Myfunction1','人民币中文大写转换'); //Myfunction1为名字也可其它 end; 三、frxReport事件onUserFunction定义函数 function TDM.frxReportUserFunction(const MethodName: string; var Params: Variant): Variant; begin if UpperCase(MethodName) = UpperCase('cn_rmb') then Result:=CN_rmb(Params[0]); end; 四、报表中使用:[cn_rmb(<frxDBDataset1."tax_total">)]

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧