你的位置:创意公社- ideaer >> >> 程序开发 >> 详细内容 在线投稿

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

排行榜 打印 发给朋友 举报 发布者:dx7654
热度419票  浏览110次 【共0条评论】【我要评论 时间:2010年7月27日 15:15
创意公社- ideaer7@&]-r(jG(q"E

创建新过程创意公社- ideaer8Ji'g R%f3df
要创建新的通用过程,请
.s0~~_k|0s `!}&^,Lf1在“代码”窗口输入过程头并按下回车键。过程头以 sub 或 function 打头,再接一个名字。例如,可以用以下任一方式输入:
8S8PNy_1I j%N!z/I3D1sub updateform ()创意公社- ideaer\|;v f6z zaf
function getcoord ()创意公社- ideaerU*F&V[uG L
通过完成新过程的模板, visual basic 作出反应。 创意公社- ideaerVuKn.`8?
选择现有过程
qY;q7Cf+[ XD1要在当前模块中查看过程,请 创意公社- ideaer y(i? id-jk r8}
为了查看现有通用过程,在“代码”窗口的“对象框”中选择“通用”,然后在“过程框”中选择过程。 创意公社- ideaer&O9A:Zw3RB
-或者-
{.z;cN$?ZR1为查看事件过程,在“代码”窗口的“对象框”中选择适当的对象,然后在“过程框”中选择事件。
|y:LLY@;yu1要查看其它模块中的过程,请
7]I'['lM"~ I g1在“视图”菜单中选取“对象浏览器”。创意公社- ideaer&K1c#Y#v_S*X0T)xI

zk A%t8A1在“工程/库”框中选择工程。创意公社- ideaerN0B;@k,kE*e E3?

$q)pvSZ\-e1在“类/模块”列表中选择模块,并在“成员”列表中选择过程。
1|0|2{rW8]9xA hP&U1
c4bhyd9E1选取“查看定义”。
fd)l,['f Q1调用过程创意公社- ideaer%Q@ n}&x vqm o
调用过程有诸多技巧,它们与过程的类型、位置以及在应用程序中的使用方式有关。下面的章节说明如何调用 sub 过程和 function 过程。
} J"E+Wk:Ek1调用 sub 过程
;} {e3N(c(B1与 sub 过程不同,在表达式中,sub 过程不能用其名字调用。调用 sub 过程的是一个独立的语句。sub 过程还有一点与函数不一样,它不会用名字返回一个值。但是,与 function过程一样,sub 过程也可以修改传递给它们的任何变量的值。
f y2M"o[1调用 sub 过程有两种方法:
gu,{(fY1‘以下两个语句都调用了名为 myproc 的 sub 过程。
#NRM] P$b(i D3Y1call myproc (firstargument, secondargument)
4l+hR0@)b2Y5k1myproc firstargument, secondargument
| YG7Ey |&|'TX1注意,当使用 call 语法时,参数必须在括号内。若省略 call 关键字,则也必须省略参数两边的括号。
Oz L)vc'M*x2R9R1调用函数过程创意公社- ideaer2B0]l$W-m
通常,调用自行编写的函数过程的方法和调用 visual basic 内部函数过程(例如 abs)的方法一样;即在表达式中写上它的名字。创意公社- ideaer N,C jnf OU
’下面的语句都调用函数 todec。创意公社- ideaer\"O.fly)n:E3K
print 10 * todec
c_*H-qM%q1x = todec创意公社- ideaer7piM^QpJ
if todec = 10 then debug.print “out of range”创意公社- ideaer\yl4L,Rg
x = anotherfunction ( 10 * todec)
Q/qW#BO|4^1就像调用 sub 过程那样,也能调用函数。下面的语句都调用同一个函数:
q,D:l-Lzz/a1call year (now)
8K4^d&@#Bu1year now创意公社- ideaer8L C*v[ ]g`}
当用这种方法调用函数时,visual basic 放弃返回值。创意公社- ideaert^#L/Z wZW:x s(?
调用其它模块中的过程
r$JJ(H4m z0y:@1在工程中的任何地方都能调用其它模块中的公用过程。可能需要指定这样的模块,它包含正在调用的过程。调用其它模块中的过程的各种技巧,取决于该过程是在窗体模块中、类模块中还是标准模块中。
|wq2H)X1窗体中的过程
.b;O2E:a2e;V8m1所有窗体模块的外部调用必须指向包含此过程的窗体模块。如果在窗体模块 form1 中包含 somesub 过程,则可使用下面的语句调用 form1 中的过程:
a,CzIx B*N l*h|1call form1.somesub(arguments)创意公社- ideaer3?,HFb4Z
类模块中的过程创意公社- ideaer#V6b[0}:zBWEV%AR
与窗体中调用过程类似,在类模块中调用过程要调用与过程一致并且指向类实例的变量。例如,democlass 是类 class1 的实例:创意公社- ideaer;X c7O/T7@
dim democlass as new class1创意公社- ideaer:J8KFc'`B1h|yh/`
democlass.somesub创意公社- ideaerF8n#oT#s_ XrQs
但是不同于窗体的是,在引用一个类的实例时,不能用类名作限定符。必须首先声明类的实例为对象变量(在这个例子中是 democlass )并用变量名引用它。
-R}5b R"] P6BlT1详细信息 可在“用对象编程”中找到关于对象变量和类模块的详细信息。创意公社- ideaer$Yf,j k0g Zosm
标准模块中的过程
Po(Gz6u9J`6P1如果过程名是唯一的,则不必在调用时加模块名。无论是在模块内,还是在模块外调用,结果总会引用这个唯一过程。如果过程仅出现在一个地方,这个过程就是唯一的。
cki,{pc8~,u"a[1如果两个以上的模块都包含同名的过程,那就有必要用模块名来限定了。在同一模块内调用一个公共过程就会运行该模块内的过程。例如,对于 module1 和 module2 中名为 commonname 的过程,从 module2 中调用 commonname 则运行 module2 中的 commonname 过程,而不是 module1 中的 commonname 过程。
2e NaIFW1从其它模块调用公共过程名时必须指定那个模块。例如,若在 module1 中调用 module2 中的 commonname 过程,要用下面的语句:创意公社- ideaersp ]9r B T
module2.commonname (arguments)创意公社- ideaer P}md3_+`3Fk1p

顶:16 踩:40
对本文中的事件或人物打分:
当前平均分:-1.55 (157次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.56 (94次打分)
【已经有112人表态】
38票
感动
14票
路过
6票
高兴
8票
难过
12票
搞笑
12票
愤怒
9票
无聊
13票
同情
上一篇 下一篇
发表评论
换一张

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有0位网友发表了看法】