Dim Statement
Deklaras variablon aŭ tabelon.
Se komoj apartigas la variablojn (ekzemple, DIM sPar1, sPar2, sPar3 AS STRING), eblas difini nur Variant-variablojn. Uzu apartan difinan linion por ĉiu variablo.
Dim sPar1 As String
Dim sPar2 As String
Dim sPar3 As String
Dim deklaras lokajn variablojn en subproceduroj. Mallakajn variablojn deklaru per la ordono PUBLIC aŭ PRIVATE.
Sintakso:
[ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]
Parametroj:
VarName: Nomo de variablo aŭ tabelo.
Start, End: Numeraj valoroj aŭ konstantoj, kiuj difinas la nombron de elementoj (NumberElements=(end-start)+1) kaj la indican amplekson.
Start kaj End povas esti numeraj esprimoj se oni aplikas ordonon ReDim ĉe la procedura nivelo.
VarType: Ŝlosila vorto kiu deklaras la datumtipon de variablo.
Keyword: Variabla tipo
Bool: Bulea variablo (True, False)
Currency: Vaulta variablo (Valuto kun 4 dekumaj pozicioj)
Date: Data variablo
Double: Duoble-preciza reela variablo (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)
Integer: Entjera variablo (-32768 - 32767)
Long: Longa entjera variablo (-2.147.483.648 - 2.147.483.647)
Object: Objekta variablo (Notu: Eblas poste difini ĉi tiun variablon per Set!)
Single: Ordinare-preciza reela variablo (3,402823 x 10E38 - 1,401298 x 10E-45).
String: Ĉena variablo konsistante el maksimume 64,000 Askiaj signoj.
[Variant]: Variant-variabla tipo (enhavas ĉiujn tipojn, specifita per difino). Se ŝlosilvorto ne estas difinita, variabloj aŭtomate difiniĝas kiel Variant-tipa, krom se uziĝas ordono de DefBool ĝis DefVar.
En LibreOffice Basic, oni ne bezonas eksplicite deklari variablojn. Tamen, necesas deklari tabelon antaŭ ol uzi ĝin. Oni povas deklari variablon per la ordono Dim, uzante komojn por apartigi plurajn deklarojn. Por deklari variablan tipon, tajpu tipdeklaran signon post la nomo aŭ uzu la respektivan ŝlosilvorton.
LibreOffice Basic subtenas unu- aŭ plur-dimensiajn tabelojn difinitajn per specifa variabla tipo. Tabeloj taŭgas se la programo enhavas listojn aŭ tabelojn redaktotajn. La avantaĝo de tabeloj estas ke eblas adresi unuopajn elementojn laŭ indicoj, kiuj estas formuleblaj kiel numeraj esprimoj aŭ variabloj.
Oni deklaras tabelojn per la ordono Dim. Estas du metodoj por difini la indican amplekson:
DIM text(20) as String REM 21 elementoj nombritaj de 0 ĝis 20
DIM text(5 to 25) as String REM 21 elementoj nombritaj de 5 ĝis 25
DIM text(-15 to 5) as String REM 21 elementoj (inkluzive de 0)
REM nombritaj de -15 ĝis 5
Du-dimensia datuma kampo
DIM text(20,2) as String REM 63 elementoj; de 0 ĝis 20 nivelo 1, de 0 ĝis 20 nivelo 2 kaj de 0 to 20 nivelo 3.
Oni povas deklari tabelan tipon esti dinamika se ordono ReDim difinas la nombron da dimensioj en la subproceduro aŭ la funkcio kiu enhavu la tabelon. Ĝenerale, oni povas difini tabelon nur unufoje, kaj oni ne povas modifi ĝin. Ene de subproceduro, oni povas deklari tabelon per ReDim. Oni povas difini dimensiojn nur per numeraj esprimoj. Tio certigas ke la kampoj estas nur tiel larĝaj kiel necesas.
Ekzemplo:
Sub ExampleDim1
Dim sVar As String
Dim iVar As Integer
sVar = "Office"
End Sub
Sub ExampleDim2
Du-dimensia datuma kampo
Dim stext(20,2) As String
Const sDim as String = " Dimensio:"
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