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