變量、常數和數據類型概述
在 Visual Basic 環境下進行計算時,常常需要臨時存儲數據。例如,可能想要計算幾個值,將它們進行比較,並根據比較的結果對它們進行不同的操作。如果想要比較這些值,就要存儲它們,但不必把它們存入屬性。像大多數編程語言那樣,Visual Basic 使用變量來存儲值。變量具有名字(用來引用該變量所含的值的名詞)和數據類型(確定變量可以存儲的數據的種類)。數組可以用來存儲建立了索引的相關變量集。
常數也存儲數值,顧名思義,在整個應用程序執行過程中,這些值都保持不變。常數的使用增加了代碼的可讀性,因為我們看到的是具有含義的名字而不是數字。Visual Basic 有許多內部常數,但也可以建立自定義常數。
在 Visual Basic 中,數據類型控制了數據的內部存儲。按照缺省規定,VisualBasic 使用了變體數據類型。在不需要 Variant 提供的靈活性時,還有許多其它可用的數據類型,它們可用來優化代碼的速度和大小。
變量
在 Visual Basic 中執行應用程序期間,用變量臨時存儲數值。變量具有名字(用來引用變量所包含的值的詞)和數據類型(確定變量能夠存儲的數據的種類)。
可以把變量看作內存中存放未知值的所在處。例如,假定正在為水果鋪編一個銷售蘋果的軟件。在銷售實際發生之前並不知道蘋果的價格和銷量。此時,可以設計兩個變量來保存未知數,將它們命名為 ApplePrice 和ApplesSold。每次運行程序時,用戶就這兩個變量提供具體值。為了計算總的銷售額,並且將結果顯示在名叫 txtSales 的文本框中,代碼應該是這樣的:
txtSales.txt = ApplePrice * ApplesSold
每次根據用戶提供的數值,這個表達式返回不同的金額。由於有了變量,就可以設計一個算式,而不必事先知道實際的輸入是多少。
在這個例子中,ApplePrice 的數據類型是貨幣,而 ApplesSold 的數據類型是整數。變量還可以表示許多其它數值,比如:文本數值、日期、各種數值類型,甚至對象也在此列。
存儲和檢索變量中的數據
用賦值語句進行計算,並將結果賦予變量:
ApplesSold = 10 '將值 10
'傳給變量。
ApplesSold = ApplesSold + 1
'變量值
'增一。
注意,例子中的等號是賦值符,並不是等於操作符;它將數值 (10) 賦予變量 (ApplesSold)。
聲明變量
聲明變量就是事先將變量通知程序。要用 Dim 語句聲明變量,Dim 語句提供了變量名:
Dim variablename [As type]
在過程內部用 Dim 語句聲明的變量,只有在該過程執行時才存在。過程一結束,該變量的值也就消失了。此外,過程中的變量值對過程來說是局部的,也就是說,無法在一個過程中訪問另一個過程中的變量。由於這些特點,在不同過程中就可使用相同的變量名,而不必擔心有什麼沖突和意想不到變故。
變量名:
1.必須以字母開頭。
2.不能包含嵌入的(英文)句號或者嵌入的類型聲明字符。
3.不得超過 255 個字符。
4.在同一個范圍內必須是唯一的。范圍就是可以引用變量的變化域,如一個過程、一個窗體等等。
由於 Dim 語句中的可選的 As type 子句,可以定義被聲明變量的數據類型或對象類型。數據類型定義了變量所存儲信息的類型。String、Integer 和Currency 都是數據類型的例子。變量也可以包含來自Visual Basic或其它應用程序的對象。Object、Form1 和 TextBox 都是 Visual Basic 對象類型或類的實例。
詳細信息 關於對象的更詳細的信息,請參閱第九章“用對象編程”和第十章“用部件編程”。在本章後面的“數據類型”部分將詳細討論數據類型。聲明變量的其它方式:
不在過程內部,而在窗體、標准或類模塊的聲明段聲明變量,這將使變量對模塊中的所有過程有效。
用 Public 關鍵字聲明變量,這將使變量在整個應用程序中有效。
用 Static 關鍵字聲明一個局部變量,那麼,即使過程結束,變量的值也仍然保留著。
隱式聲明
在使用一個變量之前並不必先聲明這個變量。 例如,可以書寫這樣一個函數,在其中就不必在使用變量 TempVal 之前先聲