ReDim instrukzioa

Aldagaiak edo matrizeak deklaratzen edo berriro definitzen ditu.

Sintaxia:

ReDim instrukzioaren diagrama


ReDim [Preserve] aldagaia [(start To end)] [As motaizena][, aldagaia2 [(start To end)] [As tipoizena][,...]]

Aukeran, gehitu Preserve gako-hitza dimentsioa aldatuko zaion matrizearen edukiak mantentzeko. ReDim instrukzioa azpierrutinetan soilik erabili daiteke.

Parametroak:

aldagaia: Edozein aldagairen edo matrizeren izena.

tipoizena: Aldagai baten datu mota deklaratzen duen gako-hitza.

jatorrizko datu moten zatia

Byte: Byte motako aldagaia (0-255)

Boolean: Aldagai boolearra (True, False)

Currency: Moneta motako aldagaia (moneta 4 dezimalekin)

Date: data-aldagaia

Double: Doitasun bikoitzeko koma mugikorreko 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 motako aldagaia (Oharra: Aldagai hau Set bidez soilik definitu 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 motako aldagaia (mota guztiak ditu, definizioaren arabera zehaztuak). Mota baten izena zehazten ez bada, aldagaiak automatikoki Variant motakoak direla definituko da, DefBool eta DefVar arteko instrukzio bat erabiltzen bada salbu.

object: Universal Network object (UNO) objektua edo ClassModule objektu-instantzia.

char: Aldagai baten datu mota deklaratzen duen karaktere berezia.

Mota deklarazio-karaktereen zatia

LibreOffice Basic lengoaian ez dira aldagaiak esplizituki deklaratu behar. Hala ere, matrizeak deklaratu behar dira haiek erabili baino lehen. Dim instrukzioa erabilita deklaratu daitezke aldagaiak, komak (,) erabilita deklarazio anitz banatzeko. Aldagai mota bat deklaratzeko, sartu mota-deklarazioko karaktere bat eta haren ondoren izen bat, edo erabili hari dagokion motaren gako-hitz baten izena.

Declaration character

Variable type name

%

Integer

&

Long

!

Single

#

Double

$

String

@

Currency


matrizea: Matrize-deklarazioa.

matrize-zatia

hasiera, amaiera: Zenbakizko balioak edo konstanteak, elementu kopurua (ElementuKopurua=(amaiera-hasiera)+1) eta indize-barrutia definitzen dituztenak.

hasiera eta amaiera zenbakizko adierazpenak izan daitezke ReDim prozedura-mailan aplikatzen bada.

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 instrukzioarekin deklaratzen dira. Indize-barrutia definitzeko modu anitz dago:


  Dim text(20) As String ' 21 elementu, 0 eta 20 arteko zenbakiak dituztenak
  Dim value(5 to 25) As Integer ' 21 balio, 5 eta 25 arteko zenbakiak dituztenak
  Dim amount(-15 to 5) As Currency ' 21 kantitate (0 barne), -15 eta 5 arteko zenbakiak dituztenak
  REM Bi dimentsiotako datu-eremua
  Dim table$(20,2) ' 63 elementu; 0 eta 20 artekoak 1. mailan, 0 eta 20 artekoak 2. mailan eta 0 eta 20 artekoak 3. mailan.

Matrize mota bat dinamiko modura deklaratu daiteke ReDim instrukzio batek matrizea duen azpierrutinaren edo funtzioaren dimentsio kopurua definitzen badu. Oro har, matrize-dimentsio bat behin bakarrik definitu daiteke, eta gero ezin da aldatu. Azpierrutina baten barruan, ReDim erabili daiteke matrize bat deklaratzeko. Dimentsioak zenbakizko adierazpenekin soilik definitu daitezke. Horrek ziurtatzen du eremuak ez direla beharrezkoa dena baino handiagoak.

Adibidea:


Sub ExampleRedim
    Dim iVar() As Integer, iCount As Byte
    ReDim iVar(5) As Integer
    For iCount = 1 To 5
        iVar(iCount) = iCount
    Next iCount
    ReDim iVar(10) As Integer
    For iCount = 1 To 10
        iVar(iCount) = iCount
    Next iCount
End Sub

Emaguzu laguntza!