ReDim sakinys

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

Sintaksė:

ReDim sakinio diagrama


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ą.

primityvių duomenų tipų fragmentas

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: Eilutės kintamasis, sudarytas iš daugiausia 64 000 ASCII simbolių.

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ą.

Tipo aprašo simbolių fragmentas

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.

masyvo fragmentas

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

Paremkite mus!