如何在fastreport中添加我的自定义函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在fastreport中添加我的自定义函数相关的知识,希望对你有一定的参考价值。

我最近刚好碰到这个问题,给你简单说一下。在fastreport的事件【onbeforeprint】里面控制。\r\n手动添加要补的空行,其实就是添加回车或者换行符(#13#10)。最好添加【#13】。\r\n这样的话,就必然牵扯的一个问题,再添加空行之前,判读原来的【memo】已经存在多少行了,然后才知道应该添加多少行。这个问题我是这么解决的:在单元unit---【fr_class】中找到里面的自动换行的函数,把他自定义成自己的函数,就是说要提前判断,【memo】中有多少行。\r\n希望你能明白。\r\n\r\n祝你好运!!! 参考技术A 问题描述:我怎样在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 函数了。本回答被提问者和网友采纳
参考技术B   使用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 函数了。

Hive中如何添加自定义UDF函数以及oozie中使用hive的自定义函数

直接来说操作步骤:

1. 修改.hiverc文件

在hive的conf文件夹下面,如果没有.hiverc文件,手工自己创建一个。

参照如下格式添加:

add jar /usr/local/hive/external_lib/gw-hive-udf.jar;
create temporary function myexp as com.gw.hive.udf.udtf.ExplodeEx;

第一行为自定义jar包存放的路径。

第二行为定义的funtion全类名,并且指定函数名为myexp;

2.上传jar包

将jar包上次到上面的目录中/usr/local/hive/external_lib

重启hive就可以使用。

3.oozie中安装

如果在oozie中调度hive的脚本时,需要用到该自定义包,则需要单独配置。

oozie调用时,使用到的依赖都包是保存在hdfs上的。

如果是hive通用的jar包,则放到hdfs上的oozie指定的hive目录中。

/user/oozie/share/lib/hive

 

如果属于某个程序单独用的依赖jar包,则上传到程序所在目录的lib文件夹中。

比如:/user/oozie/app/guba_loginlog/lib/,比如

然后需要使用以下命令刷新oozie的共享包。

oozie admin -sharelibupdate

在oozie调用的脚本中同样需要添加:

create temporary function myexp as com.gw.hive.udf.udtf.ExplodeEx;

 

以上是关于如何在fastreport中添加我的自定义函数的主要内容,如果未能解决你的问题,请参考以下文章

FastReport调用Delphi中的自定义函数

Winform中使用FastReport实现简单的自定义PDF导出

LayUi创建一个自定义通用模块

如何将 UIView 插座连接到自定义子视图

如何在数据表的 csv 导出选项中添加公司的自定义页眉或标题和页脚信息?

sql server 中的自定义函数应该如何调用?