PD虚拟机     VPS     Win11     微软     苹果     SetApp     Office     精选

VB编程基础教程12-使用过程

 编程开发   2005-02-25
0 下载

创建新过程
要创建新的通用过程,请
在“代码”窗口输入过程头并按下回车键。过程头以 sub 或 function 打头,再接一个名字。例如,可以用以下任一方式输入:
sub updateform ()
function getcoord ()
通过完成新过程的模板, visual basic 作出反应。
选择现有过程
要在当前模块中查看过程,请
为了查看现有通用过程,在“代码”窗口的“对象框”中选择“通用”,然后在“过程框”中选择过程。
-或者-
为查看事件过程,在“代码”窗口的“对象框”中选择适当的对象,然后在“过程框”中选择事件。
要查看其它模块中的过程,请
在“视图”菜单中选取“对象浏览器”。

在“工程/库”框中选择工程。

在“类/模块”列表中选择模块,并在“成员”列表中选择过程。

选取“查看定义”。
调用过程
调用过程有诸多技巧,它们与过程的类型、位置以及在应用程序中的使用方式有关。下面的章节说明如何调用 sub 过程和 function 过程。
调用 sub 过程
与 sub 过程不同,在表达式中,sub 过程不能用其名字调用。调用 sub 过程的是一个独立的语句。sub 过程还有一点与函数不一样,它不会用名字返回一个值。但是,与 function过程一样,sub 过程也可以修改传递给它们的任何变量的值。
调用 sub 过程有两种方法:
‘以下两个语句都调用了名为 myproc 的 sub 过程。
call myproc (firstargument, secondargument)
myproc firstargument, secondargument
注意,当使用 call 语法时,参数必须在括号内。若省略 call 关键字,则也必须省略参数两边的括号。
调用函数过程
通常,调用自行编写的函数过程的方法和调用 visual basic 内部函数过程(例如 abs)的方法一样;即在表达式中写上它的名字。
’下面的语句都调用函数 todec。
print 10 * todec
x = todec
if todec = 10 then debug.print "out of range"
x = anotherfunction ( 10 * todec)
就像调用 sub 过程那样,也能调用函数。下面的语句都调用同一个函数:
call year (now)
year now
当用这种方法调用函数时,visual basic 放弃返回值。
调用其它模块中的过程
在工程中的任何地方都能调用其它模块中的公用过程。可能需要指定这样的模块,它包含正在调用的过程。调用其它模块中的过程的各种技巧,取决于该过程是在窗体模块中、类模块中还是标准模块中。
窗体中的过程
所有窗体模块的外部调用必须指向包含此过程的窗体模块。如果在窗体模块 form1 中包含 somesub 过程,则可使用下面的语句调用 form1 中的过程:
call form1.somesub(arguments)
类模块中的过程
与窗体中调用过程类似,在类模块中调用过程要调用与过程一致并且指向类实例的变量。例如,democlass 是类 class1 的实例:
dim democlass as new class1
democlass.somesub
但是不同于窗体的是,在引用一个类的实例时,不能用类名作限定符。必须首先声明类的实例为对象变量(在这个例子中是 democlass )并用变量名引用它。
详细信息 可在“用对象编程”中找到关于对象变量和类模块的详细信息。
标准模块中的过程
如果过程名是唯一的,则不必在调用时加模块名。无论是在模块内,还是在模块外调用,结果总会引用这个唯一过程。如果过程仅出现在一个地方,这个过程就是唯一的。
如果两个以上的模块都包含同名的过程,那就有必要用模块名来限定了。在同一模块内调用一个公共过程就会运行该模块内的过程。例如,对于 module1 和 module2 中名为 commonname 的过程,从 module2 中调用 commonname 则运行 module2 中的 commonname 过程,而不是 module1 中的 commonname 过程。
从其它模块调用公共过程名时必须指定那个模块。例如,若在 module1 中调用 module2 中的 commonname 过程,要用下面的语句:
module2.commonname (arguments)

/ 关注 “异次元软件世界” 微信公众号,获取最新软件推送 /

赞赏异次元


请通过支付宝、微信 APP 扫一扫,海外读者可「使用 PayPal 赞赏

“ 感谢您对异次元网站的支持! ”