Edukiak
Indizea 🔎︎

# Dim instrukzioa

Aldagaiak edo matrizeak deklaratzen ditu.

Aldagaiak koma bidez bereizten badira (adibidez, DIM sPar1, sPar2, sPar3 AS STRING), Variant aldagaiak bakarrik defini daitezke. Erabili definizio-lerro bat aldagai bakoitzarentzat.

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

Dim instrukzioak aldagai lokalak deklaratzen ditu azpierrutinetan. Aldagai globalak PUBLIC edo PRIVATE instrukzioekin deklaratzen dira.

## Sintaxia:

    [ReDim]Dim AldagaiIzena [(hasiera To amaiera)] [As AldagaiMota][, AldagaiIzena2 [(hasiera To amaiera)] [As AldagaiMota][,...]]

## Parametroak:

AldagaiIzena: aldagai- edo matrize-izena.

Hasiera, Amaiera: Elementu kopurua (ElementuKopurua=(amaiera-hasiera)+1) eta indizearen barrutia definitzen duten zenbakizko balioak edo konstanteak.

Hasiera eta Amaiera zenbakizko adierazpenak izan daitezke, ReDim prozedura-mailan erabiltzen bada.

AldagaiMota: aldagaien datu mota deklaratzen duen gako-hitza.

Gako-hitza: aldagai mota

Bool: aldagai boolearra (True, False)

Currency: moneta-aldagaia (4 dezimalekin)

Date: data-aldagaia

Double: doitasun bikoitzeko koma mugikorraren aldagaia (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: osoko aldagaia (-32768 - 32767)

Long: osoko aldagai luzea (-2.147.483.648 - 2.147.483.647)

Object: objektu-aldagaia (oharra: gero Set-en bidez bakarrik defini daiteke!)

Single: doitasun bakuneko koma mugikorraren aldagaia (3,402823 x 10E38 - 1,401298 x 10E-45).

String: gehienez 64.000 ASCII karaktere dituen kate-aldagaia.

[Variant]: Variant aldagai mota (definizioan zehaztutako mota guztiak ditu). Gako-hitzik zehaztu ez bada, aldagaiak automatikoki Variant mota gisa definituko dira, baldin eta DefBool eta DefVar bitarteko instrukzio bat erabiltzen ez bada.

LibreOffice Basic-en aldagaiak ez dituzu esplizituki deklaratu behar. Hala ere, matrizeak deklaratu egin behar dira erabili aurretik. Aldagaiak Dim instrukzioaren bidez deklara ditzakezu, komak erabiliz deklarazio anizkoitzak bereizteko. Aldagai mota bat deklaratzeko, sartu motaren deklarazio-karakterea eta ondoren izena edo erabili dagokion gako-hitza.

LibreOffice Basic-ek array bakunak edo anizkoitzak erabiltzen ditu, eta array horiek aldagai mota jakin batek zehazten ditu. Matrizeak egokiak dira programak editatu beharreko zerrendak edo taulak baditu. Matrizeen abantaila da elementu indibidualak indizeak kontuan hartuta helbideratu daitezkeela, eta horiek zenbakizko adierazpen edo aldagai gisa zehaztu daitezke.

Matrizeak Dim instrukzioaren bidez deklaratzen dira. Indizearen barrutia definitzeko bi metodo daude:

DIM text(20) as String REM 21 elementu 0tik 20ra zenbakituta

DIM text(5 to 25) as String REM 21 elementu, 5etik 25era zenbakituta

DIM text(-15 to 5) as String REM 21 elementu (0 barne)

REM -15etik 5era zenbakituta

Bi neurritako datu-eremua

DIM text(20,2) as String REM 63 elementu; 0tik 20ra 1. maila, 0tik from 20ra 2. maila eta 0tik 20ra 3. maila.

Matrize motak dinamiko gisa deklara ditzakezu, ReDim instrukzioak neurrien zenbatekoa matrizea duen azpierrutinan edo funtzioan definitzen badu. Normalean, matrize-neurriak behin bakarrik defini ditzakezu, eta ezin dituzu aldatu. Azpierrutinetan, matrizeak ReDim-en bidez deklara ditzakezu. Neurriak zenbakizko adierazpenekin bakarrik defini ditzakezu. Horrela, eremuek behar adinako tamaina dutela ziurtatzen da.

## Adibidea:

    Sub ExampleDim1
    Dim sVar As String
    Dim iVar As Integer
        sAlda = "Bulegoa"
    End Sub

    Sub ExampleDim2
    ' Bi dimentsiotako datu-eremua
    Dim stext(20,2) As String
    Const sDim as String = " Neurria:"
    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