日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

VB十七種可用一行代碼完成的技巧

 悟靜 2009-07-26
編程要講效率,盡管現(xiàn)在的計(jì)算機(jī),速度是不成問(wèn)題,但是,如果一行代碼能完成,為什么要用更多的代碼呢?現(xiàn)在介紹VB中一些可用一行代碼完成的技巧。

1、下列代碼,則是對(duì)邏輯運(yùn)算不清楚造成

If A=true Then
C= Not B
Else
C= B
End If


 可以:

C=A XOR B



2、如果加上下列代碼:

If C=true then
D=28
Else
D=29
End IF


D=Iif((A XOR B),28,29)



3、布爾賦值,常被人忽略,如:

If A= 13 then

B=True

Else

B=False

End If


 可以:

B = A = 13


 或者:

B = (A = 13)


 我更喜歡用后者,這樣代碼易于看懂。

4、字串有效性檢測(cè):

If IsNull(StrOrg) Or StrOrg="" then


 可以:

If Len(StrOrg & "")<>0 then



5、字串重復(fù)次數(shù)

RepeatCount=Ubound(Split(StrOrg,StrFind))


 同樣,如果要對(duì)字串有效性判斷:

RepeatCount=Iif((Len(StrOrg & "")=0), 0, Ubound(Split(StrOrg,StrFind))



6、有時(shí)需要判斷字串?dāng)?shù)組中是否有這一元素,這時(shí)最好不用數(shù)組,而用分隔符字串,于是:

If Len(OrgStr)= Len(Replace(OrgStr,FindStr)) then


 則表明,此元素不存在。


7、對(duì)數(shù)組初始化,最好用變體,這樣,也是一行語(yǔ)句,如:

IntArr=Array(12,28,29,30,31,52,24,60)


 注意,此時(shí)需要用變量后綴。上面代碼,如要定義為長(zhǎng)整型,則

IntArr=Array(12&,28&,29&,30&,31&,52&,24&,60&)


 要將IntArr 定義為變體


8、判斷大小:
IntMax = Iif((IntA > IntB), IntA, IntB)

IntMin = Iif((IntA < IntB), IntA, IntB)

9、按索引的Select Case

Function GetChoice(Ind As Integer)
GetChoice = Choose(Ind, "Speedy", "United", "Federal")
End Function



10、按表達(dá)式的Select Case(這種轉(zhuǎn)換要求不能有Case Else的才可以這樣,否則會(huì)出錯(cuò))

Function MatchUp (CityName As String)
Matchup =tch(CityName = "London", "English", CityName _
= "Rome", "Italian", CityName = "Paris", "French")
End Function



11、使用Iif,前面已有

Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function



12、字串動(dòng)態(tài)數(shù)組是否已初始化

If Len(Join(StrArr))=0 then


 字串動(dòng)態(tài)數(shù)組未初始化。


13、指定只讀CombBox的當(dāng)前值,如果能確認(rèn)這個(gè)值就在其中,一定不會(huì)錯(cuò),則:

Combbox=CurValue


 注意,不可以寫成:
Combbox
.text=CurValue

 前者實(shí)際是寫 _default 這個(gè)屬性,而后者則是寫Text 因?yàn)橹蛔x,則會(huì)導(dǎo)致錯(cuò)誤
14、如果有下列代碼:

Select Case CombBox.text
Case "London"
Call FuncStrLang(3)
Case "Rome"
Call FuncStrLang(5)
......
End Select


 則可以用ItemData屬性,即:

"London" 的 Itemdata=3
"Rome" 的 Itemdata=5


 于是:

Call FuncStrLang(CombBox.ItenData)



15、如果有下列代碼:

Select Case CombBox.text
Case "London"
Call ClsCity.CityIntr_London
Case "Rome"
Call ClsCity.CityIntr_Rome
......
End Select


 只要:

CallByName ClsCity, "CityIntr_" & CombBox.text, vbMethod



16、復(fù)制數(shù)組到另一變量中:

Dim iOrgArr(30) as Integer
Dim iDesArr as Variant
......
iDesArr = iOrgArr


 即主變體直接取數(shù)組指針,則所有元素都復(fù)制了過(guò)去。


17、如果有下列代碼:

Do While Not RsAdo.Eof
If len(DesStr)<>0 then
DesStr=DesStr & VbTab
End if
DesStr=RsAdo!Rec_id
RsAdo.MoveNext
loop


 則只要:

DesStr=RsAdo.GetString()

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多