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

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)使用进度条。要使用进度条,需要事先知道数据量,所以它很适合用于对已知数据的操作,如数据库的排序。

总之,优化程序要从自己、从用户等多方面考虑,使程序开发周期短,且高效易用。
如何使你的窗口Stay on Top-Delphi资料 如何在ListView控件中绘底图-Delphi资料 如何在屏幕上移动Image图象-Delphi资料 软件中复活节彩蛋的实现-Delphi资料 实现图象局部放大的原理和方法-Delphi资料 使用Delphi实现滚动式面板窗口 通用的MsgBox-Delphi资料 图象放大镜——实现图象局部放大的原理和方法-Delphi资料 图形的特殊显示效果-Delphi资料 图形整体拉出效果-Delphi资料 一个实用的Delphi屏幕拷贝程序的设计 用Delphi 显示122种图形特效 用Delphi编写DLL实现动态改变分辨率 用Delphi进行OpenGL编程学习心得 用Delphi开发windows95屏幕保护预览程序 用Delphi实现壁纸更换 用DELPHI实现位图显示特技 用DELPHI中Canvas特性开发图形软件 用构件变换法实现动画效果-Delphi资料 在Delphi中使用动态图标 在Delphi中显示Windows图标 在多媒体文件中批量抓取图象-Delphi资料 怎样读出不同格式图形的高和宽-Delphi资料 怎样使用PageUp、PageDown滚动窗体-Delphi资料 怎样制作全透明的窗口-Delphi资料 DELPHI:FormContainer简易手册 Delphi:用FormContainer渐变效果 Delphi4的窗口融合技术 Delphi使用技巧ABC Delphi使用技巧四则 DELPHI中自适应表单的实现 如何从代码中控制报表分页 高分请求一个怪问题, 关于C#中调用API 小弟写的一个动态生成JTree的例子, 大家帮忙看看. JDK环境变量的设置,实在难懂!!!搞定立刻给分!!在线等待 请问:用C#中的“System.Web.HttpUtility.UrlEncode(string)”编码后的字符串,在JScript用什么函数能对其进行解码?(在线) 一个权限的问题!!!急!!! 这个CG提示如何解决? 邮件群发软件哪个最好? 热键然后更改 换工作了,散分!!! 大家来看看[CSDN总版主的立法和执法],就会知道为什么水园的执法者如此猖狂了 请用这则给下面这个替换字符 局域网2000系统如何设置计算机描述(50分)? 强答题:请听好题"请问如何在可编辑的列表框中显示你想输入的字符串,而且可以输入多行?",开始! 下面两个操作,哪种效率高一些?或者还有什么更好的方法,谢谢! 简单问题,马上结账 ^在Delphi中是什么操作符? 各们兄台,小弟有急事相求,在线等~~~~~~~~~~~~~~~~~ 关于新闻发布时内容显示的问题 请教Tab Control的使用 microsoft jdbc for sqlserver2000 result 如何将指针移到首位!!在线等急!!! 谁有CVS下载?我去官方网站的下载,根本没有安装文件。 JSP中新建文件夹的问题 关于地图的问题,谁能解决啊? 怎样获取点击或按下winform上 [×]按钮时的事件 在服务器端执行一个 在客户端弹出对话框的程序? 如何不让局域网上的其他机用二级代理上网. oracle 表空间问题 哪位老大知道DBF的格式。 新手想请问关于刚学图象处理先学哪些?即先从哪入手? 请问关于函数挂接的问题 学习中的、已经学好的、准备学习java的朋友来看看 如何在一个线程里创建一个窗体? 难题,,,,(马上结) 怎样使windows service能接受其他程序的调用? ADO+ACCESS问题 十万火急!怎样在ASP.net(C#)中调用OCX对象 如何填充一个封闭的区域 吉林延边发生多起朝鲜警备队员越境抢劫杀人案件 perl有比较好的ide吗????? FilenameFilter用声明吗?? 怎样将两张表中相关数据绑定到DropDownList 请问java 中如何实现大小写不敏感的字符串替换???谢谢 超级头痛:如何找到DataList里的RadioButton? 权限设定时奇怪问题? 200分相送,如何写一个divx的编码过滤器 求一 SQL 语句的写法 高手来看!!!!如何在BCB程序中打开Oracle数据库 在串口通信中怎样解除waitcommevent()的等待 快三十岁了,适合再当程序员么? 小弟急着连数据库,搞不明白怎样连,拜托 将下面四句话的序号填写在括号内.春天的日子多雨,常常淅淅沥沥地下着.可是只要琴声一奏起来,雨点也似乎活泼起来,()()()().它们是多么淘气啊! 1.( )鸣( )盗(动物名)2.( )奔( )突(动物名)3.狡猾阴险的笑——( )4.无拘无束纵情的笑——( )5.故意装出的笑——( )6.无意义的一味的笑——( )7.真诚友好的笑——( 做旋转倒挂招式时线为什么会绕在一起 逻辑学讲什么的, 这 梦 什 么 意 好像是一个男生遇到什么困难必须亲全班的女孩子,全班有好多女孩子,然后都躺着,男孩子很帅,当要吻我的时候我不肯,当他说只是装装样子我就放心了,但是我内心其实挺渴望 最早横渡太平洋的历史人物是谁~ (B2H6)乙硼烷和苯乙烯在过氧化剂的条件下反应产物 英语翻译当然.未来的事我们谁也不确定,或许这些是会发生, 夜阑卧听风吹雨的夜阑是什么意思? 夜阑的意思 夜阑 什么意思 大学生自创恋爱APP 获80万元大奖中国代表在联大全会阐述对国际刑事法院救人干部王青意、蔡福想抢救画面曝光 新加坡制造业和服务业下调未来半年前景全球首辆太阳能小轿车在新加坡亮相德国海关发现1500余幅毕加索等大师加涉毒市长为犯错表歉意 但未明确承认日台风灾区一男子称受灾系因禁止大麻而孙燕姿鲁豫户田惠梨香 女星骨瘦如柴太澳男子头部遭枪击送医后仅数小时自行离泰游船沉没已致6人罹难 包括一名中国别总是去超市买菜,看完你就明白了!王思聪还在晒网红女友,他却早已玩腻当看完这些我感觉自己脑残+智障+深井冰有什么过不去的坎呢,何况你腿还那么长那些说要生个娃的人,看了这些熊孩子后那些年那些狗就是靠这些名头行走江湖的一个不想当画家的理发师不是一个好保洁为什么讨厌晒幸福,难道你喜欢负能量?猝死率竟这么高! 中国十大高危职业是月薪多少才能优雅地生活?你真的会用信用卡吗?想省钱都是有套路魔兽的纪念越过你的尸三间界春秋逐鹿末日邪仙异界之血战天地魔战破天新功夫时代无限峥嵘跨越时空的魔法契约动荡年代休宁旅游遂平旅游阿拉善左旗旅游呼玛旅游织金旅游乐东旅游文登旅游德化旅游定安旅游梓潼旅游城固旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘