ReDim Statement

Egy változót vagy egy tömböt deklarál.

Szintaxis:

[ReDim]Dim Változó [(kezdés To befejezés)] [As Típus][, Változó2 [(kezdés To befejezés)] [As Típus][,...]]

Ha szükség van rá, az újradimenzionált tömbhöz paraméterként megadhatja a Preserve kulcsszót a tömb tartalmának megőrzéséhez.

Paraméterek:

Változónév: Bármilyen változó- vagy tömbnév.

Kezdés, Befejezés: Numerikus értékek vagy konstansok, amelyek meghatározzák az elemszámot (ElemekSzáma=(befejezés-kezdés)+1 ), valamint az indextartományt.

Ha a ReDim utasítást eljárásszinten használja, akkor a Kezdés és a Befejezés csak numerikus kifejezés lehet.

Típus: Kulcsszó, amely egy változó adattípusát határozza meg.

Kulcsszó: Változótípus

Bool (logikai): Boolean (logikai) változó (True (igaz), False (hamis))

Date (dátum): Date (dátum) változó

Double (dupla pontosságú): Dupla pontosságú lebegőpontos változó (1.79769313486232x10E308 - 4.94065645841247x10E-324)

Integer (egész szám): Integer (egész szám) változó (-32768 - 32767)

Long (hosszú egész): Long integer (hosszú egész szám) (-2147483648 - 2147483647)

Object (objektum): Object (objektum) változó (csak a Set utasítással lehet definiálni!)

[Single (egyszeres pontosságú]: Egyszeres pontosságú lebegőpontos változó (3.402823x10E38 - 1.401298x10E-45). Ha nincs kulcsszó megadva, akkor a változó single (egyszeres pontosságú) típusúként lesz definiálva, hacsak nem használja a DefBooltól DefVarig terjedő utasítások egyikét.

String (karakterlánc): String (karakterlánc) változó, amely maximum 64000 ASCII karaktert tartalmazhat.

Variant: Variant változótípus (minden típust tartalmaz, meghatározástól függően).

A LibreOffice Basicben nem kell explicit módon deklarálni a változókat. A tömböt használat előtt mindig deklarálni kell. Egy változót a Dim utasítással deklarálhat, több deklarációt vesszővel kell elválasztani. Változótípus deklarálásához a név után adja meg a típusdeklarációs karaktert, vagy használja a megfelelő kulcsszót.

A LibreOffice Basic az egy- vagy többdimenziós tömböket támogatja, amelyeket egy adott változótípus definiál. A tömböket akkor érdemes használni, ha a program szerkeszteni kívánt listákat vagy táblázatokat tartalmaz. A tömbök előnye, hogy az egyedi elemeket az indexekkel megcímezheti, amelyek numerikus kifejezések vagy változók lehetnek.

A Dim utasítással létrehozott tömbök indextartományainak megadására két módszer létezik.

DIM text(20) As String ' 21 elem, 0-tól 20-ig számozva

DIM text(5 to 25) as String ' 21 elem, 5-től 25-ig számozva

DIM text$(-15 to 5) As String ' 21 elem (a 0-val együtt)

rem -15-től 5-ig számozva

A változómezők - a típustól függetlenül - dinamikussá tehetők, ha a ReDim segítségével kerültek dimenzionálásra eljárásszinten a szubrutinokban vagy függvényekben. Általában a tömb tartományát csak egyszer állíthatja be, és nem módosíthatja. Az eljáráson belül a ReDim utasítás és numerikus kifejezések segítségével deklarálhat egy tömböt a mezőméretek tartományának megadásához.

Példa:

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