Ukaz ReDim
Deklarira spremenljivko ali polje.
Skladnja:
[ReDim]Dim ImeSpr [(začetek To konec)] [As SprVrsta][, ImeSpr2 [(začetek To konec)] [As SprVrsta][,...]]
Neobvezno lahko dodate ključno besedo Preserve kot parameter, tako da se pri spreminjanju dimenzij vsebina polja ohrani.
Parametri:
ImeSpr: poljubno ime za spremenljivko ali polje.
Začetek, konec: numerične vrednosti ali konstante, ki določajo število elementov (število elementov=(konec-začetek)+1) in obseg indeksa.
Začetek in konec sta lahko numerična izraza, če se ReDim uporabi na ravni procedure.
SprVrsta: ključna beseda, s katero se definira vrsta spremenljivke.
Ključna beseda: vrsta spremenljivke
Bool: Boolova spremenljivka (Res, Ni Res)
Date: spremenljivka vrste Date
Double: spremenljivka v plavajoči vejici dvojne dolžine (1,79769313486232x10E308 - 4,94065645841247x10E-324)
Integer: cela spremenljivka (-32768 - 32767)
Long: dolga cela spremenljivka (-2.147.483.648 - 2.147.483.647)
Object: Spremenljivka vrste Object (to spremenljivko je mogoče definirati samo z ukazom Set!)
[Single]: spremenljivka v plavajoči vejici enojne dolžine (3,402823x10E38 - 1,401298x10E-45). Če ključna beseda ni določena, se spremenljivka definira kot Single, razen v primeru da se uporablja DefBool do DefVar.
String: Spremenljivka vrste Array (niz) lahko vsebuje največ do 64,000 znakov ASCII.
Variant: spremenljivka vrste Variant (vsebuje vse vrste, navedene v definiciji).
V LibreOffice Basic spremenljivk ni potrebno deklarirati eksplicitno. Če pa hočete uporabiti polje, ga morate predhodno deklarirati. Spremenljivko lahko deklarirate z ukazom Dim, pri čemer z vejicami ločite večkratne deklaracije med seboj. Če želite deklarirati vrsto spremenljivke, uporabite znak za vrsto deklaracije in ime za njim, ali pa ustrezno ključno besedo.
LibreOffice Basic podpira polja z eno ali več dimenzijami, ki so definirati za navedeno vrsto spremenljivk. Polja so primerna pomoč pri delu v programih, ki vsebujejo sezname ali pa tabele, s katerimi želite računati. Prednost polj je v tem, da lahko vedno pridete do posameznih elementov polj s pomočjo indeksov, ki jih formulirate v obliki numeričnih izrazov ali s pomočjo spremenljivk.
Obseg indeksov polj, ki jih deklariramo z ukazom Dim, je mogoče določiti na dva načina:
DIM besedilo(20) as String REM 21 elementov, od 0 do 20
DIM besedilo(5 to 25) as String REM 21 elementov, od 5 do 25
DIM besedilo(-15 to 5) as String REM 21 elementov (vključno z 0)
REM oštevilčeni so od -15 do 5
Neodvisno od njihove vrste je mogoče polja spremenljivk uporabljati dinamično, če jih dimenzioniramo z ukazom ReDim na ravni procedur v podprogramih in funkcijah. Običajno lahko dimenzije za polje določite samo enkrat in jih po tem ne morete več spreminjati. V podprogramu lahko polje deklarirate s pomočjo ukaza ReDim in numeričnih izrazov za velikost polja.
Primer:
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