第四讲 用户自定义函数与结构 打印本页  
 
  上一讲我们了解了什么是PB中的用户自定义函数与结构,并且认识到有关全局函数与对象级函数,全局结构与对象级结构的问题,在这一讲中,我们要在PB中学习用户自定义函数与结构的具体内容与如何实现用户自定义函数、如何调用一个用户自定义函数以及如何完成PowerBuilder的结构。

  4.1 如何使用用户自定义函数
  打开全局函数的Function画板。
  Name:函数名
  Access:表示函数的调用级别,全局函数和对象级函数的调用级别不同。
  全局函数仅有一个访问级(即public),在应用的任何地方都可以访问;
  对象级函数有三个访问级别(即public、private和protected):
 public  可以在所属对象的任何地方调用
 private  只能在定义该函数的对象的事件中调用
 protected  能在定义该函数的对象和继承的后代对象的事件中调用
  打开对象级函数的Function画板
  定义新的函数
  Returns:选择函数返回值的类型。打开Returns下拉列表框,如图2.11所示,开发人
   员可以定义PowerBuilder的各种数据类型为函数的返回值,也可以以自定义
   的对象作为返回值;如果不需要返回值,则选择none类型。
  Arguments:在Arguments框内定义函数的参数。
  Position  参数的序号,调用函数时的顺序;
  Name  参数的名字,在函数的内部程序中调用;
  Type  参数的类型。
  另外,Pass By是参数的传递方式,如下表所示,
 Value 以值的方式传递,它传给函数的只是该值的一个拷贝;
   Reference 以引用的方式传递,当用这种方式传递参数时,函数可以改变参数的值;
   Readonly 以只读的方式传递,参数的值在函数内部不能改变。
  定义完成以后,点取OK按钮,函数编程窗口打开,就可以为函数添加程序了。
  编写函数内容。函数的编程窗口因全局函数或对象级函数的不同而不同。
  全局函数:
   上部左侧下拉框(Paste Argument)用来粘贴该函数的参数;
   上部右侧下拉框(Paste Global)用来粘贴该应用中的全局变量;
   下部窗口用来在其中编写函数处理语句。函数处理语句的编写与事件处理程序的编写方法是一样的。
  
  对象级函数:对象级函数编程窗口与全局函数编程窗口的区别在于窗口上方的粘贴框不同。
  粘贴框的说明如下表所示:
  Paste Argument   粘贴该函数的参数
  Paste Global    粘贴全局变量
  Paste Object   粘贴对象
  Paste Instance    粘贴实例变量
  用户自定义函数的调用。
  用户在定义了自己的函数后,就可进行函数调用了。用户在调用自定义函数的时候,
  一定要注意函数的引用级别。函数调用时可以直接从键盘输入,也可以利用系统提供的粘贴功能直接贴进去。

  4.2 如何完成PowerBuilder的结构