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