News And Information
-技术与支持-
微信公众号-关注紫金桥
了解软件最新资讯
当前位置:首页 >> 技术与支持 >> 常见问题
销售热线:
400-678-6601
售后热线:
13304891586
0459-8151391
0459-8151518
如何自定义函数 
如何自定义函数 
  自定义函数
  紫金桥支持用户自定义函数,您可以把一些公共的、通用的算法或操作定义成自定义函数,然后在脚本中引用,以使脚本简洁,并且易于维护。自定义函数根据作用域不同,可以分成画面自定义函数和数据库自定义函数。
  数据库自定义函数中只能使用数据库中的变量和数据库支持的函数,不能使用画面中的全局量、间接变量等。而画面自定义函数可以使用所用变量。
  函数定义
  每个函数都有唯一的名称和相应的调用参数,以及参数的传递方式,和参数的限制。这些定义是通过函数定义框的形式给出的。画面自定义函数定义框由从导航树的"画面/自定义/函数"进入,而数据库自定义函数定义框由导航树的"数据库/自定义/函数"进入。
参数类型

  支持的参数类型有:实型、整型、字符型。
参数传递方式:

  参数的传递方式,可以是传值方式或传地址方式。在传值方式中,调用该函数时,系统生成一个临时变量记录当前参数的数值,同时在函数中调用该参数时实际调用的是该临时变量,也就是说,如果在函数中改变该参数的数值将不会对传入参数起作用,在函数调用返回后查看参数的数值还是其调用前的值。在传地址方式中,调用该函数时,参数把其自身的地址传入,在函数体内对该参数的操作相当于对调用参数的操作,调用返回后,函数体内改变的数值生效。如一个自定义函数Test有一参数X1,X1在调用前其数值为100,如果自定义函数返回前有语句:"X1= 20;",如果是传值方式,则调用结束后X1的数值是100,保持原来的数值不变,如果是传地址方式,则函数的值是20,在函数体内改变参数的值会对参数本身起作用。如果是传值方式,可以使用数值或变量作为参数,例如参数"20"等,而传地址方式必须传入变量。
 
单击编辑代码按钮,进入函数体定义对话框:
  上面示例定义了函数Max3带有三个浮点类型参数,传递方式都是传值,执行体为求三个参数的最大值。
  注意事项
  1)在函数体内部,尽量不要使用全局变量、数据库变量,以便增强函数的通用性。
  2)定义临时变量来保存中间结果,而不要在外部增加不必要的变量。
  3)如果函数参数不需要带回结果,则应该使用传值方式,以避免副作用。
  临时变量定义
  临时变量不需要在变量定义中定义,在脚本中直接声名即可,临时变量分为整型量、实型量、和字符串三种。说明方法如下:
  类型符号 变量名[=初值];
  可以连续说明多个变量,变量间以“,”号分隔,临时量不能重名,但是可以与其他类别变量重名,脚本中若定义的临时量与其他类别量重名,则脚本中出现的重名变量将被当作临时量,建议不要将临时量与其他类别量重名。
  类型符号:int(整型);real(实型);string(字符串)
  变量赋初值:如果不对变量赋初值,数值型量初值为0;字符串量为空。
  示例:
  int a;
  声明整型量a,缺省值为0;
  int a = 1;
  声明整型量a,初值为1;
  int a1,a2,a3;
  声明整型量a1,a2,a3,缺省值均为0;
  real r1 = 1.0,r2 = 2.0;
  声明实型量r1,r2,r3,缺省值均为0;
  string name;
  声明字符型量name,缺省值为"";
  string name = "Li Ming";
  声明字符型量name,初值为"Li Ming";
  习题
  编写交换两个变量内容的函数。