fastreport使用自定义函数 报表中函数不起作用 高手来看看(100分)

  • 主题发起人 主题发起人 oldfrog7792388
  • 开始时间 开始时间
O

oldfrog7792388

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用fastreport的自定义函数 在报表中调用我的函数却是空 各位看看
function StrTran(const S, s1, s2: string): string;
begin
Result := StringReplace(S, s1, s2, [rfReplaceAll]);
end;
function TForm1.MoneyConvert(mmje: real): string;
var
S, dx: string;
i, Len: Integer;
begin
if mmje < 0 then
begin
dx := '负';
mmje := -mmje;
end;
S := Format('%.0f', [mmje * 100]);
Len := Length(S);
for i := 1 to Lendo
dx := dx + Copy(s1, (Ord(S) - Ord('0')) * 2 + 1, 2) + Copy(s2, (Len - i)* 2 + 1, 2);
dx := StrTran(StrTran(StrTran(StrTran(StrTran(dx, '零仟', '零'), '零佰','零'),'零拾', '零'), '零角', '零'), '零分', '整');
dx := StrTran(StrTran(StrTran(StrTran(StrTran(dx, '零零', '零'), '零零','零'),'零亿', '亿'), '零万', '万'), '零元', '元');
if dx = '整' then
Result := '零元整'
else
Result := StrTran(StrTran(dx, '亿万', '亿零'), '零整', '整');
end;

function TForm1.frxReport1UserFunction(const MethodName: String;
var Params: Variant): Variant;
begin
if MethodName='MoneyConvert' then
Result:=MoneyConvert(Params[0]) ;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
frxReport1.AddFunction('function MoneyConvert(mmje:real): string;');
frxReport1.ShowReport();
end;

我在报表中memo1的内容是[moneyconvert(500.00)]
 

Similar threads

I
回复
0
查看
687
import
I
I
回复
0
查看
503
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部