|
|
自定义函数
只有页面才可以自定义函数,在集成开发环境下,在页面空白处单击鼠标左键后(表示对当前页面进行操作),选择菜单“程序/添加新函数”,打开如下的函数定义对话盒:

函数、参数的命名规则见名字命名法。这里,参数也可以不填。上面对话盒里面最多只允许输入5个参数,但是实际上可以支持更多个参数,只不过必须直接编辑修改源文件了。
参数的类型取决于调用者传来的值的类型,没有显式的定义,如下面的函数:
Private function Display( s )
ShowMessage( s )
End function
调用这个函数的正确方法是:Display( “Hello” ),因为ShowMessage函数的参数要求必须是字符串,因此,如果参数s不是字符串,程序就会报错。
函数的返回值不定,取决于是否使用Return语句,和怎样使用,如下面的函数:
Private function GetString()
Return "Hello"
End Function
那么当调用h = GetString()时,得到的h就是字符串。
如果没有Return语句,那么,函数就没有返回值。
函数类型分为三类:私有函数、公有函数、引出函数。
一、私有函数
私有函数只能被该页面内的程序访问,而不能被其他任何程序访问。
例如下面一段私有函数,它只能在当前页面内被其他函数访问:
private function SetStatus(n)
u=Circle1.Left
x=Width/2
y=Parent.Name
……
end function
在这段程序中,Circle1表示页面上的圆形,当该页面被当作元件插入其他页面时,Width、Parent分别指的是元件的宽度和所在的页面。
二、公有函数
公有函数能被任何程序访问,只要该页面本身能被其他程序访问即可。
例如,在页面上有一个元件A,A有一个公有函数SetState,而在页面的OnClick事件中写:
private function OnClick(Sender)
A.SetState(0)
end function
在运行时,单击页面,调用元件A的公有函数SetState。如果SetState是元件A的私有函数,则这样的调用将失败。
三、引出函数
引出函数通常指事件处理程序,例如所有图形单元都有的OnClick、OnDblClick、OnEnter、OnExit事件等就是引出函数,但只有页面才可以自定义引出函数。
引出函数能被任何程序访问,只要该页面本身能被其他程序访问即可,和公有函数不同,引出函数的作用域是当该页面作为元件使用时,所在的页面。
例如,在页面S上有一个文字单元Text1,还有一个元件A,元件A有下面一段引出函数:
published function OnClick(Sender)
x=Text1.Width/2
……
end function
在这段程序中,Text1指的是元件A所在的页面S中名为Text1的那个文字单元,而不是元件中的名为Text1的单元。
在上面这个引出函数里,不能访问元件A的全局变量和私有函数,却能访问页面S的全局变量和私有函数。
@2004-2007 北京图王Visual Graph.版权所有. |