Tartalom
Index 🔎︎

# ReDim utasítás

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ú 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