命名規則 1 變數必須是以
字母 、漢字開頭並且以字母、漢字、數字、下劃線組成的
字元 串。最後一個字元可以是類型說明符,變數名中不能有空格。
2 變數名不能包含+ - * / !@ # ¥ ?小數點 等字元,且長度不能超過255。
3 不能用 Visual Basic 的
保留字 (例如End、
Len 、
Sub 等)作為變數名,但可以把保留字嵌入變數名中,同時變數名也不能是末尾帶有說明符的保留字。
4 Visual Basic 不區分變數名和其他名字中字母的大小寫,但習慣上,
符號常量 一般用大寫字母定義。
在 Visual Basic 中執行應用程式期間,用變數臨時存儲數值。變數有名字(用來
引用變數 所包含的值的詞)和數據類型(確定變數能夠存儲的數據的種類)。
可以把變數看作記憶體中存放未知值的所在處。例如,假定正在為水果鋪編一個銷售蘋果的軟體。在銷售實際發生之前並不知道蘋果的價格和銷量。此時,可以設計兩個變數來保存未知數— 將它們命名為 ApplePrice 和 ApplesSold。每次運行程式時,用戶就這兩個變數提供具體值。為了計算總的銷售額,並且將結果顯示在名叫 txtSales 的文本框中,代碼應該是這樣的:
Dim ApplePrice As Integer
Dim AppleSold As Integer '定義ApplePrice和AppleSold兩個整數型變數
txtSales.txt = ApplePrice * ApplesSold
每次根據用戶提供的數值,這個
表達式 返回不同的金額。由於有了變數,就可以設計一個算式,而不必事先知道實際的輸入是多少。
在這個例子中,ApplePrice 的數據類型是貨幣,而 ApplesSold 的數據類型是整數。變數還可以表示許多其它數值,比如:文本數值、日期、各種數值類型,甚至對象也在此列。
存儲和檢索變數中的數據
ApplesSold = 10 '將值10賦給變數ApplesSold。
ApplesSold = ApplesSold + 1 '變數ApplesSold的值加1。
注意,例子中的等號是賦值符,並不是等於操作符;它將數值 (10) 賦予變數 (ApplesSold)。
聲明變數 聲明變數就是事先將變數通知程式。要用
Dim 語句聲明變數,Dim 語句提供了變數名:
Dim variablename [As type]在過程內部用 Dim 語句聲明的變數,只有在該過程執行時才存在。過程一結束,該變數的值也就消失了。此外,過程中的變數值對過程來說是局部的— 也就是說,無法在一個過程中訪問另一個過程中的變數。由於這些特點,在不同過程中就可使用相同的變數名,而不必擔心有什麼衝突和意想不到變故。
vb中字元串變數在記憶體中 變數名 在同一個範圍內必須是唯一的。範圍就是可以
引用變數 的變化域— 一個過程、一個
窗體 等等。
由於 Dim 語句中的可選的 As type 子句,可以定義被聲明變數的數據類型或對象類型。數據類型定義了變數所存儲信息的類型。String、Integer 和 Currency 都是數據類型的例子。變數也可以包含來自 Visual Basic 或其它應用程式的對象。Object、Form1 和
TextBox 都是 Visual Basic 對象類型或類的實例。
詳細信息 關於對象的更詳細的信息,請參閱“用對象編程”和“用部件編程”。在本章後面的“數據類型”部分將詳細討論數據類型。
聲明變數的其它方式 不在過程內部,而在
窗體 、標準或
類模組 的聲明段聲明變數,這將使變數對模組中的所有過程有效。
用 Public 關鍵字聲明變數,這將使變數在整個應用程式中有效。
用 Static 關鍵字聲明一個
局部變數 ,那么,即使過程結束,變數的值也仍然保留著。
隱式聲明 在使用一個變數之前並不必先聲明這個變數。 例如,可以書寫這樣一個函式,在其中就不必在使用變數 TempVal 之前先聲明它:
Function SafeSqr (num)
TempVal = Abs (num)
SafeSqr = Sqr (TempVal)
End Function
Visual Basic 用這個名字自動創建一個變數,使用這個變數時,可以認為它就是顯式聲明的。雖然這種方法很方便,但是如果把變數名拼錯了的話,會導致一個難以查找的錯誤。例如,假定寫了這樣一個函式:
Function SafeSqr (num)
TempVal = Abs (num)
SafeSqr = Sqr (TemVal)
End Function
乍看起來,這兩段代碼好像是一樣的。但是因為在倒數第二行把 TempVal 變數名寫錯了,所以函式總是返回 0。當 Visual Basic 遇到新名字,它分辨不出這是意味著隱式聲明了一個新變數呢,還是僅僅把一個現有變數名寫錯了,於是只好用這個名字再創建一個新變數。
顯式聲明 為了避免寫錯變數名引起的麻煩,可以規定,只要遇到一個未經明確聲明就當成變數的名字,Visual Basic 都發出錯誤警告。
要顯式聲明變數,請
Option Explicit
—或—
在“工具”選單中選取“選項”,單擊“編輯器”選項卡,再複選“要求變數聲明”選項。這樣就在任何新模組中自動插入 Option Explicit 語句,但不會在已經建立起來的模組中自動插入;所以在工程內部,只能用手工方法向現有模組添加
Option Explicit 。
如果對包含 SafeSqr 函式的窗體或
標準模組 執行該語句,那么 Visual Basic 將認定 TempVal 和 TemVal 都是未經聲明變數,並為兩者都發出錯誤信息。隨後就可以顯式聲明 TempVal。
Function SafeSqr (num)
Dim TempVal
TempVal = Abs (num)
SafeSqr = Sqr (TemVal)
End Function
因為 Visual Basic 對拼錯了的 TemVal 顯示錯誤信息,所以能夠立刻明白是什麼問題。由於 Option Explicit 語句有助於抓住這些類型的錯誤,所以最好在所有代碼中使用它。
注意 Option Explicit 語句的作用範圍僅限於語句所在模組,所以,對每個需要 Visual Basic 強制顯式變數聲明的
窗體模組 、
標準模組 及
類模組 ,必須將 Option Explicit 語句放在這些模組的聲明段中。如果選擇“要求變數聲明”,Visual Basic 會在後續的窗體模組、標準模組及類模組中自動插入 Option Explicit,但是不會將它加入到現有代碼中。必須在工程中通過手工將 Option Explicit 語句加到任何現有模組中。
VB變數類型 一、Numeric數據類型
1、Integer(類型符%)
Integer指的是-32768到+32767之間的整數,通常這個範圍已經涵蓋了大多數可能會用到的數字。如果認為要用到的數字可能會超出這個範圍,可以考慮將其定義為Long。
2、Long(類型符&)
這種數據類型垢數字有時又稱為Long Integer。這種數據類型可以處理-2147483648到+2147483647之間的所有數字。與使用2個
位元組 的Integer不同,它使用4位元組記憶體存儲數據。
3、Single(類型符!)
Single適用於需要小數點的數字。Single可以處理-3.402823E38到-1.401298E-45之間的負值和1.401298E_45到3.402823E38之間的正值。
4、Double(類型符#)
這種數據類型需要使用8
位元組 記憶體來存儲數據。如果必須處理超大範圍的值,這種數據類型會很有用。
5、Currency(類型符@)
這種數據類型主要適用於貨幣值。它需要8位元組的記憶體來存儲數據。這種數據類型具有固定的小數位數(4位)。
二、Byte數據類型
某些情況下,可能需要以單個位元組的形式來訪問數據。在這種情況下,就需要使用Byte數據類型。它主要包括0到255之間的整數。Byte數據類型通常用於訪問
二進制檔案 、圖形和聲音檔案。
三、String數據類型(類型符$)
String數據僅用於存儲字元串。
四、Boolean數據類型
這種數據類型的值只能是True或False。對於Visual Basic,False關鍵字表示零值,True表示非零值。
五、Date數據類型
這種數據類型指的是能夠轉換為有效日期的數字或
字元串 數據。