Інструкція 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