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:

Diagram ukaza Dim


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

Parametri:

spremenljivka: poljubno ime za spremenljivko ali polje.

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

Fragment primitivnih vrst podatkov

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 64,000 znakov ASCII.

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.

Fragment znakov za deklaracije vrste

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.

Fragment 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

Podprite nas!