Module
Contents
Index 🔎︎

# Dim Statement

Declara una variable o una matriu.

Si les variables estan separades per comes (per exemple, DIM sPar1, sPar2, sPar3 AS STRING), només les variables Variant es poden definir. Utilitzeu una línia de definició separada per a cada variable.

    Dim sPar1 As String

    Dim sPar2 As String

    Dim sPar3 As String

Dim declara les variables locals dins de subrutines. Les variables globals es declaren amb les expressions PUBLIC o PRIVATE.

## Sintaxi:

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

## Paràmetres:

VarName: Qualsevol nom de variable o de matriu.

Start, End: Valors numèrics o constants que defineixen el nombre d'elements (NombreElements=(fi-inici)+1) i l'interval d'índex.

Start i End poden ser expressions numèriques si ReDim s'aplica al nivell de procediment.

VarType: Paraula clau que declara els tipus de dades d'una variable.

Paraula clau: Tipus de variable

Bool: Variable booleana (Cert, Fals)

Currency: Variable Currency (Currency amb 4 llocs decimals)

Data: Variable de data

Double: Variable de coma flotant de precisió doble (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: Variable d'enter (-32768 - 32767)

Long: Variable d'enter llarga (-2.147.483.648 - 2.147.483.647)

Object: Variable d'objecte (Nota: esta variable només es pot definir posteriorment amb Set!)

Single: Variable de coma flotant de precisió senzilla (3,402823 x 10E38 - 1,401298 x 10E-45).

Cadena: Variable de cadena que consta d'un màxim de 64.000 caràcters ASCII.

[Variant]: Tipus de variable de variant (conté tots els tipus, especificats per definició). Si no s'especifica una paraula clau, les variables es defineixen automàticament com a tipus variant, a menys que s'utilitze una expressió de DefBool a DefVar.

Al LibreOffice Basic no cal que declareu les variables explícitament. No obstant això, cal que declareu una matriu abans de poder utilitzar-les. Podeu declarar una variable amb l'expressió Dim, fent servir comes per separar múltiples declaracions. Per declarar un tipus de variable, introduïu un caràcter de declaració de tipus després del nom, o utilitzeu la paraula clau corresponent.

El LibreOffice Basic admet matrius de dimensió senzilla o múltiple que es defineixen amb un tipus de variable especificat. Les matrius són adequades si el programa conté llistes o taules que voleu editar. L'avantatge de les matrius és que és possible adreçar elements individuals segons els índexs, que es poden formular com a expressions numèriques o variables.

Les matrius es declaren amb l'expressió Dim. Existeixen dos mètodes per definir l'interval d'índex:

DIM text(20) as String REM 21 elements numerats del 0 al 20

DIM text(5 to 25) as String REM 21 elements numerats del 5 al 25

DIM text(-15 to 5) as String REM 21 elements (inclòs el 0)

REM numerat de -15 a 5

Camp de dades de dues dimensions

DIM text(20,2) as String REM 63 elements; form 0 to 20 level 1, from 0 to 20 level 2 and from 0 to 20 level 3.

Podeu declarar un tipus de matriu com a dinàmic si l'expressió ReDim defineix el nombre de dimensions a la subrutina o a la funció que conté la matriu. Generalment, només podeu definir una dimensió de matriu un cop, i no podeu modificar-la. Dins d'una subrutina, podeu declarar una matriu amb ReDim. Només podeu definir dimensions amb expressions numèriques. Això garanteix que els camps només són tan grans com és necessari.

## Exemple:

    Sub ExampleDim1

    Dim sVar As String

    Dim iVar As Integer

        sVar = "Office"

    End Sub

    Sub ExampleDim2

    ' Camp de dades de dues dimensions

    Dim stext(20,2) As String

    Const sDim as String = " Dimensió:"

    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