Dim Statement

Deklarerar en variabel eller en matris.

Om variablerna avgrÀnsas med kommatecken (t.ex. DIM sPar1, sPar2, sPar3 AS STRING) kan endast Variant-variabler definieras. AnvÀnd separata definitionsrader för varje variabel.

Dim sPar1 As String

Dim sPar2 As String

Dim sPar3 As String

Dim deklarerar lokala variabler inne i subrutiner. Globala variabler deklareras med instruktionen PUBLIC eller PRIVATE.

Syntax:

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

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Ä.

VarTyp: Nyckelord som deklarerar variabelns datatyp.

Nyckelord: Variabeltyp

Bool: Booleansk variabel (True, False)

Currency: Valutavariabel (Currency med 4 decimaler)

Date: Datumvariabel

Double: Flyttal av typen Double (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: Heltalsvariabel (-32 768 - 32 767)

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

Object: Objektvariabel (Obs: variabeln kan senare definieras med Set)

Single: Flyttal av typen Single (mellan 1,401298 x 10E-45 och 3,402823 x 10E308)

String: StrÀngvariabel som innehÄller maximal 64 000 ASCII-tecken.

[Variant]: Variabel av typen Variant (kan innehÄlla alla datatyper, anges i definitionen). Om ett nyckelord inte anvÀnds definieras variabler automatiskt som Variant-variabler, om inte ett prefix som definierats med DefBool eller DefVar anvÀnds.

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.

Matriser deklareras med instruktionen Dim. Det finns tvÄ sÀtt att definiera matrisens dimensioner:

DIM text(20) as String REM 21 element med index frÄn 0 till 20

DIM text(5 to 25) as String REM 21 element med index frÄn 5 till 25

DIM text(-15 to 5) as String REM 21 element (inklusive 0)

REM numrerade frÄn -15 till 5

TvÄdimensionellt datafÀlt

DIM text(20,2) as String REM 63 element; frÄn 0 till 20 i dimension 1, frÄn 0 till 20 dimension 2 och frÄn 0 till 20 dimension 3.

Du kan deklarera en dynamisk matris genom att anvÀnda ett ReDim-uttryck för att Àndra matrisens dimensioner (i den subrutin eller funktion dÀr matrisen Àr definierad). Icke-dynamiska matriser definieras en gÄng, och kan inte Àndras senare. Inne i en subrutin kan du deklarera en matris med ReDim. Matrisens dimensioner mÄste definieras med numeriska uttryck. Detta sÀkerstÀller att matrisens fÀlt inte blir större Àn nödvÀndigt.

Exempel:

Sub ExampleDim1

Dim sVar As String

Dim iVar As Integer

    sVar = "Office"

End Sub

 

Sub ExampleDim2

' TvÄdimensionellt datafÀlt

Dim stext(20,2) As String

Const sDim as String = " Dimension:"

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