Модуль
Зміст
Покажчик 🔎︎

# Інструкція Dim

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

Якщо змінні розділені комами (наприклад, DIM sPar1, sPar2, sPar3 AS STRING), можуть бути визначені тільки змінні типу Variant. Для кожної змінної слід використовувати окремий рядок визначення.

    Dim sPar1 As String

    Dim sPar2 As String

    Dim sPar3 As String

Dim оголошує локальні змінні у процедурах. Глобальні змінні оголошуються інструкціями PUBLIC або PRIVATE.

## Синтаксис:

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

## Параметри:

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

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

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

ТипЗмінної: ключове слово, що описує тип даних змінної.

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

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

Currency: змінна типу Currency (грошова сума з 4 десятковими розрядами)

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

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

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

Long: ціла змінна типу Long (-2 147 483 648 - 2 147 483 647)

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

Single: змінна з рухомою комою звичайної точності ( 3,402823 x 10E38 - 1,401298 x 10E-45).

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

[Variant]: змінна типу Variant (містить всі типи, вказані визначенням). Якщо ключове слово не вказане, то змінним автоматично присвоюється тип Variant, крім випадків, коли використовується одна з інструкцій від DefBool до DefVar.

У 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

Двовимірне поле даних

DIM text(20,2) as String REM 63 елементи; від 0 до 20 рівень 1, від 0 до 20 рівень 2 і від 0 до 20 рівень 3.

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

## Приклад:

    Sub ExampleDim1

    Dim sVar As String

    Dim iVar As Integer

        sVar = "Office"

    End Sub

    Sub ExampleDim2

    ' Двовимірне  поле даних

    Dim stext(20,2) As String

    Const sDim as String = " Розмірність:"

    For i = 0 To 20

        For ii = 0 To 2

            stext(i,ii) = str(i) & sDim & str(ii)

        Next ii

    Next i

    For i = 0 To 20

        For ii = 0 To 2

            MsgBox stext(i,ii)

        Next ii

    Next i

    End Sub