Dim-uttrykket

Declares variables or arrays.

If the variables are separated by commas - for example Dim v1, v2, v3 As String - first ones get defined as Variant variables. A new line, or colon sign (:), help separate variable definitions.


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

Dim declares local variables within subroutines. Global variables are declared with the Global, Public or the Private statement.

Syntaks:

Dim Statement diagram


Dim variable [(start To end)] [As typename][, variable2[char] [(start To end)] [,...]]

Parameterar:

variable: Any variable or array name.

typename: Keyword that declares the data type of a variable.

primitive data types fragment

Byte: Byte variable (0-255)

Boolean: Boolean variable (True, False)

Currency: Currency variable (Currency with 4 Decimal places)

Date: Dato variabel

Double: Double-precision floating-point variable (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: Heiltalsvariabel (-32768 till 32767)

Long: Heiltalsvariabel av typen Long (-2.147.483.648 til 2.147.483.647)

Object: Object variable (Note: this variable can only subsequently be defined with Set!)

Single: Singel-presisjon desimalvariabel (floating-point)(3,402823 x 10E38 til 1,401298 x 10E-45).

String: Strengvariabel med opp til 64.000 ASCII-teikn.

Variant: Variant variable type (contains all types, specified by definition). If a type name is not specified, variables are automatically defined as Variant Type, unless a statement from DefBool to DefVar is used.

object: Universal Network object (UNO) object or ClassModule object instance.

char: Special character that declares the data type of a variable.

Type declaration characters fragment

In LibreOffice Basic, you do not need to declare variables explicitly. However, you need to declare arrays before you can use them. You can declare a variable with the Dim statement, using commas (,) to separate multiple declarations. To declare a variable type, enter a type-declaration character following the name or use a corresponding type keyword name.

Declaration character

Variable type name

%

Integer

&

Long

!

Single

#

Double

$

String

@

Currency


array: Array declaration.

array fragment

start, end: Numerical values or constants that define the number of elements (NumberElements=(end-start)+1) and the index range.

start og end kan vera numeriske uttrykk viss ReDim er brukt pÄ prosedyrenivÄet.

LibreOffice Basic har stÞtte for ein- eller fleirdimensjonelle tabellar (arrays) som er definerte med ein spesifisert variabeltype. Tabellar hÞver godt viss programmet inneheld lister eller tabellar som du Þnskjer Ä redigera. Fordelen med tabellar, er at det er rÄd Ä adressera kvart element ved hjelp av indeksen, som kan vera eit taluttrykk eller ein variabel.

Tabellar (matriser) vert deklarerte med uttrykket Dim. Det er fleire mÄtar Ä definera indeksomrÄdet pÄ:


  DIM text(20) As String ' 21 element nummerert frÄ 0 til 20
  DIM value(5 to 25) As Integer ' 21 element nummerert frÄ 5 til 25
  Dim amount(-15 to 5) As Currency ' 21 belÞp (medrekna 0), nummerert frÄ -15 til 5
  REM To-dimensjonalt datafelt
  DIM table(20,2) ' 63 element, frÄ 0 til 20 pÄ nivÄ 1, frÄ 0 til 20 pÄ nivÄ 2 og frÄ 0 til 20 pÄ nivÄ 3.

Du kan deklarera ein tabell (array) som dynamisk ved Ă„ bruka eit ReDim-uttrykk for Ă„ definera dimensjonane i subrutinen eller funksjonen som inneheld tabellen. Normalt kan du definera ein tabelldimensjon Ă©in gong, og du kan ikkje endra dimensjonen. Inne i ein subrutine kan du deklarera ein tabell med ReDim. Du kan definera dimensjonar berre med taluttrykk. Dette gjer at felta ikkje vert stĂžrre enn nĂždvendig.

Eksempel:


Sub ExampleDim1
Dim sVar As String
Dim iVar As Integer
    sVar = "Office"
End Sub
 
Sub ExampleDim2
  ' To-dimensjonalt datafelt
    Dim stext(20,2) As String
  Const sDim As String = " Dimensjon:"
  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

StĂžtt oss!