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

优化OLE的调用频率-VB资料

HTML文档下载 WORD文档下载 PDF文档下载
优化OLE的调用频率-VB资料

?在VB5.0中,OLE调用功能大大增强,程序员的调用次数也自然地随之增加,显然,
优化OLE的调用对提高系统效率
有着不可低估的意义。下面提供三则优化OLE调用技巧供参考。

?1.预先定义专用对象,减少OLE调用次数,提高程序效率
在VB中进行OLE功能调用时,一般需要重复使用“对象、属性”这类语句,有时连
接对象很多,语句较长。比如,
要想获得某个数据库中数据表字段名称的OLE功能调用语句可能这样:
DBEngine,Workspaces(0).DataBases(0).RecordSet.Fields(0).Name
上面语句中的每个点(.)都需要进行一次OLE功能调用。如果我们想列出所有的字段
名称,一般情况下程序如下:
ForI%=0ToDBEngine.WorkSpaces(0).Database.RecordSet.Fields.Count-1
PrintDBEngine.WorkSpaces(0).Database.RecordSet.Fields(I%).Name
Next
上面这段程序用循环的方式将所有字段名称列出来,每一个循环需要有10次OLE调
用(10个点),假设有10个字段,
则完成这个循环需要进行100次OLE调用。从上面的程序中我们可以看到OLE调用语
句的前面部分对象都是一样的,
我们可以考虑将其预先定义好,这样就可以减少OLE调用次数,提高效率,将程序
改写如下:
DimDBAsDatabase
DimSAsFields
DimFAsField
SetDB=DBEngine.Workspaces(0).OpenDatabase("biblio.mdb")
SetX=DBEngine.Workspaces(0).Databases(0).TableDefs(0).Fields
ForEachFInX
PrintF.Name
Next
改写后的程序在完成定义对象时使用6次OLE调用,循环过程需要10次(10×1),完
成整个任务只需要16次,
和上面的程序比起来效率大大提高了。
 
?2.利用WITH语句来减少OLE调用次数
比如,我们通过OLE功能定义某个字段的属性语句可能这样:
DBEngine.WorkSpaces(0).Database.RecordSet.Fields(0).Name="Book"
DBEngine.WorkSpaces(0).Database.RecordSet.Fields(0).Required=True
DBEngine.WorkSpaces(0).Database.RecordSet.Fields(0).Size=20
DBEngine.WorkSpaces(0).Database.RecordSet.Fields(0).Type=db Text
DBEngine.WorkSpaces(0).Database.RecordSet.Fields(0).Value="MSDOS"
上面的语句运行效率不高,且书写繁琐,利用WITH语句改写如下:
WithDBEngine.WorkSpaces(0)
.Database.RecordSet.Fields(0)
.Name="BOOK"
.Required=True
.Size=20
.Type=dbText
.Value="MSDOS"
EndWith
改写后的程序书写简单、效率也高(OLE调用次数少)。
 
3.利用服务方程序的宏来减少OLE功能调用次数
如果要从VB中通过OLE调用WORD中的某些功能来完成某项任务,首先在WORD中将所
要使用的功能用记录宏
的方式记录成一个宏(根据实际情况可修改记录后的宏代码),然后再用VB的OLE功
能调用WORD来执行这个宏,
这样可避免反复用VB的OLE功能调用WO
filter(expression) -JQuery API find(expr) -JQuery API is(expr) -JQuery API next(expr)-JQuery API not(elems)-JQuery API not(expr)-JQuery API not(el)-JQuery API parent(expr)-JQuery API parents(expr)-JQuery API prev(expr)-JQuery API siblings(expr)-JQuery API Events事件-JQuery API bind(type,data,fn)-JQuery API blur(fn) -JQuery API blur() -JQuery API change(fn) -JQuery API click(fn)-JQuery API click()-JQuery API dblclick(fn) -JQuery API error(fn) -JQuery API focus(fn)-JQuery API focus() -JQuery API hover(over,out)-JQuery API keydown(fn) -JQuery API keypress(fn)-JQuery API keyup(fn)-JQuery API load(fn)-JQuery API mousedown(fn)-JQuery API mousemove(fn)-JQuery API mouseout(fn)-JQuery API mouseover(fn)-JQuery API 时间计算出错!急啊!!! 为什么我画透明位图,重画了n次后,位图会显示为黑色,重画次数少没问题 快来呀! 如何使用BDE打开有密码的PRODOX的数据库 为什么用Windows Media Encoder9做网络电台,有5个人连上后就不能有人再连接 update的问题 没分了,但还是要提问:为什么我的sleep(2000)会出错。 系统分析员工作状况和薪资大调查 我的自己怎么浏览 不了ASP。NET 如何在运行过程中动态生成一个非可视化的控件? 局域网中为什么就我不能共享上网? 有没有人帮忙? asc转换成字符的问题 关于句柄的解释! 在职研究生,值不值? 高分请教:指针赋值问题 用PB我怎么样才能一句一句读TXT文件??? 笑死不陪命!! http://top2u.net/~ec-soft 帮帮忙,解决一个不是asp的问题,给分!! 如何实现这样的功能 笑死不陪命!! http://top2u.net/~ec-soft qq设计 奇怪的VF,怎么修改Label1的caption? 赠送小程序者有分 如何配置外置Moderm??? 用户游览时在页面上启动了一个Timer,如何在用户关闭游览器时停止此Timer? 关于JBuilder中MSSQL2000在EJB设计时DataSource的连接问题?求救!!! linux 0.01是在UNIX上开发的吗? 裸机上怎么成功引导它的呢? 大家看看我程序错在何处,谢谢了 winroute代理怎么设置让指定的用户只能在指定的时间上网。。。 怎样写一份采用J2EE的框架的软件测试报告? C#还能使用BHO吗?如果能100分求C#使用BHO(browser helper object)的例子。 请问如何制作Win98启动盘(我现在没有Win98的机子)? 关于换行的问题 javascript判断操作系统 一个奇怪的time问题,偶是菜鸟了~~~~~~~~~~~ d7版本所带的qr是什么版本的? 请教:创建数据库表时,怎样突破默认字段长度? 免费注册 Jboss 或 应用服务器 除了网上有,买d版的不知道有没有啊,下载太慢啊!! datagrid 中的一例为4位小数的数据,如何在datagrid设置使其值显示为带二位小数?? 让你的企业、产品、网站一夜成名 企业中一般如何写数据字典阿?急,在线等待 文件上传 如何将txt文件导入mdb文件之中,在线等,解决问题立即给分。 在菜单中打开MDI窗口,但是每一次点击,就出现一个新窗口,如何只出现一个? 大侠,救命啊,这个编译错误,折磨我好几天了,如何解决啊?????? 求C语言程序:从键盘上输入若干个证书,去掉重复的,将剩余数的前n个输出显示 新手发问(有关C#和MySQL数据库)! 试用期的前几天会被安排做什么?(对于一个没有一点工作经验的大学生) 如何合并两个字符串?急!!! 请问哪有jive 的中文版原代码下载啊?? jdon的压缩包不好使!!谢谢 蛋白质合成中如何保证其翻译的正确性 翻译的产物是不是蛋白质? it's r________ that China beat South Korea 3-0 to win the Swaything Cup 改错:You never guessed that he had considered to give up his job. Does the idea of working abroad appeal to you? 唇唇欲动歌词里的英语什么意思,怎么念sexy pretty juict skill什么意思 village 的对应词 帮翻译(village)一词,谢 酒店中的Skill是什么意思 求英语作文初中 60词左右 ma village求英语作文初中 60词左右 ma village 白岩松惋惜恒大未能锁定胜局:首尔死刑亚冠决赛首回合恒大2-2首尔 穆里奇中国科学家成功研发人感染H7N9禽流宗庆后语出惊人:中国不能再造房子了李克强在中南海紫光阁会见东盟十国经贸捅死医生的连恩青烦躁时砸东西打母亲 亚冠决赛首回合恒大2-2首尔 穆里奇美国“窃听门”持续发酵 欧洲各国一致德国品牌专家:中国品牌升级要品质更要浙江省委书记夏宝龙:希望天下浙商争做亚洲食学国际论坛登陆绍兴 中国大厨展王毅晤南苏丹副总统:望确保在南中方机伦敦“老鼠咖啡馆” 顾客品咖啡时可与游悉尼住货柜“旅舍” 15名日韩青年因环城北路地下通道施工 杭州闸弄口地陈世阳:从英国广播公司调查看中国国际欧阳中石:练书法不可偏信下苦功 应以中国参加环太军演潜水分队进入潜水员驻乌俄德法力促本周末之前实现停火 呼吁中使馆提醒在尼日利亚中方公民办理公民美国大男孩迷上琵琶最爱“十面埋伏”(专家学者为打造丝绸之路甘肃黄金带建言
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘