Inhalte
Index 🔎︎

# Anweisung Dim

Deklariert Variablen oder Arrays.

Werden die Variablen durch Kommas getrennt – zum Beispiel Dim v1, v2, v3 As String – werden die ersten als Variant-Variablen definiert. Eine neue Zeile oder ein Doppelpunkt (:) hilft beim Trennen von Variablendefinitionen.

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

Dim deklariert lokale Variablen innerhalb von Unterprogrammen. Globale Variablen werden mit den Anweisungen Global, Public oder Private deklariert.

### Syntax:

    Dim Variable [(Start To Ende)] [As Typname][, Variable2[char] [(Start To Ende)] [, …]]

### Parameter:

Variable: Beliebiger Variablen- oder Array-Name.

Typname: Schlüsselwort, das den Datentyp einer Variablen deklariert.

Byte: Byte-Variabel (0-255)

Boolean: boolesche Variable (Wahr, Falsch)

Currency: Währungsvariable (Währung mit 4 Nachkommastellen)

Date: Date-Variable (Datum)

Double: Gleitkommavariable mit doppelter Genauigkeit (1,79769313486232x10E308 – 4,94065645841247x10E-324)

Integer: Integer-Variable (-32768 – 32767)

Long: Long Integer-Variable (-2.147.483.648 – 2.147.483.647)

Object: Objektvariable (Achtung: diese Variable kann nur nachträglich mit Set definiert werden!)

Single: Gleitkommavariable mit einfacher Präzision (3,402823 x 10E38 –1,401298 x 10E-45).

String: String-Variable (Zeichenkette) mit maximal 64.000 ASCII-Zeichen.

Variant: Variablentyp Variant (enthält alle Typen, die per Definition angegeben sind). Wird kein Typname angegeben, werden Variablen automatisch als Typ "Variant" definiert, es sei denn, es wird eine Anweisung von DefBool bis DefVar verwendet.

objekt: UNO-Objekt (Universal Network Object) oder Objektinstanz ClassModule.

char: Sonderzeichen, das den Datentyp einer Variablen deklariert.

In LibreOffice Basic müssen Sie Variablen nicht explizit deklarieren. Sie müssen jedoch Arrays deklarieren, bevor Sie sie verwenden können. Sie können eine Variable mit der Anweisung Dim deklarieren, indem Sie Kommata (,) verwenden, um mehrere Deklarationen zu trennen. Um einen Variablentyp zu deklarieren, geben Sie nach dem Namen ein Typdeklarationszeichen ein oder verwenden Sie einen entsprechenden Typschlüsselwortnamen.

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

array: Array-Deklaration.

Start, Ende: Numerische Werte oder Konstanten, die die Anzahl der Elemente (NumberElements=(Ende-Start)+1) und den Indexbereich definieren.

Start und Ende können numerische Ausdrücke sein, wenn ReDim auf Prozedurebene angewendet wird.

LibreOffice Basic unterstützt ein- oder mehrdimensionalen Arrays, die durch einen angegebenen Variablentyp definiert werden. Arrays eignen sich für Programme mit zu bearbeitenden Listen oder Tabellen. Arrays bieten den Vorteil, dass ihre Elemente einzeln über einen Index adressiert werden können, der als numerischer Ausdruck oder als Variable formuliert werden kann.

Arrays werden mit der Anweisung Dim deklariert. Es gibt mehrere Möglichkeiten, den Indexbereich zu definieren:

      Dim Text(20) As String ' 21 Elemente nummeriert von 0 bis 20
      Dim Wert(5 to 25) As Integer ' 21 Werte nummeriert von 5 bis 25
      Dim Betrag(-15 to 5) As Currency ' 21 Beträge (einschließlich 0), nummeriert von -15 bis 5
      REM Zweidimensionales Datenfeld
      Dim Tabelle$(20,2) '63 Einträge; von 0 bis 20 in Ebene 1, von 0 bis 20 in Ebene 2 und von 0 bis 20 in Ebene 3.

Sie können einen Array-Typ als dynamisch deklarieren, wenn eine Anweisung ReDim die Anzahl der Dimensionen in der Unterroutine oder der Funktion definiert, die das Array enthält. Im Allgemeinen können Sie eine Array-Dimension nur einmal definieren und nicht ändern. Innerhalb einer Subroutine können Sie mit ReDim ein Array deklarieren. Sie können Dimensionen nur mit numerischen Ausdrücken definieren. Dadurch wird sichergestellt, dass die Felder nur so groß wie nötig sind.

### Beispiel:

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

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

Verwandte Themen

New Operator