我最近刚好碰到这个问题,给你简单说一下。在fastreport的事件【onbeforeprint】里面控制。\r\n手动添加要补的空行,其实就是添加回车或者换行符(#13#10)。最好添加【#13】。\r\n这样的话,就必然牵扯的一个问题,再添加空行之前,判读原来的【memo】已经存在多少行了,然后才知道应该添加多少行。这个问题我是这么解决的:在单元unit---【fr_class】中找到里面的自动换行的函数,把他自定义成自己的函数,就是说要提前判断,【memo】中有多少行。\r\n希望你能明白。\r\n\r\n祝你好运!!!
问题描述:我怎样在fastreport中添加我的自定义函数?
解决方法:使用 TfrReport.OnUserFunction 事件. 这里有一个简单的例子:
procedure TForm1.frReport1UserFunction(const Name: String;
p1, p2, p3: Variant; var val: Variant);
begin
if AnsiCompareText('SUMTOSTR', Name) = 0 then
val := My_Convertion_Routine(frParser.Calc(p1));
end;
然后,你就可以在报表(任何表达式或脚本)的任何地方使用 SumToStr 函数了。
使用TfrReport.OnUserFunction 事件. 这里有一个简单的例子:
procedureTForm1.frReport1UserFunction(const Name: String;
p1, p2, p3: Variant; var val: Variant);
begin
if AnsiCompareText('SUMTOSTR', Name) = 0 then
val :=My_Convertion_Routine(frParser.Calc(p1));
end;
然后,就可以在报表(任何表达式或脚本)的任何地方使用 SumToStr 函数了。