Module
Enhavo
Indekso 🔎︎

# Dim Statement

Deklaras variablon aŭ tabelon.

Se komoj apartigas la variablojn (ekzemple, DIM sPar1, sPar2, sPar3 AS STRING), eblas difini nur Variant-variablojn. Uzu apartan difinan linion por ĉiu variablo.

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

Dim deklaras lokajn variablojn en subproceduroj. Mallakajn variablojn deklaru per la ordono PUBLIC aŭ PRIVATE.

## Sintakso:

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

## Parametroj:

VarName: Nomo de variablo aŭ tabelo.

Start, End: Numeraj valoroj aŭ konstantoj, kiuj difinas la nombron de elementoj (NumberElements=(end-start)+1) kaj la indican amplekson.

Start kaj End povas esti numeraj esprimoj se oni aplikas ordonon ReDim ĉe la procedura nivelo.

VarType: Ŝlosila vorto kiu deklaras la datumtipon de variablo.

Keyword: Variabla tipo

Bool: Bulea variablo (True, False)

Currency: Vaulta variablo (Valuto kun 4 dekumaj pozicioj)

Date: Data variablo

Double: Duoble-preciza reela variablo (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: Entjera variablo (-32768 - 32767)

Long: Longa entjera variablo (-2.147.483.648 - 2.147.483.647)

Object: Objekta variablo (Notu: Eblas poste difini ĉi tiun variablon per Set!)

Single: Ordinare-preciza reela variablo (3,402823 x 10E38 - 1,401298 x 10E-45).

String: Ĉena variablo konsistante el maksimume 64,000 Askiaj signoj.

[Variant]: Variant-variabla tipo (enhavas ĉiujn tipojn, specifita per difino). Se ŝlosilvorto ne estas difinita, variabloj aŭtomate difiniĝas kiel Variant-tipa, krom se uziĝas ordono de DefBool ĝis DefVar.

En LibreOffice Basic, oni ne bezonas eksplicite deklari variablojn. Tamen, necesas deklari tabelon antaŭ ol uzi ĝin. Oni povas deklari variablon per la ordono Dim, uzante komojn por apartigi plurajn deklarojn. Por deklari variablan tipon, tajpu tipdeklaran signon post la nomo aŭ uzu la respektivan ŝlosilvorton.

LibreOffice Basic subtenas unu- aŭ plur-dimensiajn tabelojn difinitajn per specifa variabla tipo. Tabeloj taŭgas se la programo enhavas listojn aŭ tabelojn redaktotajn. La avantaĝo de tabeloj estas ke eblas adresi unuopajn elementojn laŭ indicoj, kiuj estas formuleblaj kiel numeraj esprimoj aŭ variabloj.

Oni deklaras tabelojn per la ordono Dim. Estas du metodoj por difini la indican amplekson:

DIM text(20) as String REM 21 elementoj nombritaj de 0 ĝis 20

DIM text(5 to 25) as String REM 21 elementoj nombritaj de 5 ĝis 25

DIM text(-15 to 5) as String REM 21 elementoj (inkluzive de 0)

REM nombritaj de -15 ĝis 5

Du-dimensia datuma kampo

DIM text(20,2) as String REM 63 elementoj; de 0 ĝis 20 nivelo 1, de 0 ĝis 20 nivelo 2 kaj de 0 to 20 nivelo 3.

Oni povas deklari tabelan tipon esti dinamika se ordono ReDim difinas la nombron da dimensioj en la subproceduro aŭ la funkcio kiu enhavu la tabelon. Ĝenerale, oni povas difini tabelon nur unufoje, kaj oni ne povas modifi ĝin. Ene de subproceduro, oni povas deklari tabelon per ReDim. Oni povas difini dimensiojn nur per numeraj esprimoj. Tio certigas ke la kampoj estas nur tiel larĝaj kiel necesas.

## Ekzemplo:

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

    Sub ExampleDim2
    Du-dimensia datuma kampo
    Dim stext(20,2) As String
    Const sDim as String = " Dimensio:"
    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