FastReport中如何使用自定义函数

王朝百态·作者佚名  2016-11-23
窄屏简体版  字體: |||超大  

从新手的角度,描述fastreport自定义函数的使用

工具/原料

fastreport 版本:4.13.1

方法/步骤

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

fastreport 版本:4.13.1

2:1、在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:2、在fastreport设计标签页中添加memo控件,这里的memo控件名为:memo28

然后在fastreport设计标签页选择memo28然后双击onbeforeprint事件,然后在代码页中的光标位置用代码引用自己编写的函数。引用方式如下:

----------------------------

memo28.text:=moneytocharacter(sum(<adoquery1."je">,masterdata1)) ;

-----------------------------

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

5:

code页的全部代码如下:

----------------------------------------

//这里是函数

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;

//这里是自定义函数的引用

procedure memo28onbeforeprint(sender: tfrxcomponent);

begin

memo28.text:=moneytocharacter(sum(<adoquery1."je">,masterdata1)) ;

end;

begin

end.

----------------------------------------

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。举报

希望本文【fastreport自定义变量】FastReport中如何使用自定义函数能帮到你。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航