ReDim-uttrykket
Deklarere ein variabel inne i ein tabell.
Syntaks:
[ReDim]Dim VarNamn [(start TO slutt)] [As VarType][, VarNamn2 [(start TO slutt)] [As VarType][,...]]
Du kan eventuelt leggja til nøkkelordet Preserve som ein parameter for å bevara innhaldet i tabellen etter at han er omdimensjonert.
Parametrar:
VarNamn: Eit variabel- eller tabellnamn.
Start, Slutt: Numeriske verdiar eller konstantar som bestemmer talet på element (TalPåElement = (slutt - start) + 1) og indeksområdet.
Start og Slutt kan vera numeriske uttrykk viss ReDim er brukt på prosedyrenivået.
VarType: Nøkkelord som deklarerer datatypen for variabelen.
Nøkkelord: Variabeltype
Bool: Boolsk variabel (SANN, USANN)
Date: Datovariabel
Double: Desimalvariabel (floating point) av typen Double (1.79769313486232x10E308 til 4.94065645841247x10E-324)
Integer: Heiltalsvariabel (-32768 til 32767)
Long: Heiltalsvariavel av typen Long (-2,147,483,648 til 2,147,483,647)
Objekt: Objekt-variabel (kan seinare berre definerast med «Set»
[Single]: Desimaltalsvariabel (floating-point) av typen Single variable (3,402823x10E38 til 1,401298x10E-45). Viss det ikkje er spesifisert eit nøkkelord, vert ein variabel definert som Single viss ikkje eit av uttrykka DefBool til DefVar er brukt.
String: Strengvariabel med opp til 64,000 ASCII-teikn.
Variant: Variabel av typen Variant (kan innehalda alle typar og vert sett ved defineringa).
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.
Det er to måtar å setja indeksområdet for tabellar som er deklarerte med Dim-uttrykket:
DIM tekst(20) As String REM 21 element nummerert frå 0 til 20
DIM tekst(5 to 25) As String REM 21 element nummerert frå 5 til 25
DIM tekst$(-15 to 5) As String REM 21 element (inklusiv 0),
REM nummerert frå -15 til 5
Variabelfelt, uavhengig av type, kan gjerast dynamiske dersom dei er dimensjonert med ReDim på prosedyrenivået i ein subrutine eller i ein funksjon. Normalt kan du dimensjonera ein tabell berre ein gong og du kan ikkje endra det. Inne i ein prosedyre kan du deklarera ein tabell ved å bruka ReDim-utsegnet med numeriske uttrykk for å definera området for feltstorleiken.
Eksempel:
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