1. 程式人生 > >[VB學習中]之四:陣列與結構

[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)同種自定義型別變數可以直接賦值,自定義型別陣列就是陣列中的每個元素都是自定義型別。