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