ReDim-udtryk

Erklærer en variabel eller et array.

Syntaks:

[ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]

Desuden kan man tilføje nøgleordet Preserve som en parameter for bevare indholdet af et array efter redimensionering.

Parametre:

VarNavn: Et hvilket som helst variabel- eller arraynavn.

Start, Slut: Numeriske værdier eller konstanter i intervallet fra -32768 til 32767, som angiver antallet af elementer (AntalElementer=(Slut-Start)+1) og indeksområdet.

Start og Slut kan være numeriske udtryk hvis ReDim bliver brugt på procedureniveau.

VarType: Nøgleord som erklærer datatypen af en variabel.

Nøgleord: Variabeltype

Bool: Boolesk variabel (True, False)

Date: Datovariabel

Double: Dobbelt flydende komma variabel (1.79769313486232x10E308 - 4.94065645841247x10E-324)

Integer: Heltalsvariabel (-32768 - 32767)

Long: Stor heltalsvariabel (32 bit) (-2,147,483,648 - 2,147,483,647)

Object: Objektvariabel (kan kun blive defineret efterfølgende med Set !)

[Single]: Enkelt decimaltalsvariabel (3.402823x10E38 - 1.401298x10E-45). Hvis ingen nøgleord er angivet, en variabel er defineret som Enkelt, med mindre a sætning fra DefBool til DefVar bliver brugt.

String: Strengvariabel som indeholder højst 64,000 ASCII-tegn.

Variant: Variant variabeltype (kan indeholde alle typer og er angivet ved definition).

I LibreOffice Basic er det ikke nødvendigt at erklære variable eksplicit (d. v. s. før de bruges), men det anbefales at gøre det. Arrays skal dog altid erklæres eksplicit. Man kan erklære variable eksplicit med Dim-sætningen og bruge kommaer til at skille flere erklæringer. For at erklære en variabel indtastes enten et typeerklæringstegn efter variabelnavnet, eller der bruges et nøgleord for den ønskede variabeltype.

LibreOffice Basic understøtter en- og flerdimensionelle arrays. Alle elementer i et array har samme variabeltype (evt. Variant). Arrays er passende hvis du har brug for at lave lister eller tabeller. Fordelen ved arrays er at det er muligt at adressere individuelle elementer via indekser, som kan formuleres som numeriske udtryk eller variable.

Der er to måder til at sætte indeksområdet for arrays erklæret med Dim-sætningen:

DIM Tekst(20) As String REM 21 elementer nummereret fra 0 til 20

DIM Tekst(5 to 25) As String REM 21 elementer nummereret fra 5 til 25

DIM Tekst$(-15 to 5) As String REM 21 elementer (0 inklusive),

rem nummereret fra -15 til 5

Variabelfelter, uanset type, kan gøres dynamiske, hvis de er dimensioneret med ReDim på procedureniveau i subrutiner eller funktioner. Normalt kan man kun dimensionere et array én gang, og det kan ikke ændres. Inden i en procedure kan man erklære et array ved at bruge ReDim-sætningen med numeriske udtryk for at angive dimensionerne.

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