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