VB學習中 之四 陣列與結構

2021-03-31 08:56:59 字數 1838 閱讀 4214

靜態一維陣列

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

VB學習中 之五 過程與函式

子過程 sub 的定義 事件過程 窗體事件過程 private sub form 事件名 引數列表 區域性變數和常數宣告 語句塊end sub 說明 1 窗體事件過程名由form 事件名組成,多文件窗體用mdiform 事件名。2 每個窗體事件過程名前都有乙個private的字首,表示該事件過程不能...

java基礎學習之陣列 四

概念 陣列就是同一種型別那個資料的集合,是乙個容器,是引用型別,儲存在堆中。好處 可以自動給陣列中的元素從0開始編號,方便操作這些元素 格式 1.int arr new int 5 建立乙個長度為5 的,變數名為arr,型別為整型的陣列。2.int arr new int arr 陣列中常見問題 1...

Numpy之結構陣列與陣列持久化

在numpy中可能會用到類似c語言中的結構體,numpy中定義結構陣列的方法也比較簡單 1 import numpy as np 2 person np.dtype 3 p np.arrary zhang 32,75.5 wang 25,60.5 dtype person 字典有兩個關鍵字 name...