Contents
Index 🔎︎

# Dim Statement

Kirjeldab muutujat või massiivi.

Kui muutujad on komaga eraldatud (nt DIM sPar1, sPar2, sPar3 AS STRING), siis saab määratleda ainult variandi muutujad. Kasuta iga muutuja jaoks eraldi mõisterida.

    Dim sPar1 As String
    Dim sPar2 As String
    Dim sPar3 As String

Dim kirjeldab alamprotseduuride kohalikke muutujaid. Globaalseid muutujaid kirjeldatakse lauses PUBLIC või PRIVATE.

## Süntaks:

    [ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]

## Parameetrid:

VarName: Mis tahes muutuja või massiivi nimi.

Algus, lõpp: Arvväärtused või konstandid, mis määratlevad elementide arvu (NumberElements=((end-start)+1) ja indeksivahemiku.

Algus ja lõpp võivad olla arvavaldised, kui ReDim on määratud protseduuri tasemel.

VarType: muutuja andmetüüpi kirjeldav võtmesõna.

Võtmesõna: muutuja tüüp

Bool: loogikamuutuja (Tõene, Väär)

Currency: valuutamuutuja (4 kümnendkohaga valuuta)

Date: kuupäevamuutuja

Double: topelttäpsusega ujukomamuutuja

Integer: täisarvmuutuja (-32768 - 32767)

Long: pikk täisarvmuutuja (-2.147.483.648 - 2.147.483.647)

Object: objektimuutuja (Märkus. Selle muutuja saab määratleda ainult lause Set abil.)

Single: üksiktäpsusega ujukomamuutuja (3,402823 x 10E38 - 1,401298 x 10E-45).

String: maksimaalselt 64 000 ASCII-st koosnev stringmuutuja

[Variant]: variandimuutuja tüüp (sisaldab kõiki tüüpe, määratakse kirjeldusega). Kui võtmesõna pole määratud, määratletakse muutujad automaatselt varianditüübina, välja arvatud juhul, kui kasutatakse lauset DefBool kuni DefVar.

Rakenduses LibreOffice Basic pole muutujaid vaja selgesõnaliselt deklareerida. Siiski peate enne kasutamist deklareerima massiivi. Muutuja deklareerimiseks saad kasutada lauset Dim. Deklaratsioonide eraldamiseks kasuta komasid. Muutujatüübi deklareerimiseks sisesta nime järele tüübideklaratsiooni märk või kasuta vastavat võtmesõna.

LibreOffice Basic toetab ühe- ja mitmemõõtmelisi massiive, mis on määratletud määratud muutujatüübiga. Massiivid on sobivad siis, kui programm sisaldab loendeid või tabeleid, mida soovid redigeerida. Massiivide eelis on see, et nende abil saab indeksite abil pöörduda üksikute elementide poole. Indeksid saab formuleerida arvavaldiste või muutujatena.

Massiivide deklareerimiseks kasutatakse lauset Dim. Indeksivahemiku määratlemiseks on kaks meetodit:

DIM text(20) as String REM 21 elementi nummerdatud 0 kuni 20

DIM text(5 to 25) as String REM 21 elementi nummerdatud 5 kuni 25

DIM text(-15 to 5) as String REM 21 elementi (kaasa arvatud 0)

REM nummerdatud -15 kuni 5

Kahemõõtmeline andmeväli

DIM text(20,2) as String REM 63 elementi; 0 kuni 20 tase 1, 0 kuni 20 tase 2 ja 0 kuni 20 tase 3.

Kui ReDim-lause määratleb alamprogrammi või massiivi sisaldava funktsiooni dimensioonide arv, siis saab massiivitüübid määratleda dünaamilisena. Tavaliselt saab massiivitüübi määratleda ainult üks kord ja hiljem ei saa seda muuta. Alaprogrammis saab massiivi määratleda lause ReDim abil. Dimensioone saab määratleda ainult arvavaldistena. Sellega tagatakse, et väljad pole liiga pikad.

## Näide:

    Sub ExampleDim1
    Dim sVar As String
    Dim iVar As Integer
        sVar = "Office"
    End Sub

    Sub ExampleDim2
    ' Kahemõõtmeline andmeväli
    Dim stext(20,2) As String
    Const sDim as String = " Dimensioon:"
    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