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