ReDim Statement
宣告變數或陣列。
語法:
ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]
您也可以選擇增加 Preserve 關鍵字作為參數,保留已重設尺寸的陣列內容。
參數:
VarName:任意變數或陣列名稱。
Start, End: 用於定義元素數量的數值或常數 (NumberElements=(end-start)+1) 和索引範圍。
如果在程序層級採用 ReDim,則 Start 和 End 可以是數值型表示式。
VarType:用於宣告變數的資料類型的關鍵字。
Keyword:變數類型
Bool:布林型變數 (True (真)、False (假))
Date:日期型變數
Double:雙精度型浮點變數 (1.79769313486232 x 10E308 到 4.94065645841247 x 10E-324)
Integer:整數型變數 (-32768 - 32767)
Long:長型整數變數 (-2.147.483.648 - 2.147.483.647)
Objec:物件型變數 (隨後僅能使用 Set 來定義此變數!)。
[Single]:單精度型浮點變數 (3.402823 x 10E38 - 1.401298 x 10E-45)。如果未指定關鍵字,則變數將被定義為單精度型,直到使用 DefBool、DefVar 等陳述式為止。
String:最多可以含有 64,000 個 ASCII 字元的字串型變數。
Variant:變體變數類型 (可包含所有類型並由定義設定)。
在 LibreOffice Basic 中,您無須明確地宣告變數。但是,在使用陣列之前必須先對其進行宣告。您可以使用 Dim 陳述式宣告一個變數 (使用逗號分隔多個宣告)。若要宣告變數類型,請在名稱後輸入類型宣告字元,或者使用對應的關鍵字。
LibreOffice Basic 支援由指定變數類型定義的一維陣列和多維陣列。如果要在程式中編輯清單或表格,則使用陣列是適宜的。使用陣列的優點是,可用索引定位個別的元素,而該索引又可作為數值型表示式或變數來構成公式。
在使用 Dim 陳述式宣告陣列時,有兩種方法可以設定陣列索引的範圍:
DIM text(20) as String REM 編號為 0 到 20 的 21 個元素
DIM text(5 to 25) as String REM 編號為 5 到 25 的 21 個元素
DIM text$(-15 to 5) As String REM 21 個元素 (包括 0),
REM 編號為 -15 到 5
如果在程序級的子常式或函式中透過 ReDim 確定了變數欄位的大小,則無論何種類型,這些變數欄位均可以成為動態欄位。通常,您只能設定一次陣列範圍,且設定之後不能修改。在程序中,您可以使用 ReDim 陳述式透過數值型表示式來定義欄位大小的取值範圍。
示例:
Sub ExampleRedim
Dim iVar() As Integer, iCount As Integer
ReDim iVar(5) As Integer
For iCount = 1 To 5
iVar(iCount) = iCount
Next iCount
ReDim iVar(10) As Integer
For iCount = 1 To 10
iVar(iCount) = iCount
Next iCount
End Sub