ReDim Statement

Объявляет переменную или массив.

Синтаксис

[ReDim]Dim Имя_переменной [(Начало To Конец)] [As Тип_переменной][, Имя_переменной2 [(Начало To Конец)] [As Тип_переменной][,...]]

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

Параметры:

Имя_переменной. Любое имя переменной или массива.

Начало, Конец. Числовые значения или константы, определяющие число элементов (Число_элементов=(Конец-Начало)+1) и диапазон индексов.

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

Тип_переменной. Ключевое слово, описывающее тип данных переменной.

Ключевое слово. Тип переменной.

Bool . Логическая переменная (True, False)

Date. Переменная даты

Double. Переменная с плавающей запятой с двойной степенью точности (1.79769313486232x10E308 - 4.94065645841247x10E-324)

Integer. Целая переменная (-32768 - 32767)

Long. Целая переменная типа 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