| 域名空间 下载中心 社区论坛 信息公告 MY小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
VB编程步步高-代码效率篇http://www.iyit.net 日期:2006-5-22 17:08:30 来源:网络转载 点击: |
如果你想知道一个对象是否是特殊的类型,请编写下面的代码: 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的判断后,就只接受你自己的程序的事件动作了! 让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 something case "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 IsLegal case 3 注释: the string was valid call goodstuff case 19 注释:the string was valid call goodstuff case else 注释:invalid call nogood end select 呵呵,有时候,将字符进行数字化,能起到意想不到的好效果! 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:VB编程步步高-杂类篇 下一篇:Hierarchical FlexGrid 控件的使用 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 最新更新 | 热点排行 | 推荐新闻 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||