FastReport中如何使用自定义函数
来源:网络收集 点击: 时间:2024-08-17例子:将金额转换为大写(备注:函数为网上下载)
FastReport 版本:4.13.1

1、在FastReport代码页中编写金额转换大写函数
将下面虚线内的代码复制到代码页上方
--------------------------------------------
//这里是函数
function MoneyToCharacter(Money:real):string; //数字转换为中文大写
var
temp:string;
resu:string;
i,j:integer;
len:integer;
Num:array of string;
A:array of string;
begin
Num:=零;
num:=壹;
Num:=贰;
num:=叁;
Num:=肆;
num:=伍;
Num:=陆;
num:=柒;
Num:=捌;
num:=玖;
a:=分;
a:=角;
a:=元;
a:=拾;
a:=佰;
a:=仟;
a:=万;
a:=拾;
a:=佰;
a:=仟;
a:=亿;
a:=拾;
a:=佰;
a:=仟;
temp:=trim(inttostr(round(money*100)));
len:=length(temp);
resu:=;
if (len13) or (len=0) then
begin
exit;
end;
for i:=1 to len do
begin
j:=strtoint(copy(temp,i,1));
resu:=resu+num+a;
end;
result:=resu;
end;
--------------------------------------------
3/52、在FastReport设计标签页中添加memo控件,这里的memo控件名为:memo28
然后在FastReport设计标签页选择memo28然后双击onbeforeprint事件,然后在代码页中的光标位置用代码引用自己编写的函数。引用方式如下:
----------------------------
memo28.text:=MoneyToCharacter(SUM(ADOQuery1.je,MasterData1)) ;
-----------------------------


注意事项:在设计报表页面中双击memo28的弹出窗口中引用公式是没有效果的,需要在code页面中用代码引用。

Code页的全部代码如下:
----------------------------------------
//这里是函数
function MoneyToCharacter(Money:real):string; //数字转换为中文大写
var
temp:string;
resu:string;
i,j:integer;
len:integer;
Num:array of string;
A:array of string;
begin
Num:=零;
num:=壹;
Num:=贰;
num:=叁;
Num:=肆;
num:=伍;
Num:=陆;
num:=柒;
Num:=捌;
num:=玖;
a:=分;
a:=角;
a:=元;
a:=拾;
a:=佰;
a:=仟;
a:=万;
a:=拾;
a:=佰;
a:=仟;
a:=亿;
a:=拾;
a:=佰;
a:=仟;
temp:=trim(inttostr(round(money*100)));
len:=length(temp);
resu:=;
if (len13) or (len=0) then
begin
exit;
end;
for i:=1 to len do
begin
j:=strtoint(copy(temp,i,1));
resu:=resu+num+a;
end;
result:=resu;
end;
//这里是自定义函数的引用
procedure Memo28OnBeforePrint(Sender: TfrxComponent);
begin
memo28.text:=MoneyToCharacter(SUM(ADOQuery1.je,MasterData1)) ;
end;
begin
end.
----------------------------------------
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1130506.html