Масиви в OpenOffice.org Basic

Як і в інших мовах програмування, в OOo Basic можна використовувати масиви. Приклади оголошення масивів приведені нижче.
Dim B (3, 3) As Single
Dim A (11) As Integer

Перший рядок задає двовимірний масив 4х4 (матрицю), який складається з дійсних чисел. Другий рядок задає одновимірний масив (вектор) з 12 цілих чисел, причому по замовчуванню перший елемент масиву буде A(0), а останній A(11). В цьому випадку говорять, що 0 – базовий індекс масиву.

Можна змінити базовий індекс, якщо записати на початку модуля інструкцію Option Base 1. Після того індекси масивів A і B будуть починатися з одиниці. Другим способом зміни базового індекса є використання ключового слова To при оголошенні масиву:
Dim B (1 To 3, 1 To 3) As Single
Dim A (1 To 12) As Integer

Масив в програмі задається поелементно, тому для вводу елементів масиву, зазвичай, використовують цикли. Зручним способом задання одновимірних масивів є функція Array, яка перетворює список елементів, розділених комами, в вектор із цих значень і утворює масив типу Variant. Синтаксис:
Array (СписокАргументів)
СписокАргументів – це розділений комами список значень, які присвоюються елементам масиву. Наприклад,
Dim День As Variant
День = Array(“Пн”, “Вт”, “Ср”, “Чт”, “Пт”)

Деколи в процесі виконання програми потрібно змінювати розмір масиву. В цьому випадку масив обновлюють як динамічний. Для цього при оголошенні масиву не потрібно вказувати розмірність, наприклад:
Dim R () As Single
В програмі необхідно визначити майбутній розмір масиву і зв’язати його з змінною, наприклад n, потім змінити розмір динамічного масиву за допомогою інструкції ReDim. Синтаксис:
ReDim [Preserve] <Ім’яЗмінної(Індекси)> [As Тип]
Preserve – ключове слово, яке використовується для збереження даних в існуючому масиві при зміні розмірності;
Індекси – розмірності масиву. Якщо нижній індекс не заданий явно, то він визначається інструкцією Option Base, якщо інструкція Option Base відсутня, то номерація елементів масиву починається з нуля. Допускається повторне використання інструкції ReDim для зміни розмірностей масиву.