ReDim Statement

Deklaras variablon aŭ tabelon.

Sintakso:

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

Nedevige, oni povas aldoni ŝlosilvorton Preserve kiel parametron por konservi la enhavon de la tabelo kies dimensio estas ŝanĝota.

Parametroj:

VarName: Nomo de variablo aŭ tabelo.

Start, End: Numeraj valoroj aŭ konstantoj, kiuj difinas la nombron de elementoj (NumberElements=(end-start)+1) kaj la indican amplekson.

Start kaj End povas esti numeraj esprimoj se oni uzas la ordonon ReDim je la procedura nivelo.

VarType: Ŝlosila vorto kiu deklaras la datumtipon de variablo.

Keyword: Variabla tipo

Bool: Bulea variablo (True, False)

Date: Data variablo

Double: Duobla reela variablo (1,79769313486232x10E308 - 4,94065645841247x10E-324)

Integer: Entjera variablo (-32768 - 32767)

Long: Longa entjera variablo (-2.147.483.648 - 2.147.483.647)

Object: Objekta variablo (eblas poste difini ĝin nur per Set!)

[Single]: Ordinara reela variablo (3,402823x10E38 - 1,401298x10E-45). Se neniu ŝlosilvorto estas specifita, variablo difiniĝas kiel Single, krom se oni uzas ordonon de DefBool ĝis DefVar.

String: Ĉena variablo enhavanta maksimume 64,000 Askiajn signojn.

Variant: Variabla tipo Variant (povas enhavi ĉiujn tipojn kaj agordiĝas per difino).

En LibreOffice Basic, oni ne bezonas eksplicite deklari variablojn. Tamen, necesas deklari tabelon antaŭ ol uzi ĝin. Oni povas deklari variablon per la ordono Dim, uzante komojn por apartigi plurajn deklarojn. Por deklari variablan tipon, tajpu tipdeklaran signon post la nomo aŭ uzu la respektivan ŝlosilvorton.

LibreOffice Basic subtenas unu- aŭ plur-dimensiajn tabelojn difinitajn per specifa variabla tipo. Tabeloj taŭgas se la programo enhavas listojn aŭ tabelojn redaktotajn. La avantaĝo de tabeloj estas ke eblas adresi unuopajn elementojn laŭ indicoj, kiuj estas formuleblaj kiel numeraj esprimoj aŭ variabloj.

Estas du metodoj agordi la amplekson de indicoj por tabeloj deklaritaj per la ordono Dim.

DIM text(20) As String REM 21 elementoj nombritaj de 0 ĝis 20

DIM text(5 to 25) As String REM 21 elementoj nombritaj de 5 ĝis 25

DIM text$(-15 to 5) As String REM 21 elementoj (inkluzive de 0),

REM nombritaj de -15 ĝis 5

Eblas dinamikigi variablajn kampojn, sendepende de tipo, se oni agordas la dimension per ReDim ĉe la procedura nivelo en subproceduro aŭ funkcio. Kutime, oni povas agordi la amplekson de tabelo nur unufoje kaj ne povas ŝanĝi ĝin. Ene de proceduro,oni ne povas deklari tabelon per ordono ReDim kun numeraj esprimoj por difini la amplekson de grandoj de kampoj.

Ekzemplo:

Sub ExampleRedim

Dim iVar() As Integer, iCount As Integer

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