在Visual Basic中,感嘆號(hào)“!”與圓點(diǎn)“.”都用于給對(duì)象命名,但兩者語(yǔ)法上卻存在很大的區(qū)別,這點(diǎn)在編程時(shí)尤其需要注意。
圓點(diǎn)操作符“.”用來表示對(duì)象的屬性和方法,在引用時(shí),需要用到對(duì)象的Name、圓點(diǎn)和需要的屬性或方法。例如要引用文本框Textl中的文本屬性時(shí)可用reponse$=Text1.Text,再如要改變Form1窗體返回或讀取對(duì)象高度的單位時(shí)用Form1.ScaleHeigh=2000表示。
感嘆號(hào)“!”常用于當(dāng)一個(gè)控件作為一個(gè)特性訪問的情況下,例如引用Fomr2中Text1文本框文本屬性時(shí),可采用response$=Form2!text1.text語(yǔ)法格式。
雖然兩者的語(yǔ)法應(yīng)用結(jié)構(gòu)有較大差異,但兩條語(yǔ)句的性能是相同的,值得注意的是如果你在感嘆號(hào)“!”的位置使用“.”可以獲得對(duì)窗體上Text1特性的直接訪問權(quán),為了進(jìn)一步增加感性認(rèn)識(shí),你不妨運(yùn)行下面的例子來試試。
1.建立一個(gè)新項(xiàng)目,并在Form1窗體中增加一個(gè)命令控件。
2.雙擊Form1窗體,編輯Form-Load事件并輸入:
Form1!Command1.Caption=”Text”
Form1.Command1.Caption=”It Works”
3.運(yùn)行試項(xiàng)目,這時(shí)你就會(huì)在Command1命令框中看到字符串It Works。
為了在程序中清楚地界定引用的控件名和該控件的屬性或方法,增加程序的可讀性,最好使用感嘆號(hào)“!”,這也是VB的推薦方式。
0、 (空字串)、Null、Empty、與Nothing的區(qū)別先回答以下問題吧!經(jīng)過以下的敘述之后,變量A、B、C、D分別等于0、 、Null、Empty、Nothing的哪一個(gè)?
Dim A
Dim B As String
Dim C As Integer
Dim D As Object
A等于Empty,因?yàn)樯形闯跏蓟摹覆欢ㄐ妥兞俊苟嫉扔贓mpty。但如果檢測(cè)A= 或A=0,也都可以得到True值。
B等于 ,因?yàn)樯形闯跏蓟姆枪潭ㄩL(zhǎng)度「字串」都等于 。但請(qǐng)注意B Null。
C等于0,這個(gè)還有問題嗎?
D等于Nothing,尚未設(shè)定有物件的「物件變量」都等于Nothing,但請(qǐng)不要使用D=Nothing,而要使用D Is Nothing來判斷D是否等于Nothing,因?yàn)榕袛嗍欠裣嗟鹊姆?hào)是Is不是=。
最令人迷惑的地方是Null這個(gè)保留字,請(qǐng)看以下語(yǔ)句:
Print X=Null
Print X Null
結(jié)果都是輸出Null(不是True也不是False),這是因?yàn)槿魏我粋€(gè)運(yùn)算式只要含有Null,則該運(yùn)算式就等于Null,實(shí)際上想要判斷某一數(shù)據(jù)是否為Null絕對(duì)不能使用:
If X=Null Then\ 永遠(yuǎn)都會(huì)得到Null
而要使用:
If IsNull(X)Then
哪一種數(shù)據(jù)會(huì)等于Null呢?除了含有Null運(yùn)算式之外,就屬?zèng)]有輸入任何數(shù)據(jù)的「數(shù)據(jù)字段」(在數(shù)據(jù)庫(kù)中)會(huì)等于Null。