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

优化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
佛瑞斯特资讯公司预测2013年云计算的十个变化 百会中小企业CRM年会成功举办 发布CRM选型指南 诺基亚创新体验中心NEIC训练团正式开班 新威胁:IE新漏洞允许网站跟踪鼠标 少编码多思考:代码越多 问题越多 [简讯] JDK 7u10发布 修复安全漏洞 搜狗茹立云:为何搜狗语音助手比Siri更精准? BlackBerry 10最终版SDK Gold发布 谷歌地图正式登陆App Store 为开发者推出SDK 你的云数据的三个最大威胁 公开叫板:Google不打算推出Win8版Gmail和Drive APP备案风波:开发者何去何从? 32位和64位的JVM 我该选择哪个呢? 黑莓“Got Game Port-a-Thon”活动将于12月22日在北京举行 专访Moti Joseph:浏览器安全的经验之谈 四大开源云平台的命运基因 FPS移动游戏:画质不是第一位,操控才是死穴 微软2013年的五个安全预测 应用成武器 王淮,大城小胖论辩HTML5 局部有小雨 技术人员创业后就不再适合继续编码了? Google Dremel vs Apache Hadoop 低功耗之争:英特尔 VS ARM NEIC-诺基亚体验创新中心 助力开发者创享新移动互联时代 Google地图主管Daniel Graf:新设计,新目标 浴火重生:OpenFeint创始人推开源平台OpenKit 紧随AWS数据仓库服务 Rackspace力鼎Cloudant 创业者谈:畏惧失败,但也要拥抱失败 谷歌赢得一场战斗 苹果能否赢得战争? 走进大学校园:是什么让学生成为独立开发者? 移动周报:为什么说独立开发者才是光明康途? MapFan eye:看日本地图导航应用的新玩法 突然很不爽,放它一百分 ------------------------------------------------ 请问:多目标决策算法,急!!!!:在线等待 关于./configure 如何进行端口的设置(在线等待) 急!哪位同仁知道秦皇岛的高程什么时候,在哪里报名!!! 数据更新 Win2000中如何禁止更改ip地址? 关于weblogic 8.1中运行jsp的问题 怎么得到一个窗口的句柄 这样的界面是在什么编程语言环境下实现的?急!急!!急!!! [提问]我装Microsoft Visual Studio SP5遇到麻烦,请帮忙。 dataAdapter配置视图函数是出错:函数提供的参数不够! 100分紧急求教关于 TClass 的问题。 一个不是很难的问题! 将三个数字型字符串加密成一密文,可逆 做了一个WBE服务器帮忙测试一下,来者有分,(只限2小时) 利用Sax进行XML文档解析的问题(高分)??? 我用一个ADOCONN,ADODATASOURCE,ADODATASET取得一组数据,请问我怎么用代码来控制指针下移,以及用代码取得当前某个字段的值? 好奇怪???? 错误分析,高分求解!! 各位大虾,帮帮忙!求助如何实现网页访问者的人数 有一个查询问题.快进来.进来有分. 重装Win系统后如何进入Linux系统?? 谁能帮我画这个图??给20分,真的给. 表格中的回车那里去了? 能把这样的VBS脚本改写为VB代码吗? 2000无故奇怪死机! 能把这样的VBS脚本改写为VB代码吗?? 非典时期,你流过几次泪了,我们还需要感动多少次? 先问一下实现性:手机能发送图片,avi和声音吗 2000和xp 共享的问题? 怎么通过netmeeting连上广域网的主机? 能不能将一个文件夹下的图片进行批量上传? 字符串问题: 有关结束进程的问题 谢谢高手 怎样才能学好c语言这门课 帮帮我吧—— 一个简单的问题! 怎样调用Twain设备照相,并将照片放在一个picturebox中 怎样在数据表中查询在某个范围内共有几条记录?(好象很弱的问题) 一个jbuilder的问题[求助] default.asp有IFRAME里面包含list.asp页,list.asp里的链接如何给default.asp传递一个值并刷新它? ★★★如何在界面线程中调用主线程的对象★★★ 如何让jbuilder生成的文件,在没有jbuilder环境的机器上运行? 有人能吧“准女友胸太平”和“一个程序员的艳遇”粘贴后发成贴子吗,我的机子配置差,打不开。估计这种方法可以。谢谢 问有关窗体的参数属性 学计算机的是不是出去闯比较好!但是听到很多大学同学讲,在外面也不容易!很矛盾! ?WSAWaitForMultipleEvents如何退出 在ASP.net怎么用MessageBox啊?? 俺向大家请教一个问题,可以送分! 真无奈,恳求大家帮我! 接下来我应该干什么????!!! 《行尸走肉第四季》弩哥达里尔帅气花絮奥巴马极力摆脱“监听门” 美国国安局超强飓风“吹乱”西北欧各国 已致16中国进出口银行巴黎分行正式挂牌营业朝鲜富人如何休闲?【组图】媒体称延迟退休多拿养老金偷换概念 犯罗援:两岸政治议题不能一拖再拖 有十黑龙江一公安局欠债18年不还 当地纪教科书作品付酬办法发布 文字作品每千土耳其隆重阅兵庆祝建国90周年监听事件对法美关系损害有限美国安局铁杆盟友临阵“倒戈” 称反对意大利前总理:欧洲为配合反恐对美国监埃及武打冠军因支持前总统穆尔西 金牌杭州滨江16所公办学校体育设施免费向台湾空姐酷似林依晨网络走红 海量清纯外媒关注习近平全面深化改革“总体部署意大利总理莱塔会见王毅美国就中国解密核潜艇部队表态中国核潜艇官兵趣闻:自称烧锅炉 1瓶日媒称两艘中国军舰通过冲绳附近毗连区惠家沟出了个郭秀明看见老人摔倒在路上 模范“的哥”再伸发现疫情 校方须2小时内上报照金被命名为全国青少年教育基地渭城、礼泉、乾县今年整治2万余座坟墓居民院墙渗水两年 原是水管裂缝墓园旁将增设临时车位无线固话业务已停 他为“五连号”缴费渭城法院开通网上预约立案平台罐车侧翻 有毒液体泄漏盛世华府业主 收房遇一堆窝心事治污降霾等出现预警 辖区相关领导将被六旬电工十余分钟两部电梯解困3人世纪大道转盘破损路面已维修预赛录播 决赛现场直播坡头镇耀小路上 十几棵行道树被卖巷子口栽了一片树木 居民出行不便强奸醉酒女乘客 摩托司机领刑3年半男子下班路上“撞倒”行人 被强拉上车小区一天丢了三四辆车西城印象小区为何频频停电
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘