[VB學習中]之四:陣列與結構
靜態一維陣列
Dim 陣列名(下標) [As 型別]
說明:
(1)下標必須為常數,不可以為表示式或變數。
(2)下標下界最小為-32768,最大上界為32767。
(3)省略下界,其預設值為為0,一維陣列的大小為:上界-下界+1。
靜態多維陣列
Dim 陣列名(下標1[,下標2…]) [As 型別]
說明:
(1)下標個數決定陣列的維數,最多60維。
(2)陣列的大小=每一維大小的乘積。
動態陣列
ReDim 陣列名(下標1[,下標2…]) [As 型別]
說明:
(1)在動態陣列ReDim語句中的下標可以是常量,也可以是有了確定值的變數。
(2)在過程中可以多次使用ReDim來改變陣列的大小,也可改變陣列的維數
(3)每次使用ReDim語句都會使原來陣列中的值丟失,可以在ReDim語句後加Preserve引數來保留陣列中的資料,但使用Preserve只能改變最後一維的大小,前面幾維大小不能改變。
陣列賦值
(1)利用迴圈結構
Dim A(1 To 10) As Integer
For i=1 To 10
A(i)=0
Next i
(2)利用Array函式
Dim a As Variant, b As Variant
'Dim a() As Variant,b() '必須變體型,可定義成動態陣列
a = Array (1,2,3,4,5)
b = Array ("abc","def","67")
(3)直接將一個數組的值賦值給另一個數組
Dim a(3) as integer, b() as integer
'Dim a(3) as interger,b '只有這兩種定義形式才能正常賦值
A(0)=2: A(1)=5: A(2)=-2: A(3)=2
b=a
說明:
(1)賦值號兩邊的資料型別必須一致。
(2)如果賦值號左邊的是一個動態陣列,則賦值時系統自動將動態陣列ReDim成右邊相同大小的陣列。
(3)如果賦值號左邊的是一個大小固定的陣列,則陣列賦值出錯。
控制元件陣列
(1)控制元件陣列通過索引號(屬性中的Index)來標識各控制元件,第一個下標是0 。如:Text1(0)、Text1(1)、Text1(2)、Text1(3)……
(2)在程式設計時通過Load方法新增其餘若干個元素,也可以通過Unload刪除某個新增的元素。
(3)每個新增的控制元件陣列通過Left 和Top屬性,確定其在窗體上的位置,並將Visible設定為True。
自定義資料型別
Type 自定義型別名
元素名[(下標)] As 型別名
……
元素名[(下標)] As 型別名
End Type
使用形式:Dim 變數名 As 自定義型別名
自定義型別中元素的表示方法是:變數名.元素名
說明:
(1)自定義型別一般在標準模組(.bas)中定義,預設是Public。
(2)自定義型別中的元素可以是字串,但應是定長字串。
(3)不可把自定義型別名與該型別的變數名混淆。
(4)注意自定義型別變數與陣列的差別:它們都由若干元素組成,前者的元素代表不同性質、不同型別的資料,以元素名錶示不同的元素;後者存放的是同種性質、同種型別的資料,以下標表示不同元素。
(5)同種自定義型別變數可以直接賦值,自定義型別陣列就是陣列中的每個元素都是自定義型別。