Dim-uttrykket
Deklarere ein variabel inne i ein tabell (array)
Viss variablane er skilde med komma (for eksempel DIM sPar1, sPar2, sPar3 AS STRING), kan berre variantvariablar definerast. Bruk ei ny linje for kvar variabeldefinisjon.
Dim sPar1 As String
Dim sPar2 As String
Dim sPar3 As String
Dim deklarerer lokale variablar inne i subrutinar. Globale variablar vert deklarerte med uttrykket PUBLIC eller PRIVATE.
Syntaks:
[ReDim]Dim VarNamn [(start TO slutt)] [As VarType][, VarNamn2 [(start TO slutt)] [As VarType][,...]]
Parametrar:
VarName: Eit variabel- eller tabellnamn.
Start, Slutt: Numeriske verdiar eller konstantar som bestemmer talet på element (TalElement = (slutt - start) + 1) og indeksområdet.
Start og Slutt kan vera numeriske uttrykk viss ReDim er brukt på prosedyrenivået.
VarType: Nøkkelord som bestemmer datatypen for ein variabel.
Nøkkelord: Variabeltype
Bool: Boolsk variabel (SANN, USANN).
Valuta: Valutavariabel (med 4 Desimalplassar)
Date: Dato variabel
Double: Dobbel-presisjon desimaltalvariabel (floating-point) (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)
Integer: Heiltalsvariabee (-32768 till 32767)
Long: Heiltalsvariabel av typen Long (-2.147.483.648 til 2.147.483.647)
Objekt: Objektvariabel (Merk: Denne variabelen kan berre i ettertid definerast med «Set»).
Single: Singel-presisjon desimalvariabel (floating-point)(3,402823 x 10E38 til 1,401298 x 10E-45).
String: Strengvariabel med opp til 64.000 ASCII-teikn.
[Variant]: Variabeltypen Variant kan innehalda variablar av alle typar. Typen vert definert ved tildeling av verdi til variabelen. Viss det ikkje er oppgjeve noko nøkkelord, vert variablar automatisk definerte som Variant-typar, unntatt viss eit uttrykk frå DefBool til DefVar er brukt.
I LibreOffice Basic treng du ikkje deklarera variablane eksplisitt (dvs. før du brukar dei). Tabellar (arrays) må derimot alltid deklarerast før dei vert brukte. Du kan deklarera ein variabel med Dim-uttrykket der du brukar komma for å skilja mellom fleire deklarasjonar. For å deklarera ein variabeltype, skriv du inn eit typedeklareringsteikn etter variabelnamnet eller brukar eit nøkkelord for variabeltypen.
LibreOffice Basic har støtte for ein- eller fleirdimensjonelle tabellar (arrays) som er definerte med ein spesifisert variabeltype. Tabellar høver godt viss programmet inneheld lister eller tabellar som du ønskjer å redigera. Fordelen med tabellar, er at det er råd å adressera kvart element ved hjelp av indeksen, som kan vera eit taluttrykk eller ein variabel.
Tabellar (arrays) vert deklarerte med DIM-uttrykket. Det er to måtar å definere indeksområdet på:
DIM tekst(29 as String ' 21 element nummererte frå 0 til 20.
DIM tekst(5 to 25) as String ' 21 element nummererte frå 5 til 25
DIM tekst(-15 to 5) as String ' 21 element (inklusiv 0)
REM nummerert frå -15 til 5
To-dimensjonale datafelt
DIM tekst(20,2) as String ' 63 element, frå 0 til 20 lnivå 1, frå 0 til 20 nivå 2 og frå 0 til 20 nivå 3.
Du kan deklarera ein tabell-type (array) som dynamisk ved å bruka eit ReDim-uttrykk for å definera dimensjonane i subrutinen eller funksjonen som inneheld tabellen. Normalt kan du definera ein tabelldimensjon éin gong, og du kan ikkje endra dimensjonen. Inne i ein subrutine kan du deklarera ein tabell med ReDim. Du kan definera dimensjonar berre med taluttrykk. Dette gjer at felta ikkje vert større enn nødvendig.
Eksempel:
Sub ExampleDim1
Dim sVar As String
Dim iVar As Integer
sVar = "Office"
End Sub
Sub ExampleDim2
' To-dimensjonalt datafelt
Dim stext(20,2) As String
Const sDim As String = " Dimensjon:"
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