FastReport中如何使用自定义函数

2025-04-18 15:07:13

1、例子:将金额转换为大写(备注:函数为网上下载)FastReport 版本:4.13.1

FastReport中如何使用自定义函数

2、在FastReport代码页中编写金额转换大写函数将下面虚线内的代码复制到代码页上方--------------------------------------------//这里是函数function MoneyToCharacter(Money:real):string; //数字转换为中文大写var temp:string; resu:string; i,j:integer; len:integer; Num:array[0..9] of string; A:array[0..13] of string;begin Num[0]:='零'; num[1]:='壹'; Num[2]:='贰'; num[3]:='叁'; Num[4]:='肆'; num[5]:='伍'; Num[6]:='陆'; num[7]:='柒'; Num[8]:='捌'; num[9]:='玖'; a[0]:='分'; a[1]:='角'; a[2]:='元'; a[3]:='拾'; a[4]:='佰'; a[5]:='仟'; a[6]:='万'; a[7]:='拾'; a[8]:='佰'; a[9]:='仟'; a[10]:='亿'; a[11]:='拾'; a[12]:='佰'; a[13]:='仟'; temp:=trim(inttostr(round(money*100))); len:=length(temp); resu:=''; if (len>13) or (len=0) then begin exit; end; for i:=1 to len do begin j:=strtoint(copy(temp,i,1)); resu:=resu+num[j]+a[len-i]; end; result:=resu;end;--------------------------------------------

3、在FastReport设计标签页中添加memo控件,这里的memo控件名为:memo28然后在FastReport设计标签页选择memo28然后双击onbeforeprint事件,然后在代码页中的光标位置用代码引用自己编写的函数。引用方式如下:---------------------------- memo28.text:=MoneyToCharacter(SUM(<ADOQuery1."je">,MasterData1)) ;-----------------------------

FastReport中如何使用自定义函数
FastReport中如何使用自定义函数

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

FastReport中如何使用自定义函数

5、Code页的全部代码如下:-------颍骈城茇---------------------------------//这里是函数function MoneyToCharacter(Money:re锾攒揉敫al):string; //数字转换为中文大写var temp:string; resu:string; i,j:integer; len:integer; Num:array[0..9] of string; A:array[0..13] of string;begin Num[0]:='零'; num[1]:='壹'; Num[2]:='贰'; num[3]:='叁'; Num[4]:='肆'; num[5]:='伍'; Num[6]:='陆'; num[7]:='柒'; Num[8]:='捌'; num[9]:='玖'; a[0]:='分'; a[1]:='角'; a[2]:='元'; a[3]:='拾'; a[4]:='佰'; a[5]:='仟'; a[6]:='万'; a[7]:='拾'; a[8]:='佰'; a[9]:='仟'; a[10]:='亿'; a[11]:='拾'; a[12]:='佰'; a[13]:='仟'; temp:=trim(inttostr(round(money*100))); len:=length(temp); resu:=''; if (len>13) or (len=0) then begin exit; end; for i:=1 to len do begin j:=strtoint(copy(temp,i,1)); resu:=resu+num[j]+a[len-i]; end; result:=resu;end;//这里是自定义函数的引用procedure Memo28OnBeforePrint(Sender: TfrxComponent);begin memo28.text:=MoneyToCharacter(SUM(<ADOQuery1."je">,MasterData1)) ;end;beginend.----------------------------------------

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢