ReDim Statement

Deklarerar en variabel eller en matris.

Syntax:

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

Du kan ocksÄ lÀgga till nyckelordet Preserve som en parameter om du vill ha kvar innehÄllet i matrisen som dimensioneras om.

Parametrar:

VarName: Ett variabel- eller matrisnamn.

Start, End: Numeriska vÀrden eller konstanter som definierar antalet element (NumberElements=(end-start)+1) och indexintervallet.

start och end kan vara numeriska uttryck om ReDim anvÀnds pÄ procedurnivÄn.

VarTyp: Nyckelord som deklarerar variabelns datatyp.

Nyckelord: Variabeltyp

Bool: Booleansk variabel (True, False)

Date: Datumvariabel

Double: Flyttal av typen Double (1,79769313486232x10E308 - 4,94065645841247x10E-324)

Integer: Heltalsvariabel (-32 768 - 32 767)

Long: Variabel för lÄngt heltal (-2 147 483 648 -2 147 483 647)

Object: Objektvariabel (senare kan den bara definieras med Set!)

[Single]: Enkel flyttalsvariabel (3,402823x10E38 - 1,401298x10E-45). Om inget nyckelord har angetts definieras en variabel som Single, sÄvida inte en sats frÄn DefBool till DefVar anvÀnds.

String: StrÀngvariabel som innehÄller högst 64 000 ASCII-tecken.

Variant: Variabeltypen Variant (kan innehÄlla alla typer och anges per definition).

I LibreOffice Basic behöver du inte deklarera variabler explicit. Du mÄste dock deklarera en matris innan du kan anvÀnda dem. Du kan deklarera en variabel med Dim-uttrycket och anvÀnda komman för att separera flera deklarationer. Om du vill deklarera en variabeltyp anger du ett skriv-deklarationstecken efter namnet eller anvÀnder ett motsvarande nyckelord.

LibreOffice Basic stöder enkla eller flerdimensionella matrisvariabler dÀr elementen Àr av den variabeltyp som anges i deklarationen. Matriser Àr bra om programmet innehÄller listor och tabeller som du vill redigera. Fördelen med matriser Àr att du kan anropa enskilda element utifrÄn index som sedan kan formuleras som numeriska uttryck och variabler.

Det finns tvÄ sÀtt att ange indexomrÄden för matriser som deklarerats med Dim-satsen.

DIM text(20) As String REM 21 element numrerade frÄn 0 till 20

DIM text(5 to 25) As String REM 21 element numrerade frÄn 5 till 25

DIM text$(-15 to 5) As String REM 21 element (inklusive 0),

rem numrerade frÄn -15 till 5

Du kan göra variabelfÀlt dynamiska, oavsett typ, om de Àr dimensionerade av ReDim pÄ procedurnivÄ i subrutiner eller funktioner. Normalt kan du bara ange omrÄdet för en matris en gÄng och du kan inte Àndra det. I proceduren kan du deklarera en matris genom att anvÀnda ReDim-satsen med numeriska uttryck som definierar fÀltstorlekarnas intervall.

Exempel:

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