ReDim Statement
Kirjeldab muutujat vÔi massiivi.
SĂŒntaks:
[ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]
Vajadusel saad ĂŒmbermÔÔtmestatud massiivi sisu sĂ€ilitamise parameetrina lisada vĂ”tmesĂ”na SĂ€ilita.
Parameetrid:
VarName: Mis tahes muutuja vÔi massiivi nimi.
Algus, lÔpp: ArvvÀÀrtused vÔi konstandid, mis mÀÀratlevad elementide arvu (NumberElements=((end-start)+1) ja indeksivahemiku.
Algus ja lÔpp vÔivad olla arvavaldised, kui lauset ReDim kasutatakse protseduuri tasemel.
VarType: muutuja andmetĂŒĂŒpi kirjeldav vĂ”tmesĂ”na.
VĂ”tmesĂ”na: muutuja tĂŒĂŒp
Bool: tÔevÀÀrtus-muutuja (TÔene, VÀÀr)
Date: kuupÀevamuutuja
Double: topelt ujukomamuutuja (1.79769313486232x10E308 - 4.94065645841247x10E-324)
Integer: tÀisarvmuutuja (-32768 - 32767)
Long: pikk tÀisarvmuutuja (-2 147 483 648 - 2 147 483 647)
Object: objektimuutuja (saab mÀÀratleda ainult lause Set abil)
[Single]: ĂŒksik ujukomamuutuja (3,402823x10E38 - 1,401298x10E-45). Kui vĂ”tmesĂ”na pole mÀÀratud, mÀÀratletakse muutuja kui Ăksik, v. a juhul, kui kasutatakse lauset DefBool vĂ”i Defvar.
String: maksimaalselt 64 000 ASCII-mÀrgist koosnev stringmuutuja
Variant: variandimuutuja tĂŒĂŒp (vĂ”ib sisaldada kĂ”iki tĂŒĂŒpe ja mÀÀratakse mĂ”iste abil).
Rakenduses LibreOffice Basic pole muutujaid vaja selgesĂ”naliselt deklareerida. Siiski peate enne kasutamist deklareerima massiivi. Muutuja deklareerimiseks saad kasutada lauset Dim. Deklaratsioonide eraldamiseks kasuta komasid. MuutujatĂŒĂŒbi deklareerimiseks sisesta nime jĂ€rele tĂŒĂŒbideklaratsiooni mĂ€rk vĂ”i kasuta vastavat vĂ”tmesĂ”na.
LibreOffice Basic toetab ĂŒhe- ja mitmemÔÔtmelisi massiive, mis on mÀÀratletud mÀÀratud muutujatĂŒĂŒbiga. Massiivid on sobivad siis, kui programm sisaldab loendeid vĂ”i tabeleid, mida soovid redigeerida. Massiivide eelis on see, et nende abil saab indeksite abil pöörduda ĂŒksikute elementide poole. Indeksid saab formuleerida arvavaldiste vĂ”i muutujatena.
Lause Dim abil kirjeldatud massiivide eksemplaride mÀÀramiseks on kaks vÔimalust:
DIM text(20) As String REM 21 elementi nummerdatud 0 kuni 20
DIM text(5 to 25) As String REM 21 elementi nummerdatud 5 kuni 25
DIM text$(-15 to 5) As String REM 21 elementi (0 kaasa arvatud),
rem nummerdatud -15 kuni 5
Kui muutujate tĂŒĂŒbid on mÔÔtmestatud alamprotseduuride vĂ”i funktsioonide protseduuritasemel, saab need vĂ€ljad sĂ”ltumata tĂŒĂŒbist muuta dĂŒnaamiliseks. Tavaliselt saab massiivi vahemiku mÀÀrata ainult ĂŒks kord ja hiljem ei saa seda enam muuta. Protseduuris aga saab massiivi kirjeldamiseks kasutada lauset ReDim ja mÀÀrata vĂ€ljade suurused arvavaldiste abil.
NĂ€ide:
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