W
wuque2000
Unregistered / Unconfirmed
GUEST, unregistred user!
帮助里面写了一大堆:!!!!!!!!但我怎么办呀,从哪里写这些代码啊?????????,怎么执行啊??????????????????????????我想自己加一个自定义函数啊,化数字(分钟)为时间,比如90化为时间为“01:30”,但我该怎么加啊,看不懂下面的帮助啊。 因为我的报表里多个Memo需要自定义函数的,仅仅那个onuserfunction似乎达不到要求!!!!
//////////////////////////////////////
type
TMyFunctionLibrary = class(TfrFunctionLibrary)
public
constructor Create;
override;
proceduredo
Function(FNo: Integer;
p1, p2, p3: Variant;
var val: Variant);
override;
end;
constructor TMyFunctionLibrary.Create;
begin
inherited Create;
with Listdo
begin
Add('DATETOSTR');
Add('SUMTOSTR');
end;
end;
procedure TMyFunctionLibrary.DoFunction(FNo: Integer;
p1, p2, p3: Variant;
var val: Variant);
begin
val := 0;
case FNo of
0: val := My_DateConvertion_Routine(frParser.Calc(p1));
1: val := My_SumConvertion_Routine(frParser.Calc(p1));
end;
end;
注册函数库可以调用:
frRegisterFunctionLibrary(TMyFunctionLibrary);
同样,取消注册可以用:
frUnRegisterFunctionLibrary(TMyFunctionLibrary);
问: 怎样可以把自定义函数增加到函数列表中去?
答: 用frAddFunctionDesc过程(在FR_Class单元中):
frAddFunctionDesc(FuncLib, 'SUMTOSTR', 'My functions',
'SUMTOSTR(<Number>/Converts number to its verbal presentation.');
注意: "/"符号是必需的!它标示了哪段是函数的声明部分哪段是描述部分.
FuncLib指向你的函数库(可以为nil如果你没有使用函数库的话),当函数库取消注册时,
它包含的所有函数自动从函数列表中移出。
//////////////////////////////////////
type
TMyFunctionLibrary = class(TfrFunctionLibrary)
public
constructor Create;
override;
proceduredo
Function(FNo: Integer;
p1, p2, p3: Variant;
var val: Variant);
override;
end;
constructor TMyFunctionLibrary.Create;
begin
inherited Create;
with Listdo
begin
Add('DATETOSTR');
Add('SUMTOSTR');
end;
end;
procedure TMyFunctionLibrary.DoFunction(FNo: Integer;
p1, p2, p3: Variant;
var val: Variant);
begin
val := 0;
case FNo of
0: val := My_DateConvertion_Routine(frParser.Calc(p1));
1: val := My_SumConvertion_Routine(frParser.Calc(p1));
end;
end;
注册函数库可以调用:
frRegisterFunctionLibrary(TMyFunctionLibrary);
同样,取消注册可以用:
frUnRegisterFunctionLibrary(TMyFunctionLibrary);
问: 怎样可以把自定义函数增加到函数列表中去?
答: 用frAddFunctionDesc过程(在FR_Class单元中):
frAddFunctionDesc(FuncLib, 'SUMTOSTR', 'My functions',
'SUMTOSTR(<Number>/Converts number to its verbal presentation.');
注意: "/"符号是必需的!它标示了哪段是函数的声明部分哪段是描述部分.
FuncLib指向你的函数库(可以为nil如果你没有使用函数库的话),当函数库取消注册时,
它包含的所有函数自动从函数列表中移出。