?? 125.txt
字號(hào):
優(yōu)化OLE的調(diào)用頻率
?在VB5.0中,OLE調(diào)用功能大大增強(qiáng),程序員的調(diào)用次數(shù)也自然地隨之增加,顯然,
優(yōu)化OLE的調(diào)用對(duì)提高系統(tǒng)效率
有著不可低估的意義。下面提供三則優(yōu)化OLE調(diào)用技巧供參考。
?1.預(yù)先定義專用對(duì)象,減少OLE調(diào)用次數(shù),提高程序效率
在VB中進(jìn)行OLE功能調(diào)用時(shí),一般需要重復(fù)使用“對(duì)象、屬性”這類語句,有時(shí)連
接對(duì)象很多,語句較長(zhǎng)。比如,
要想獲得某個(gè)數(shù)據(jù)庫(kù)中數(shù)據(jù)表字段名稱的OLE功能調(diào)用語句可能這樣:
DBEngine,Workspaces(0).DataBases(0).RecordSet.Fields(0).Name
上面語句中的每個(gè)點(diǎn)(.)都需要進(jìn)行一次OLE功能調(diào)用。如果我們想列出所有的字段
名稱,一般情況下程序如下:
ForI%=0ToDBEngine.WorkSpaces(0).Database.RecordSet.Fields.Count-1
PrintDBEngine.WorkSpaces(0).Database.RecordSet.Fields(I%).Name
Next
上面這段程序用循環(huán)的方式將所有字段名稱列出來,每一個(gè)循環(huán)需要有10次OLE調(diào)
用(10個(gè)點(diǎn)),假設(shè)有10個(gè)字段,
則完成這個(gè)循環(huán)需要進(jìn)行100次OLE調(diào)用。從上面的程序中我們可以看到OLE調(diào)用語
句的前面部分對(duì)象都是一樣的,
我們可以考慮將其預(yù)先定義好,這樣就可以減少OLE調(diào)用次數(shù),提高效率,將程序
改寫如下:
DimDBAsDatabase
DimSAsFields
DimFAsField
SetDB=DBEngine.Workspaces(0).OpenDatabase("biblio.mdb")
SetX=DBEngine.Workspaces(0).Databases(0).TableDefs(0).Fields
ForEachFInX
PrintF.Name
Next
改寫后的程序在完成定義對(duì)象時(shí)使用6次OLE調(diào)用,循環(huán)過程需要10次(10×1),完
成整個(gè)任務(wù)只需要16次,
和上面的程序比起來效率大大提高了。
?2.利用WITH語句來減少OLE調(diào)用次數(shù)
比如,我們通過OLE功能定義某個(gè)字段的屬性語句可能這樣:
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"
上面的語句運(yùn)行效率不高,且書寫繁瑣,利用WITH語句改寫如下:
WithDBEngine.WorkSpaces(0)
.Database.RecordSet.Fields(0)
.Name="BOOK"
.Required=True
.Size=20
.Type=dbText
.Value="MSDOS"
EndWith
改寫后的程序書寫簡(jiǎn)單、效率也高(OLE調(diào)用次數(shù)少)。
3.利用服務(wù)方程序的宏來減少OLE功能調(diào)用次數(shù)
如果要從VB中通過OLE調(diào)用WORD中的某些功能來完成某項(xiàng)任務(wù),首先在WORD中將所
要使用的功能用記錄宏
的方式記錄成一個(gè)宏(根據(jù)實(shí)際情況可修改記錄后的宏代碼),然后再用VB的OLE功
能調(diào)用WORD來執(zhí)行這個(gè)宏,
這樣可避免反復(fù)用VB的OLE功能調(diào)用WO
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -