Інструкція ReDim

Оголошує змінну або масив.

Синтаксис:

[ReDim]Dim Ім'яЗмінної [(Початок To Кінець)] [As ТипЗмінної][, Ім'яЗмінної2 [(Початок To Кінець)] [As ТипЗмінної][,...]]

За необхідності можна додати ключове слово Preserve мов параметр, що перешкоджає зміні вмісту масиву, розміри якого змінюються.

Параметри:

Ім'яЗмінної: Будь-ім'я змінної або масиву.

Початок, Кінець: числові значення чи константи, що визначають кількість елементів (ЧислоЕлементів=(Кінець-Початок)+1) і діапазон індексів.

Параметри Початок і Кінець можуть бути числовими виразами, коли інструкція ReDim застосовується на рівні процедури.

xxx: Ключове слово, що визначає типовий тип змінної.

Ключове слово: тип змінної

Bool: логічна змінна (True, False)

Date: змінна дати

Double: змінна з рухомою комою подвійної точності (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: ціла змінна (- 32768 - 32767)

Long: довга ціла змінна (-2 147 483 648 - 2 147 483 647)

Object: змінна типу Object (може бути визначена пізніше за допомогою Set!)

[Single]: змінна з рухомою комою звичайної точності (3.402823x10E38 - 1.401298x10E-45). Якщо ключове слово не вказане, змінна визначається як Single, якщо не використана якась із інструкцій від DefBool до DefVar.

String: рядкова змінна, що містить не більше, ніж 64 000 символів ASCII.

Variant: змінна типу Variant (може містити усі типи і задається визначенням).

У LibreOffice Basic не вимагається явне оголошення змінних. Але перед використанням масиву його необхідно оголосити. Для оголошення змінних можна скористатися інструкцією Dim, розділяючи окремі оголошення змінних комами. Щоб оголосити тип змінної, введіть символ опису типу після назви або використайте відповідне ключове слово.

LibreOffice Basic підтримує одно- і багатовимірні масиви, які визначаються за допомогою вказаного типу змінної. Масиви застосовують, якщо програма містить списки або таблиці, які потрібно змінювати. Перевага масивів полягає у тому, що можна звертатись до окремих елементів за індексами, які можуть бути сформульовані мов числові вирази або змінні.

Наявні два способи задати діапазон індексів для масивів, описаних за допомогою інструкції Dim:

DIM text(20) As String REM 21 елемент, пронумерований від 0 до 20

DIM text(5 to 25) As String REM 21 елемент, пронумерований від 5 до 25

DIM text(-15 to 5) As String REM 21 елемент (включно з 0)

rem пронумеровані від -15 до 5

Поля змінних незалежно від типу можна зробити динамічними, якщо їх розміри задані інструкцією ReDim на рівні процедури у підпрограмах або функціях. Зазвичай діапазон масиву можна визначити лише один раз без можливості подальшої зміни. У межах процедури масив можна оголосити за допомогою інструкції ReDim з використання числових виразів, які визначають діапазон розмірів полів.

Приклад:

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