Съдържание
Индекс 🔎︎

# Оператор 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 VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]

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

VarName: име на променилива или масив.

Start, End: числови стойности или константи, задаващи броя елементи ((End - Start) + 1) и диапазона за индексиране.

Start и End могат да са числови изрази, ако бъде използван ReDim на ниво процедура.

VarType: ключова дума, определяща типа данни на променливата.

Ключова дума: Тип на променливата

Bool: булева променлива (True, False)

Currency: променлива за валута (с 4 дробни разреда)

Date: променлива за дата

Double: променлива с плаваща запетая с двойна точност (1,79769313486232.10^308…4,94065645841247.10^-324)

Integer: целочислена променлива (-32768…32767)

Long: дълга целочислена променлива (-2147483648…2147483647)

Object: обектна променлива (Бележка: тази променлива впоследствие може да бъде дефинирана само със Set!)

Single: променлива с плаваща запетая с единична точност (3,402823.10^38…1,401298.10^-45).

String: низова променлива, съдържаща най-много 64000 знаква в код ASCII.

[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 = "Офис"
    End Sub

    Sub ExampleDim2
    ' Двуизмерна матрица от данни
    Dim stext(20,2) As String
    Const sDim Аs 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