Module
Contents
Index 🔎︎

# 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