Modul
Indhold
Indholdsfortegnelse 🔎︎

# Dim-udtryk

Erklærer en variabel eller et array.

Hvis der ikke er angivet en variabeltype for variablen (f.eks. Dim sPar1), og der ikke er sat en standardvariabeltype med DefXXX, vil variablen blive erklæret med typen Variant. Man kan erklære flere variable med samme Dim-sætning.

    Dim sPar1 As String
    Dim sPar2 As String
    Dim sPar3 As String

Når Dim anvendes i en subrutine, er de erklærede variable kun synlige indenfor subrutinen. Når Dim anvendes i et modulhoved, er de erklærede variable synlige for alle moduler i det erklærende biblioteks beholder. Beholderen kan være den generelle beholder soffice eller det aktuelle dokument.

## Syntaks:

    Dim VarNavn [(start To end)] [As VarType][, VarNavn2 [(start To end)] [As VarType2][,...]]

## 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 end kan være numeriske udtryk hvis ReDim bliver anvendt på procedureniveau.

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

Nøgleord: Variabeltype

Bool: Boolesk variabel (True, False)

Currency: Valuta-Variabel (Valuta med 4 decimaler)

Date: Datovariabel

Double: Dobbelt-nøjagtig decimaltalsvariabel (1,79769313486232 X 10E308 - 4,94065645841247 X 10E-324)

Integer: Heltalsvariabel (-32768 - 32767)

Long: Stor heltalsvariabel (32 bit) (-2.147.483.648 - 2.147.483.647)

Object: Objektvariabel (Bemærk: denne variabel kan kun efterfølgende blive defineret med Set !)

Single: Enkelt-nøjagtig decimaltalsvariabel (3,402823 X 10E38 - 1,401298 X 10E-45).

String: Strengvariabel bestående af højst 64,000 ASCII-tegn.

[Variant]: Variabeltypen Variant kan indeholde variable af alle typer (typen bestemmes ved tildeling af værdi til variablen). Hvis et nøgleord ikke er angivet som parameter til Dim, bliver variable automatisk erklæret som typen Variant, med mindre en DefXXX-sætning (DefBool...DefVar) bliver brugt.

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.

Arrays kan erklæres med Dim-sætningen. Der er to metoder til at definere indeksområdet:

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

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

DIM text(-15 to 5) As String REM 21 elementer (inklusiv 0)

REM nummereret fra -15 til 5

Todimensionelt array

DIM text(20,2) As String REM 63 elementer; fra 0 til 20 niveau 1, fra 0 til 20 niveau 2 og fra 0 til 20 niveau 3.

Generelt kan man kun erklære et array én gang. Inde i en subrutine er det dog muligt at erklære et array med ReDim.

## Eksempel:

    Sub ExampleDim1
    Dim sVar As String
    Dim iVar As Integer
        sVar = "Kontor"
    End Sub

    Sub ExampleDim2
    REM Todimensionelt array
    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