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

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

总之,优化程序要从自己、从用户等多方面考虑,使程序开发周期短,且高效易用。
大数据分析“铁三角”: Teradata数据仓库、Teradata Aster与Hadoop Teradata专业服务:打造行业企业的“数据科学家” Xamarin Evolve 2013:竭尽全力让C#服务iOS与Android 史上最全!57个Web框架4轮横向对比 回顾银行数据的可用性和一致性历史 Qubole:托管在AWS平台上的Hive服务 自由操作系统 Debian 正式发布7.0版本 4月份浏览器份额:IE 8仍居第一,IE 10翻番 亚马逊正式在华推Android应用商店 收入3:7分账 不要男孩,只允许女生参加的四所编程学校 下一波App机会在哪里? JS1K 2013优胜作品公布 3D蜜蜂仅获亚军 专访:前新浪网架构师徐佳转行卖水果背后的故事 FBI密码挑战,你能解开吗? 从0到1只需一天:Twitter后PC时代物联网“敏捷”开发之路的探索 机械生物已经面世 只少个“大脑”而已 百度正式宣布3.7亿美元收购PPS视频业务 比尔·盖茨:iPad让人失望 用户需要Surface Dropbox将于今年夏天举办有史以来的第一场开发者大会 Clustrix Sierra分布式数据库系统:云计算时代的MySQL 英特尔出杀手锏 发布低功耗、高性能Silvermont微架构 10大最实用的Raspberry Pi扩展设备推荐 主流浏览器性能测试,IE10百分百完胜! TortoiseSVN的基本操作 再见,Fireworks! 投资者告诉诺基亚CEO:他们快没耐心了 直接拿来用!最火的Android开源项目(二) 营收奇迹:三消游戏Candy Crush Saga成功启示录 马化腾对话李连杰:移动互联网的能量有多大? UC与趋势科技携手,移动浏览器加固安全 乐视发布超级电视X60 售价6999元 ()()()()()()()()上海佬进来!!!受过上海佬骗的进来!!()()()()()()()() 人无远虑,必有近忧。想找块风水宝地百年之后藏身。荐者有分。 可以在 NT 登录以前在客户端创建 DCOM 实例吗? 被背叛的遗嘱 能提供C++制表的源程序吗?THANK YOU!!!!!!!! 还有6天 关于Socket编程的几个问题 哪里有莫文蔚的《the way you make me feel》国语版的? 切~~~~~~~~菜~~~~~~~~~ 斑竹,我觉得这几天CSDN上很无聊,怎么老有人弱智地问重复的或者以前已有答案的问题?他们不知道可以search先? 谁知道哪里有bmp图片可以下载,给个详细网址,多谢 VC 兼职? 荷兰国旗问题 ASP刚学,用什么方式好吗 斑竹!!!!!!!!!!!!!!!! 关于IE浏览 请问vb如何访问foxpro 6.0的数据库,最好有源程序,谢谢. he_cti@163.net 算了,散分 我散,我散,我散散散 散3 发分!!!! 发分!!!!! 发分!!!!!!!! 发分!!!!!!!!!!!! 发分!!!!!!!!!!!!!!!!!!! 请问如何去掉测试版软件的“购买”提示框???急急急急!!! 有关获取HTML中Frames的问题? 给分!!!!!啊 给分!!!!!啊!! 给分!!!!!啊!!!!!! 给分!!!!!啊!!!!!!!!!!!!! 给啊!!!!!!!!!!!!! 不是俺蓄意谋两位帮主的反,实在是 ... APPLET连接数据库。。。(我已经每粉了) 千分散尽不复来!!! 千分散尽不复来!!!! 千分散尽不复来!!!!! 千分散尽不复来!! 千分散尽不复来!!!!!!!! 千分散尽不复来!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!! 用分把灌水乐园咽死!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!!!!!! 千分散尽不复来~ 千分散尽不复来~! 请教数据窗口的问题 千分散尽不复来? 千分散尽不复来?! 甲数的5分之3等于乙数的75%,已知乙数是80,求甲数的算式是( ) 甲数的60%相当于乙数的45%,已知乙数是30,甲数是多少? 甲数的五分之三等于乙数的三分之二 甲数是60乙数是多少 甲数的5分之3等于乙数的4分之3,已知乙数是80,甲数是( ) 急,要明白的甲的45%等于乙的60%,乙是甲的( )%? 甲数的五分之一等于乙数的三分之一,甲数是60.乙数是多少 甲的5分之3等于乙的百分之75,乙是80,甲几? 甲数的45%等于乙数的105%,甲数( )乙数填大于小于或等于 甲数的3分之2等于乙数的5分之4,乙数是60,甲数是( ) 甲数是乙数的百分之80,甲数比乙数少百分之20.这对么?为什么 (选择题)如果甲数的60%等于乙数的2/3,那么( ) 甲数的20%与4的和等于乙数的3分之2,甲数是80,求乙数? 甲数是80比乙数少百分之20,乙数是 如果甲数的3/4等于乙数的2/3,那么甲数与乙数的比是多少? 甲数比乙数多60%,乙数比甲数少百分之几? 甲数是60,比乙数少20,甲数比乙数少百分之几? 如果甲数的3倍等于乙数的2分之一,那么甲数与乙数的比是几比几. 32吨比60吨少百分之几?(百分号前保留一位小数);甲比乙多40,乙是80,甲比乙多百分之几?甲数是20,乙数是30,乙数比甲、乙两数的和少百分之几? 观察下列一组数据,想一想它们的算术平方根和立方根有什么规律?10,20,30,40,50,60,70,80,90,100 .换成下换成下列数字又有什么规律?/10,1/20,1/30,1/40,1/50,1/60,1/70,1/80,1/90,1/100 甲数的2/3等于乙数,那么甲数比乙数=( ) 甲数是80的5分之4,乙数的百分之60是12,甲数比乙数多多少 观察下列一组数据,想一想他们的算术平方根和立方根有什么规律?10,20,30,40,50,60,70,80,90,100这些数据换成10分之1,20分之1,30分之1,40分之1,50分之1,60分之1,70分之1,80分之1,90分之1,100分之1,又有什么规 甲数是乙数的80%,乙数比甲数多百分之几? 甲桶油是乙桶油的80%,乙桶是甲桶的百分之几?甲桶油比乙桶油少百分之几?乙桶比甲桶多百分之几? 1到9的数字,十字形9个格子,如何让横竖都等于24 甲数是乙数的百分之八十,乙数比甲数多百分之几? 甲数是乙数的倒数,乙数扩大10倍后是50,甲数是() 数学10+20+30+50+80+70+60+40+90 甲数比乙数多百分之60,乙数比甲数少百分之几急用 甲数是50,比乙数大10,甲数是乙数的( )%,乙数是甲数的( )%;甲数比乙数多()%;乙数比甲数少() 数字1~9,放到三行三列的九个空格里,横相加、竖相加、斜相加都等于10. 若甲数比乙数多百分之六十,则乙数比甲数少百分之几 为什么 甲数是乙数的倒数,乙数扩大到原来的10倍后是50,甲数是 把10 、20、 30、 40、 50五个数填在空格(3*3),横竖相加都相等,如何填?把10 、20、 30、 40、 50五个数填在空格(3*3),使每一横行、竖列三个数相加的和相等,如何填?这些数可以重复使用 甲数比乙数多百分之60,乙数比甲数少多少 甲数的5分之1等于乙数的6分之1,乙数是10,求甲数 那两个数相乘等于750 ,相加等于-40? 甲数比乙数多百分之六十,乙数比甲数少多少怎么列式最好? 甲数的50%等於乙数的5分之4,如果甲数是10,乙数书多少?如果乙数是10,甲数是多少? 正负数如何相加?这几个数字相加等于多少?+5 -4.3 +8 -2.8请列出算式 甲数是20,乙数比甲数多百分之60,甲数比乙数少百分之几 甲数是50,甲数的10分之1和乙数的2分之1相等,乙数是多少 三个数相加等于14 三个数相乘等于40 求这三个数分别是多少 求详细步骤 甲数的3/8是乙数的80%,乙数是60,乙数比甲数少百分之几 甲数的50%等于乙数的5分之4,如果甲数是10,乙数是多少?如果乙数是10,甲数是多少?要列式计算,不要方程 三个数相乘是40,三个数相加等于14,并没有两个数相等.求这三个数分别是多少 60比20多百分之几?,32千米比80千米少百分之几?,甲数是28,是乙数的80%,乙数是多少?. 5是10的50%,10是5的()% 甲数是40,乙数是50,甲数是乙数的(). 甲数的75%正好等于乙数的80%,甲数一定大于乙数. 多少相乘等于16相加等于14! 甲数是60,比乙数多百分之50,乙数是多少? 甲数的75/100正好等于乙数的80/100,甲数一定大于乙数. 2+6+10+14+...+210+214等于几? 甲数是乙数的60%乙数比甲数多百分之几 甲数的3分之2等于乙数的2分之1,甲数一定比乙数小,为什么? 甲数的45%等于乙数的60%,乙数是甲数的( )%快快快!回答后加悬赏 已知甲数的4分之1等于乙数的3分之2,如果乙数是60,那么甲数是几 因为甲数的80%等于乙数的75%,所以甲数大于乙数,这句话正确吗? 甲数的45%等于乙数的60%,乙数是甲数的百分之几? 甲数的三分之二等于乙数的60%,那么甲数与乙数的比是( ):( )
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn