Turinys

# ReDim sakinys

aprašo arba iš naujo apibrėžia kintamuosius ar masyvus.

### Sintaksė:

    ReDim [Preserve] kintamasis [(nuo pradžios iki pabaigos)] [As type-name][, kintamasis2 [(nuo pradžios iki pabaigos)] [As type-name][,...]]

Pasirinktinai pridėkite raktinį žodį Preserve, kad įrašytumėte matmenų masyvo turinį. ReDim galima naudoti tik paprogramėse.

### Parametrai:

kintamasis: Bet kurio kintamojo arba masyvo vardas.

typename: Raktinis žodis, kuris aprašo kintamojo duomenų tipą.

Byte: Baito kintamasis (0-255)

Boolean: Loginis kintamasis (True, False)

Currency: Valiutos kintamasis (Valiuta naudojant 4 dešimtaines pozicijas)

Date: Datos kintamasis

Double: Dvigubo tikslumo slankiojo kablelio kintamasis (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: Sveikojo skaičiaus kintamasis (-32768 - 32767)

Long: Ilgojo sveikojo skaičiaus kintamasis (-2.147.483.648 - 2.147.483.647)

Object: Objekto kintamasis (pastaba: šį kintamąjį galima apibrėžti tik vėliau naudojant Set!)

Single: Viengubo tikslumo slankiojo kablelio kintamasis (3,402823 x 10E38 - 1,401298 x 10E-45).

String: String variable consisting of a maximum of 2,147,483,647 characters.

Variant: Varianto kintamojo tipas (apima visus tipus, nurodytus apraše). Jei tipo pavadinimas nenurodytas, kintamieji automatiškai aprašomi kaip „Variant Type“, nebent naudojamas sakinys iš DefBool į DefVar.

object: Universalaus tinklo objektas (UNO) arba ClassModule vietoj objekto.

char: Specialus simbolis, kuris aprašo kintamojo duomenų tipą.

Programoje „LibreOffice Basic“ nereikia išreikštai aprašyti kintamųjų. Tačiau prieš naudodami masyvus juos turite aprašyti. Galite aprašyti kintamąjį naudodami Dim sakinį, naudokite kablelius (,), kad atskirtumėte kelis aprašus. Norėdami aprašyti kintamojo tipą, įveskite tipo aprašos simbolį po pavadinimo arba naudokite atitinkamo tipo raktinio žodžio pavadinimą.

Declaration character | Variable type name
--- | ---
% | Integer
& | Long
! | Single
# | Double
$ | String
@ | Currency

array: Masyvo aprašas.

start, end: Skaitinės reikšmės arba konstantos, apibrėžiančios elementų skaičių (NumberElements=(end-start) +1) ir indekso diapazoną.

start ir end gali būti skaitinis reiškinys, jei ReDim yra naudojamas procedūros lygmenyje.

„LibreOffice Basic“ palaiko viengubus ar daugiamačius masyvus, kuriuos aprašo nurodytas kintamojo tipas. Masyvai yra tinkami, jei programoje yra sąrašų ar lentelių, kurias norite taisyti. Masyvų pranašumas yra tas, kad atskirus elementus galima adresuoti pagal indeksus, kuriuos galima aprašyti skaitiniais reiškiniais ar kintamaisiais.

Masyvai aprašomi naudojant sakinį Dim. Indeksų intervalą galima aprašyti keliais būdais:

      Dim text(20) As String ' 21 elementas, sunumeruotas nuo 0 iki 20
      Dim value(5 to 25) As Integer ' 21 reikšmė, sunumeruota nuo 5 iki 25
      Dim amount(-15 to 5) As Currency ' 21 skaičus (įskaitant 0), sunumeruota nuo -15 iki 5
      REM Dvimatis duomenų laukas
      Dim table$(20,2) ' 63 elementas; nuo 0 iki 20 lygis 1, nuo 0 iki 20 lygis 2 ir nuo 0 iki 20 lygis 3.

Masyvo tipus galite aprašyti dinaminiais, jei sakinys ReDim aprašo matmenų skaičių pprogramėje arba funkcijoje, kurioje yra masyvas. Paprastai masyvo matemnį galima aprašyti tik vieną kartą ir jo taisyti negalima. Paprogramėje galite aprašyti masyvą naudodami ReDim. Matmenis galite aprašyti tik naudodami skaitinius reiškinius. Tai užtikrina, kad laukų būtų tik tiek, kiek reikia.

## Pavyzdys:

    Sub ExampleRedim
        Dim iVar() As Integer, iCount As Byte
        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