Dim uttrykk

Deklarer variabler eller matriser.

Hvis variablene er atskilt med komma - for eksempel Dim v1, v2, v3 As String - blir de fĂžrste definert som Variantvariabler. En ny linje, eller kolontegn (:), hjelper til med Ă„ skille variabeldefinisjoner.


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

Dim deklarerer lokale variabler innenfor subrutiner. Globale variabler er deklarert med Global, Offentlig eller Privat-setningen.

Syntaks:

Dim uttrykks-diagram


Dim variabel [(start til slutt)] [Som typenavn][, variabel2[tegn] [(start til slutt)] [,...]]
tip

Ny operator er valgfri nÄr du angir alternativet Alternativkompatibel.


Parametre:

variabel: Enhver variabel eller matrisenavn.

typenavn: SĂžkeord som deklarerer datatypen til en variabel.

primitive datatype-fragmenter

Byte: Bytevariabel (0-255)

Boolsk: Boolsk variabel (sant, usant)

Valuta: Valutavariabel (valuta med 4 desimaler)

Dato: Datovariabel

Double: Variabel med flytende punkt med dobbel presisjon (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Heltall: Heltallsvariabel (-32768 - 32767)

Long: Long heltallsvariabel (-2.147.483.648 - 2.147.483.647)

Objekt: Objektvariabel (Merk: denne variabelen kan bare senere defineres med Sett!)

Single: Enkelpresisjon flyttallvariabel (3,402823 x 10E38 - 1,401298 x 10E-45).

String: Strengvariabel som bestÄr av maksimalt 64 000 ASCII-tegn.

Variant: Variantvariabeltype (inneholder alle typer, spesifisert per definisjon). Hvis et typenavn ikke er spesifisert, blir variabler automatisk definert som Variant Type, med mindre en setning fra DefBool til DefVar brukes.

objekt: Universal Network-objekt (UNO)-objekt eller ClassModule-objektforekomst.

char: Spesialtegn som deklarerer datatypen som en variabel.

Type deklareringstegn-fragment

I LibreOffice Basic trenger du ikke Ä deklarere variabler eksplisitt. Du mÄ imidlertid deklarere arrays fÞr du kan bruke dem. Du kan deklarere en variabel med Dim-setningen, ved Ä bruke komma (,) for Ä skille flere deklarasjoner. For Ä deklarere en variabeltype, skriv inn et typedeklarasjonstegn etter navnet eller bruk et tilsvarende nÞkkelordnavn.

Declaration character

Variable type name

%

Integer

&

Long

!

Single

#

Double

$

String

@

Currency


matrise: Matrise deklarering.

matrisefragment

start, slutt: Numeriske verdier eller konstanter som definerer antall elementer (NumberElements=(slutt-start)+1) og indeksomrÄde.

start og end kan vÊre numeriske uttrykk hvis ReDim brukes pÄ prosedyrenivÄ.

LibreOffice Basic stĂžtter enkelt- eller flerdimensjonale matriser som er definert av en spesifisert variabeltype. Matriser er egnet hvis programmet inneholder lister eller tabeller som du Ăžnsker Ă„ redigere. Fordelen med matriser er at det er mulig Ă„ adressere individuelle elementer i henhold til indekser, som kan formuleres som numeriske uttrykk eller variabler.

Matriser er deklarert med Dim-setningen. Det er flere mÄter Ä definere indeksomrÄdet pÄ:


  Dim tekst(20) Som streng ' 21 elementer nummerert fra 0 til 20
  Dim verdi(5 til 25) Som heltall ' 21 verdier nummerert fra 5 til 25
  Dim belĂžp (-15 til 5) Som valuta ' 21 belĂžp (inkludert 0), nummerert fra -15 til 5
  REM Todimensjonalt datafelt
  Dim table$(20,2) ' 63 elementer; fra 0 til 20 nivÄ 1, fra 0 til 20 nivÄ 2 og fra 0 til 20 nivÄ 3.

Du kan erklÊre en matrise som dynamisk hvis en ReDim-setning definerer antall dimensjoner i subrutinen eller funksjonen som inneholder matrisen. Vanligvis kan du bare definere en matrisedimensjon én gang, og du kan ikke endre den. Innenfor en subrutine kan du deklarere en matrise med ReDim. Du kan bare definere dimensjoner med numeriske uttrykk. Dette sikrer at feltene er bare sÄ store som trengs.

Eksempel:


Sub ExampleDim1
Dim sVar As String
Dim iVar As Integer
    sVar = "Office"
End Sub
 
Sub ExampleDim2
  ' Todimensjonalt datafelt
    Dim stext(20,2) As String
  Konst 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

Supporter oss!