Vsebina

# Ukaz Dim

Deklarira spremenljivke ali polja.

Če so spremenljivke med seboj ločene z vejicami (npr. DIM v1, v2, v3 As String), je mogoče tako definirati samo spremenljivke vrste Variant. Z novo vrstico ali dvopičjem (:) si lahko pomagate ločiti definicije spremenljivk.

      Dim text As String
      Dim pv As com.sun.star.beans.PropertyValue, d As Date
      Dim Units as Integer : Dim EULER As Double

Dim deklarira lokalne spremenljivke znotraj podprogramov. Globalne spremenljivke se deklarira z ukazi Globarl, Public ali Private.

### Skladnja:

    Dim spremenljivka [(začetek To konec)] [As imevrste][, spremenljivka2[znak] [(začetek To konec)] [,...]]

Operator New ni obvezen, ko določite možnost Option Compatible.

### Parametri:

spremenljivka: poljubno ime za spremenljivko ali polje.

Imevrste: ključna beseda, ki definira vrsto spremenljivke.

Byte: spremenljivka vrste Byte (0-255)

Boolean: Boolova spremenljivka (True, False)

Currency: valutna spremenljivka vrste Currency v denarnih enotah (s 4 decimalnimi mesti)

Date: spremenljivka vrste Date

Double: spremenljivka v plavajoči vejici dvojne dolžine (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: cela spremenljivka (-32768 - 32767)

Long: dolga cela spremenljivka (-2.147.483.648 - 2.147.483.647)

Object: spremenljivka vrste Object (predmet; Opomba: to spremenljivko je mogoče definirati samo z ukazom Set!)

Single: spremenljivka v plavajoči vejici enojne dolžine (3,402823 x 10E308 - 1,401298 x 10E-45).

String: spremenljivka vrste String (niz) lahko vsebuje največ do 2.147.483.647 znakov.

Variant: spremenljivka vrste Variant (vsebuje vse vrste, navedene v definiciji). Če ključna beseda ni uporabljena, se spremenljivke samodejno obravnava kot vrste Variant, razen če program ne uporablja ukazov od DefBool do DefVar.

Object: predmete UNO (Universal Network Object) ali predmet razrednega modula ClassMpdule.

znak: poseben znak, ki deklarira vrsto podatkov spremenljivke.

V LibreOffice Basic spremenljivk ni potrebno deklarirati eksplicitno. Če pa hočete uporabiti polje, ga morate predhodno deklarirati. Spremenljivko lahko deklarirate z ukazom Dim, pri čemer z vejicami (,) ločite večkratne deklaracije med seboj. Če želite deklarirati vrsto spremenljivke, uporabite znak za vrsto deklaracije in ime za njim, ali pa ustrezno ključno besedo za vrsto.

Declaration character | Variable type name
--- | ---
% | Integer
& | Long
! | Single
# | Double
$ | String
@ | Currency

matrika: deklaracija polja oz. matrike.

začetek, konec: numerične vrednosti ali konstante, ki določajo število elementov (število elementov=(konec-začetek)+1) in obseg indeksa.

začetek in konec sta lahko numerična izraza, če na ravni procedure uporabite ukaz ReDim.

LibreOffice Basic podpira polja z eno ali več dimenzijami, ki so definirati za navedeno vrsto spremenljivk. Polja so primerna pomoč pri delu v programih, ki vsebujejo sezname ali pa tabele, s katerimi želite računati. Prednost polj je v tem, da lahko vedno pridete do posameznih elementov polj s pomočjo indeksov, ki jih formulirate v obliki numeričnih izrazov ali s pomočjo spremenljivk.

Polja deklariramo z ukazom Dim. Za definicijo obsega indeksa sta na voljo dve metodi:

      Dim besedilo(20) as String ' 21 elementov, oštevilčenih od 0 do 20
      Dim vrednost(5 to 25) As Integer ' 21 vrednosti, oštevilčenih od 5 do 25
      Dim znesek(-15 to 5) As Currency '21 zneskov (ključno z 0), oštevilčenih od -15 do 5
      REM Dvodimenzionalno podatkovno polje
      Dim tabela$(20,2) ' 63 elementov; od 0 do 20 raven 1, od 0 do 20 raven 2 in od 0 do 20 raven 3.

Polje lahko deklarirate dinamično, s tem da v ukazu ReDim ukazom navedete dimenzije za podprogram ali funkcijo, ki to polje uporabljata. Na splošno lahko dimenzije za polje določite samo enkrat in jih po tem ne morete več spreminjati. Znotraj podprograma lahko polje definirate z ReDim. Dimenzije se da definirati samo z numeričnimi izrazi. Tako je zagotovljeno, da so polja samo tako velika, kot je potrebno.

### Primer:

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

    Sub ExampleDim2
      ' Dvodimenzionalno polje
        Dim stext(20,2) As String
      Const sDim As String = " Dimenzija:"
      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

Podobne teme

Operator New

Podprite nas!