fastreport3.0人民币大写问题。 ( 积分: 100 )

  • 主题发起人 主题发起人 xbrave
  • 开始时间 开始时间
X

xbrave

Unregistered / Unconfirmed
GUEST, unregistred user!
分类打印,SysMemo1是根据记录合计的金额,Memo1是要把SysMemo1的合计金额显示为大写,大写转换函数写在Form1上了,函数为SmalltoBig。请朋友帮个忙,我搞了好多天了。搜索一下,都是以前版本的,而且也没有明确答案。
 
分类打印,SysMemo1是根据记录合计的金额,Memo1是要把SysMemo1的合计金额显示为大写,大写转换函数写在Form1上了,函数为SmalltoBig。请朋友帮个忙,我搞了好多天了。搜索一下,都是以前版本的,而且也没有明确答案。
 
把函数写到报表脚本里即可。一样调用的。
 
a_ming:朋友又把整个过程详细叙述一下吗。我没有写过脚本。
 
我有一个FASTREPORT 3。0,以前是一个高手给我的,它里面包含好多转换函数,当然了你也重新编辑,不知道怎么给你,416829385这是我的QQ!
 
在FastReport可以自己定义函数, 在OnUserFunction事件中,P1,p2,p3 是参数,所以也就是最多支持3个参数,Name是函数名字,这个是一个标志,你根据这个来寻找你在Delphi中定义的那个对应的函数, Val 是返回值
procedure TForm1.frReport1UserFunction(const Name: String;
p1, p2,
p3: Variant;
var Val: Variant);
var
a: string;
b:do
uble;
begin
if Name = 'SmalltoBig'then
begin
a := frparser.Calc(p1);
Val := SmalltoBig(a);
end;
end;
 
很简单,在frReport.LoadFromFile(sFileName)之后,写:
frReport.FindObject('Memo1').Memo.Text :=
Form1.SmalltoBig(frReport.FindObject('SysMemo1').Memo.Text);
 
收藏,关注 ~ ~ ~ ~
 
支持JohnSun2002的想法,对于脚本不熟的人很好用,把金额转成字符串后分解再用JohnSun2002的方法
 
非常感谢朋友的帮忙。TO:angel_83,我的邮箱是:xbrave@126.com,你可以发到我的邮箱,多谢。ToJohnsun2002和Chenybin两位朋友,我用的是Frp3.0,你们的方法是以前的版本,在3.0以后的不知怎么写法。
 
angel_83:我加不了你的QQ,你关上门了吧。加我吧29580920
 
var
memo:Tfrxmemoview;
begin
memo:=Tfrxmemoview(frxReport1.FindComponent('Memo1'));
memo.Text:=SmalltoBig;//SmalltoBig是你写的转换函数返回值为字符型
end;
 
谢谢上面朋友。
 
后退
顶部