Dim Statement
宣告變數或陣列。
如果變數用逗號分隔 (例如,DIM sPar1, sPar2, sPar3 AS STRING),則只能定義為變體型變數。請在單獨的行上定義每個變數。
Dim sPar1 As String
Dim sPar2 As String
Dim sPar3 As String
Dim 宣告子常式中的局部變數。全域變數使用 PUBLIC 或 PRIVATE 陳述式來宣告。
語法:
ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]
參數:
VarName:任意變數或陣列名稱。
Start, End: 用於定義元素數量的數值或常數 (NumberElements=(end-start)+1) 和索引範圍。
如果在程序層級採用 ReDim,則 Start 和 End 可以是數值型表示式。
VarType:用於宣告變數的資料類型的關鍵字。
Keyword:變數類型
Bool:布林型變數 (True (真)、False (假))
Currency:貨幣型變數 (具有 4 位小數的 Currency)
Date:日期型變數
Double:雙精度型浮點變數 (1.79769313486232 x 10E308 到 4.94065645841247 x 10E-324)
Integer:整數型變數 (-32768 - 32767)
Long:長型整數變數 (-2.147.483.648 - 2.147.483.647)
Object:物件型變數 (注意:隨後就只能使用 Set 定義此變數!)
Single:單精度型浮點變數 (3,402823 x 10E38 - 1,401298 x 10E-45).
String:最多可以含有 64,000 個 ASCII 字元的字串型變數。
[Variant]:變體型變數類型 (包含由定義指定的所有類型)。如果未指定關鍵字,除非使用 DefBool、DefVar 等陳述式,否則自動將變數定義為變體型類型。
在 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
二維資料欄位
DIM text(20,2) as String REM 63 個元素:第 1 級的 0 到 20;第 2 級的 0 到 20;第 3 級的 0 到 20。
如果使用 ReDim 陳述式在包含某個陣列的子常式或函式中定義了尺寸大小,則您可以將該陣列的類型宣告為動態。通常,您只能定義一次陣列尺寸,並且定義之後不能修改。在子常式中,您可以使用 ReDim 宣告陣列。您可以僅使用數值型表示式定義尺寸,這樣可以確保欄位可依需要變化。
示例:
Sub ExampleDim1
Dim sVar As String
Dim iVar As Integer
sVar = "Star Office"
End Sub
Sub ExampleDim2
二維資料欄位
Dim stext(20,2) As String
Const sDim as String = " Dimension:"
For i = 0 To 20
For ii = 0 To 2
stext(i,ii) = str(i) & sDim & str(ii)
Next ii
Next i
For i = 0 To 20
For ii = 0 To 2
MsgBox stext(i,ii)
Next ii
Next i
End Sub