说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB如何去优化你的VB程序

HTML文档下载 WORD文档下载 PDF文档下载
VB如何去优化你的VB程序
作者:李志东
Visual Basic 作为一种高级编程语言,它也有着不可避免的缺点---开发出的应用程序运行速度慢。如果我们能够程序做一些优化,那么情况将会大大改善。要优化程序运行的实际速度,常用的方法有三种:

1.尽量避免使用 Variant 变量。由于VB不能确定 Variant 变量的具体类型,所以它会给该类型变量分配16个字节的空间,而且在用变量进行运算时还要考虑到数据类型的转换。这既占用内存,又影响了速度,会使涉及到复杂运算的程序慢。注意,一个变量的缺省类型就是 Variant,其它类型的变量要用Dim语句单独声明。

2.在遇到整型数据时尽量使用Long变量。因为Long变量是32位CPU的本机数据类型,所以处理速度会很快,尤其是在循环体中。

3.将控件的常用属性保存在变量中。一般控件存在于DLL或OCX这类的外部程序中。众所周知,调用DLL远比访问内存慢。所以对于那些放在循环体中的常用属性,如果将它们保存在变量中,那么速度将会有成百上千倍提升。

我们在编写程序时应注意到,在进行长时间等待操作时,可以做一些动画之类的效果,好让用户知道程序运行正常。下面是几个常用优化方法:

(1)使用 Splash 屏幕。也就是我们常见的欢迎窗口。大的应用程序在启动时,往往会主动或被动地载入一大堆DLL,这要花费很长时间。所以我们在启动时可以先显示一个简单的窗口,上面只放一些作者、版权之类的信息,在这个窗口的Form_Load事件中用Load方法读入那些最常用的窗体模块。这样,虽然实际等待的时间延长了,但用户所看到的屏幕总是变化的,所以感觉下程序启动加快了。而且由于常用窗体模块事先已载入内存,以后只需用Show方法来显示它,跳过了载入过程,在程序运行过程中也会很快的。

(2)使用Timer控件。由于Timer控件的出现,使得后台作业有了可能。我们可以在每次Timer事件中完成一小部分任务。这样,由于Timer中的事件能够在很短的时间内完成,用户一般查觉不到速度的变化。如果一定要在一个循环内完成某个任务,那么不要忘了用DoEvents来释放用户。

(3)使用进度条。要使用进度条,需要事先知道数据量,所以它很适合用于对已知数据的操作,如数据库的排序。

总之,优化程序要从自己、从用户等多方面考虑,使程序开发周期短,且高效易用。
VB如何打开和关闭光驱门 VB如何导出收藏夹到文件或者导入文件到收藏夹 VB如何得到磁盘上剩余空间的值 VB如何得到应用程序的资料! VB如何调用chm格式的帮助文件 VB如何调用控制面版中的应用程序 VB如何动态更新数据报表 VB如何改变 NT 预设的打印机? VB如何改变 Windows 预设的打印机 VB如何关闭其他程序 VB如何过滤键盘录入 VB如何获得Windows95已经运行的时间 VB如何检测左右键同时按下? VB如何检查您的电脑是否打开 ActiveDesktop? VB如何将程序建立成“启动”文件夹的捷径? VB如何将程序建立成「启动」资料夹的捷径。 VB如何结束 Shell 所启动的程序? VB如何拦截键盘输入 如何判定VB调用的一个EXE程序已经结束. VB如何判断某一个Drive是否为光碟机? VB如何清空回收站? VB如何取得汉字的区位码 VB如何去优化你的VB程序 VB如何让点阵打印机每次印出一行? VB如何设计一个可中断循环的按钮。 VB如何实现VB程序登录密码加密 VB如何使程序不出现在任务列表中 VB如何使键盘、Mouse失效(JournalPlayBack Hook) VB如何使用 DBGrid VB如何突破 TextBox 32K 的限制? VB如何为执行程序加上参数? 谁有包含开发接口的OCR软件? 求助:没有紧急修复软盘,怎样恢复win2kserver的双启菜单。 请问怎么得到DATAGRID1中记录的总条数! 转发:一粒沙子的爱情故事 公司發過年禮物了 ,哎 ,原來是一塊石英表 ,雖然是情侶表 ,卻只發一塊 ,不是一對 ,你們呢!..... ??有解密高手吗?或者哪里有这样的论坛?? 怎样用多线程显示多个form? VB串口发送大数据量时其他程序没有反应? 这句sql语句怎么写?低手请教! 数据库高手请进,报表问题!!! 请介绍VC测试内存泄漏的好工具. select number from table需要分别得到所有的值,如果做? 请问如何将下载的控件加到delphi的控件面板上?先谢谢了!!! 一个form里面如何将6个radiobottom 分成两组? 开开关关IE窗口的小程序 请各位高手介绍一下win2K,wingate,sygate这些做上网服务器各使用什么技术?NAT?SOCK5? WIN2000 PRO. 怎样才能通过 NT4+MSPROXY 上网? ASP中如何实现等待几秒再执行下一步的功能? 数据库的烦恼之二 如何在程序中播放Power Point? 散分,帮我看看主机链接是否正常 BDE数据库的问题。 win2000中怎样配置开机启动文件(如98下的Msconfig) 痛苦的人请看 http://www.csdn.net/expert/topic/425/425671.shtm (UP者有分!) 关于strlen函数 高手请进 vc中是否有函数readline(),该如何调用, 如何将我写好的.java文件编译在单片机的系统中? 下载的.rar格式的文件怎样打开 怎么是查询(select)不受更新(update)的阻塞? 请老大帮帮我啊 怎样获得WIN98系统的日期格式啊? 超级终端的传输格式 关于strlen函数的问题 请教:关于soft-ice软件的问题 谁有Exange 2000操作手册之类的东东?还有下载ftp地址和密码,谢谢!收到马上给分!急用! NetUserAdd怎么用,我下面是否用错了,结果会蓝屏,dump!!(KMODE_EXCEPTION_NOT_HANDLED) 以超级终端YModem协议传输文件时,数据包的格式 想知道到底有多少公司用到ejb,j2ee,rmi? asp:HyperLinkColumn中的DataNavigateUrlFormatString如何带多个参数? 有关DataReport的使用 我怎样通过dcom调用applationserver上的方法 请问inter c++ compiler的头文件定义问题 请问哪些行业用Powerpoint比较多? 关于处理文件的问题,请指点…… 请问有谁知道只封锁ctrl+alt+del的方法. 很适合回去好好研究!欢迎指正!! 需要帮助,针对ActiveX OCX怎么能够对其数字签名从而降低其在IE中的安全性? 高分求一条 SQL 简单语句 ! tomcat4.0.1+oracle MDI子窗口在显示时,怎么样才能不出现最大化时的拉大的过程!!! 在jframe中用setIconImage()方法设置界面的图标,怎么好像不能用.ico的文件? 一共有240千克水果糖,每袋装四分之一千克.装了总量的四分之三.已经装完了几袋 是先有鸡还是先有蛋,要理由.正经点的,不许答脑筋急转弯的答案 谁知道蚊子为什么要吸人血 什么蚊子咬人特别痒?什么蚊子咬人特别痒,咬的地方肿的有大又红,肿的和瓶盖一样,知道的一定要告诉我, 世界上先有鸡还是先有蛋,理由? 人工造蛋和土鸡蛋怎么区分? 被蚊子叮咬后为什么会红肿发痒?我要的是具体原因. 先有鸡还是先有蛋,给我道理 怎么辨别真鸡蛋和人工蛋? 是先出来的鸡还是先来的蛋 世上是先有鸡还是先有蛋 理由 饲料鸡蛋和人工蛋有什么区别? 鸡和蛋那个先出来 先有鸡还是先有蛋?说明理由. 老师把巧克力平均分给一些小朋友,平均每人分9块还剩7块.则至少有几个小朋友?(巧克力数为未知) 奶糖每斤2.8元巧克力糖每斤3.15元,买巧克力糖6斤我奶糖若干斤混合后,平均每斤3元奶糖买了几斤 蚊子,为什么要吸人血? 一盒巧克力,7块7块地数,5块5地数,3块3块地数都余下一块.这盒巧克力有多少?急 是鸡先出来还是蛋先出来 蚊子为什么要吸人血?拜托了各位 谢谢 一只蚊子一次能吸人多少血? 有一堆糖果,其中牛奶糖有180颗,巧克力占总数的3分之1,花生糖的颗数是这两种糖果总颗数的5分之1.这堆糖果一共有多少颗?()m增加它的5分之2后是35m.一个数的5分之4是8,这个数的4分之3是( ). 蚊子为什么要吸人血呢?一到夏天,蚊子就出来咬人,为什么要吸人的血呢? 把66块糖和75块巧克力平均分给一组同学,结果糖剩2块,巧克力剩3块,这个小组最多有几位同学? 食品店分装糖果,每袋装有0.25千克酥糖,装有0.15千克水果糖.当水果糖用去5.4千克时,酥糖用去多少千克? 有两包糖,每包糖内装有奶糖、水果糖和巧克力糖.已知:(1)第一包糖的粒数是第二包糖的3倍:(2)在第一包糖中,奶糖占20%,在第二包糖中,水果糖占40%; (3)巧克力糖在第一包糖所占的百 为什么蚊子要吸血?它会只是吸人血吗? 到底是鸡生蛋,还是蛋生鸡? 先出鸡 还是先出蛋 蚊子为什么要吸血? 到底是蛋生鸡,还是鸡生蛋. 鸡吃蛋怎么办 蚊子在吸过一次血后就死亡吗?人们说母蚊子吸血,那公蚊子靠什么维持生命?它若不吸血吃什么? 到底是鸡生蛋还是蛋生鸡呢? 蚊子飞入耳朵会有什么后果昨天晚上睡觉时有蚊子飞到耳朵里,能清楚听到蚊子在耳朵里的嗡嗡叫声,后来我用掏耳朵的掏,掏了之后就没反应了,可是可以确定蚊子并没被掏出来,可耳朵没任何 蚊子,苍蝇等昆虫有鼻子么,需要呼吸么? 到底是鸡生蛋还是蛋生鸡啊 蚊子飞到耳朵里面怎么办?今天下午放学回家以后(本人6年级)在洗手间洗手,突然一只蚊子,一只讨厌的蚊子!飞到我耳朵里去了,刚飞到耳边时拼命的动,我马上去挠,结果进去了,我非常担心,但 一盒巧克力,7粒一数还余4粒,5粒一数又少3粒,3粒一数正好没剩余,这盒巧克力至少有多少粒? 到底是鸡生蛋吗?还是蛋生鸡? 小虫子飞进耳朵里怎么办? 苍蝇、蚊子、蜜蜂等昆虫飞行各有什么特点? 为什么被蚊子咬后会痒?只有母蚊子咬人么? 这是什么?蚊子不像蚊子,蜘蛛不像蜘蛛, 苍蝇、蚊子和蜜蜂飞行时有什么特点? 被蚊子叮咬后为什么会痒呢? 小明有一盒巧克力糖,7粒7粒数余4个,5粒5粒数少3个,3粒3粒数正好没剩余.这盒巧克力糖有多少粒?1L的 别抄袭了 苍蝇,蚊子,蜜蜂飞行时有什么特点? 母鸡为什么会下软壳蛋? 小明有一盒巧克力糖,7粒7粒地数余4粒,5粒5粒地数余2粒,这和巧克力糖最少有几粒? 为什么果糖比葡萄糖甜,和结构有关吗 花蚊子一定就比普通蚊子咬人厉害吗?我在家发现花蚊子咬的包比普通的包大, 为什么鸡生蛋后把自己的蛋吃了 果糖属于还原性糖么?他可以与菲林试剂反映么?他不是酮糖么?怎么有人说他还可以与非林试剂反映~ 蚊子在叮咬人的时候,为什么感觉不到疼痛 脸上被虫子(可能是蚊子)咬的红点怎么快速去除?被咬后不疼不痒的 只是这小红点很久都没消退表提到钱币 我没那条件 实在不行就提吧 我不会怎么样您的 现在我都快被毁容了TAT请大家一 葡萄糖与果糖谁更甜?为什么? 咬人的蚊子气温达到多少度就不出来咬人了? 为什么蚊子喜欢吸人血? 蚊子为什么要吸人血啊?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn