有关FastReport中的自定义函数,请指教。 (各位行行好。救救我吧) (20分)

  • 主题发起人 风雨燕归来
  • 开始时间
不是很认真看,楼主的意思可能是 function TGzb.Currency(rmb:real):string;
函数在 Delphi 中运行正常,在 FastReport中运行不正常。
我的意思是说 function TGzb.Currency(rmb:real):string;
函数本身就有错误。不信你可以在 Delphi 下试试:
caption:=Currency(1002.34);
不知我理解的对不对?
 
注意:***************************************
楼主的意思是如何在FastReport中使用自定义函数
来转化货币到中文表达
普通的转化是很容易,
其实楼主应该问,怎么使用FastReport的自定义函数
 
我把自己写的一个货币大写的函数加入到了FastReport的自定义函数库
这样,你可以在设计时预览中,就可以使用这个函数了
函数的名字: SMALLTOBIG 或者 CURRENCYTOHZ 都可以
有一个参数,字符串型,或者整型,或者浮点型
注意,如果为整型,单位为分
其它类型,单位为元
邮件已发给你,请查收
调用自定义函数的方法如下:
procedure TForm1.frReport1UserFunction(const Name: string;
p1, p2,
p3: Variant;
var Val: Variant);
var
y, m, d: Word;
begin
if AnsiCompareText(Name, 'StartOfMonth') = 0 then
begin
m := frParser.Calc(p1);
y := frParser.Calc(p2);
Val := DayOfWeek(EncodeDate(y, m, 1));
end;
if AnsiCompareText(Name, 'DaysInMonth') = 0 then
begin
m := frParser.Calc(p1);
y := frParser.Calc(p2);
Val := DaysPerMonth(y, m);
end;
if AnsiCompareText(Name, 'DayColor') = 0 then
begin
d := frParser.Calc(p1);
m := frParser.Calc(p2);
y := frParser.Calc(p3);
Val := YourColorFunction(EncodeDate(y, m, d));
end;
end;
 
多人接受答案了。
 
顶部