VB编程步步高-代码效率篇

2016-02-19 16:51 2 1 收藏

今天给大家分享的是由图老师小编精心为您推荐的VB编程步步高-代码效率篇,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!

【 tulaoshi.com - 编程语言 】

  了解对象的类型

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

  If TypeOf obj Is ListItem Then ...

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

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

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  控制长时间的循环

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

  

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

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

  使长循环运行更快

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

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

  DoEvents

  替换为

  If GetInputState() Then DoEvents

  试一试吧!

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

  让Select Case更简单

  让我们看看下面的例子:通过用户点击不同组合的标签,建立一个字符串:

  

lbl(0) = "Hello "  lbl(1) = " I注释:m "  lbl(2) = " Happy"  lbl(3) = " Sad"  ...  sub lbl_click (index as integer)string$ = string$+lbl(index).caption

  然后,你就必须要编写一系列的select case语句来分析这个字符串 ...

  

  select case string$case "Hello I注释:m Happy"  do somethingcase "Hello I注释:m"  this would be an error...case else  do something else  end select

  可以看出,这将非常得复杂,特别是又许多标签而且需要合并操作的合法检查时。

  为了解决这个难题,我创建了一个数组,它与标签的数目等长:

  arraylbl(n) as integer

  数组起始数值为1,然后每个项目的值等于前一个的值乘以2(value*2),就象这样:1 2 4 8 16 32 64 ... 这样,每一对标签的组合都会又一个唯一的数值

  lbl(0) + lbl(1) = 1 + 2 = 3

  lbl(0) + lbl(1) + lbl(4) = 1 + 2 + 16 = 19

  现在,当点击一个标签时,将它对应的lblarray()数值添加进变量中。这样,基于几个数字,就可以简单地编写select case语句了:

  

select case IsLegalcase 3  注释: the string was valid  call goodstuffcase 19  注释:the string was valid  call goodstuffcase else  注释:invalid  call nogood  end select

  呵呵,有时候,将字符进行数字化,能起到意想不到的好效果!

来源:https://www.tulaoshi.com/n/20160219/1613366.html

延伸阅读
标签: 手机
屏幕尺寸不同 vivo x9采用的是5.5英寸小屏幕,而vivo x5 Plus采用了5.88英寸寸大屏,两者基于不同大小的屏幕定位,能够更好的满足小屏与大屏用户需求。 相同的部分则为,vivo x9与Plus屏幕分辨率都是1080P全高清级别,均为AMOLED屏,正面都采用了1.59mm超窄边框和2.5D弧形玻璃设计。 处理器和运行内存不同 vivo X9搭载...
四、Alpha channal 熟悉PHOTOSHOP的朋友都知道,ALPHA通道控制着图像中某一部分的透明度,在图像的某一部分设定ALPHA通道,然后在DIRECTOR中控制其透明度的变化,就可以达到去背效果并且简洁高效。其作用与MASK墨水类型相似,都是通过图像中的黑色与白色部分控制图像中某一区域的显现或隐藏。 例如下www.Tulaoshi.com面这幅图像...
    一个多媒体作品是否达到“专业级”,除了其中的技术含量外,作品的细节处理也体现出作者真功夫。一幅漂亮的图像周围却有很多“白边”“毛刺”,很煞风景。作品中的技术含量再高,也会因为这一点点的瑕疵而前功尽弃。因为我们面对的用户、同行都是标准的完美主义者,因此我们应牢记"细节里出真功夫"。     ...
标签: 番茄 年糕
虎年高升--草莓年糕 1.低筋粉过筛,加入30g砂糖;糯米粉用少量水化开; 2.草莓搅拌成泥,加入; 3.把1、2、混合,加入适量水,拌匀,成面糊(就像北方烙薄饼的稀糊糊) 4.烤盘垫上高温不沾布(必须要三能那种,否则要粘连)、刷上油,把面糊舀入烤盘,用刮板刮薄刮平,成长方形; 烤箱预热150度上下火,10-12分钟。(具体看各人烤箱温度...
二、 BkgndTrans 请按住CTRL键,单击舞台上的舵轮,从弹出的墨水类型菜单中选择BkgndTrans,此时舵轮就会呈现出如图(www.tulaoshi.com)所示的镂空效果。 但是,"白边"依旧在,另外Matte和BkgndTrans这两种墨水类型只适合于纯色背景的去除,对于如下这种杂色背景就束手无策了。 此时,我们要向您全面推荐既能去除杂...

经验教程

847

收藏

43
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部