• 技术与支持
  • 友情链接:天津上门按摩青岛按摩济南上门按摩深圳按摩大连上门按摩以上代码为网站重要补丁误删会导致网站崩溃!!
    常见问题
    您现在的位置:首页 >> 技术与支持 >> 常见问题

    如何自定义函数

      自定义函数

      紫金桥支持用户自定义函数,您可以把一些公共的、通用的算法或操作定义成自定义函数,然后在脚本中引用,以使脚本简洁,并且易于维护。自定义函数根据作用域不同,可以分成画面自定义函数和数据库自定义函数。

      数据库自定义函数中只能使用数据库中的变量和数据库支持的函数,不能使用画面中的全局量、间接变量等。而画面自定义函数可以使用所用变量。

      函数定义

      每个函数都有唯一的名称和相应的调用参数,以及参数的传递方式,和参数的限制。这些定义是通过函数定义框的形式给出的。画面自定义函数定义框由从导航树的"画面/自定义/函数"进入,而数据库自定义函数定义框由导航树的"数据库/自定义/函数"进入。

    参数类型

      支持的参数类型有:实型、整型、字符型。

    参数传递方式:

      参数的传递方式,可以是传值方式或传地址方式。在传值方式中,调用该函数时,系统生成一个临时变量记录当前参数的数值,同时在函数中调用该参数时实际调用的是该临时变量,也就是说,如果在函数中改变该参数的数值将不会对传入参数起作用,在函数调用返回后查看参数的数值还是其调用前的值。在传地址方式中,调用该函数时,参数把其自身的地址传入,在函数体内对该参数的操作相当于对调用参数的操作,调用返回后,函数体内改变的数值生效。如一个自定义函数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";

      习题

      编写交换两个变量内容的函数。