Welcome

首页 / 软件开发 / VB / VB编程步步高-代码效率篇

VB编程步步高-代码效率篇2010-01-15了解对象的类型

如果你想知道一个对象是否是特殊的类型,请编写下面的代码:

If TypeOf obj Is ListItem Then ...

如果想得到对象类型的名字,使用:

MsgBox "The item is a " & TypeName(obj)

控制长时间的循环

当程序陷入一个很长时间的循环中时,你就不可能点击任何一个命令按钮或者按键。这样对于用户来说,就很不好控制。或许用户不想再执行循环,通过点击Cancel按钮退出呢?怎么解决这个问题?答案是:使用DoEvents命令!就是说,在循环的开始执行DoEvents命令,就象下面的代码一样:

Dim i As Long
For i = 1 To 1000000
DoEvents
...
Next i

实际上,DoEvents命令并不需要放置在第1行,将它放在循环中的任何地方都可以。这样做后,程序的其他部分,比如一个结束循环的命令按钮,就又机会接受点击事件了。

使长循环运行更快

我发现,一般情况下,使用API函数GetInputState来检查程序输入队列的数值是较好的。我不知道为什么If语句提高了代码运行速度,但实际上确实是工作得很好。

因此,可以将下面的代码行

DoEvents

替换为

If GetInputState() Then DoEvents

试一试吧!

其实,这里面的原因在于:DoEvents语句允许任何应用程序执行相关事件,而不仅仅是你自己的程序。加入了GetInputState的判断后,就只接受你自己的程序的事件动作了!