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