Verwendung von Variablen

Im Folgenden ist die grundlegende Verwendung von Variablen in LibreOffice Basic beschrieben.

Konventionen bei der Vergabe von Variablennamen

Variablennamen d√ľrfen maximal 255 Zeichen lang sein. Variablennamen m√ľssen mit einem Buchstaben (A-Z oder a-z) anfangen. Innerhalb eines Variablennamens k√∂nnen auch Ziffern verwendet werden. Satzzeichen oder Sonderzeichen sind jedoch mit Ausnahme des Unterstrichs ("_") nicht zul√§ssig. Bei Variablenbezeichnern wird in LibreOffice Basic nicht zwischen Gro√ü- und Kleinschreibung unterschieden. Variablennamen d√ľrfen Leerzeichen enthalten, m√ľssen in diesem Fall jedoch in eckige Klammern eingeschlossen werden.

Beispiele f√ľr Variablenbezeichner:


    MyNumber=5      'Korrekt'
    MyNumber5=15    'Korrekt'
    MyNumber_5=20   'Korrekt'
    My Number=20    'Nicht g√ľltig, Variable mit Leerzeichen muss in eckigen Klammern stehen'
    [My Number]=12  'Korrekt'
    D√©j√†Vu=25       'Nicht g√ľltig, Sonderzeichen sind nicht erlaubt'
    5MyNumber=12    'Nicht g√ľltig, Variable darf nicht mit einer Zahl beginnen'
    Number,Mine=12  'Nicht g√ľltig, Satzzeichen sind nicht erlaubt'

Variablen deklarieren

In LibreOffice Basic brauchen Variablen nicht explizit deklariert werden. Variablendeklarationen sind √ľber die Anweisung Dim m√∂glich. Sie k√∂nnen mehrere Variablen gleichzeitig deklarieren, indem Sie die Namen durch Kommata trennen. Zur Definition des Variablentyps k√∂nnen Sie entweder ein Typ-Deklarationszeichen hinter dem Namen oder aber das entsprechende Schl√ľsselwort verwenden.

Beispiele f√ľr Variablendeklarationen:


    Dim a$               'Deklariert die Variable "a" als String'
    Dim a As String      'Deklariert die Variable "a" als String'
    Dim a$, b As Integer 'Deklariert eine Variable als String und eine als Integer'
    Dim c As Boolean     'Deklariert c als boolesche Variable, die TRUE oder FALSE sein kann'
Warnsymbol

Variablen mit einem bestimmten Namen, die einmal als bestimmter Typ deklariert wurden, d√ľrfen unter dem gleichen Namen nicht nochmals als anderer Typ deklariert werden!


Erzwingung von Variablendeklarationen

Um die Deklaration von Variablen zu erzwingen, verwenden Sie folgenden Befehl:


Option Explicit

Die Anweisung Option Explicit muss in der ersten Zeile des Moduls noch vor dem ersten SUB stehen. Im Allgemeinen brauchen nur Arrays explizit deklariert werden. Alle anderen Variablen werden gemäß des Typ-Deklarationszeichens oder (falls dieses fehlt) als Standardtyp Single deklariert.

Variablentypen

LibreOffice Basic unterst√ľtzt vier Variablenklassen:

Integer-Variablen

Integer-Variablen haben einen Wertebereich von -32768 bis 32767. Wenn Sie einer Integer-Variablen einen Gleitkommawert zuweisen, werden dessen Dezimalstellen auf die nächste ganze Zahl gerundet. Integer-Variablen werden in Prozeduren schnell berechnet und eignen sich als Zählvariablen in Schleifen. Eine Integer-Variable belegt lediglich zwei Bytes an Arbeitsspeicher. Das Typ-Deklarationszeichen ist "%".


Dim Variable%
Dim Variable As Integer

Longinteger-Variablen

Longinteger-Variablen haben einen Wertebereich von -2147483648 bis 2147483647. Wenn Sie einer Longinteger-Variablen einen Gleitkommawert zuweisen, werden dessen Dezimalstellen auf die nächste ganze Zahl gerundet. Longinteger-Variablen werden in Prozeduren schnell berechnet und eignen sich als Zählvariablen in Schleifen mit vielen Wiederholungen. Eine Longinteger-Variable benötigt vier Bytes an Arbeitsspeicher. Das Typ-Deklarationszeichen ist "&".


Dim Variable&
Dim Variable As Long

Dezimal-Variablen

Dezimal-Variablen können positive oder negative Zahlen oder Null aufnehmen. Die Genauigkeit beträgt maximal 29 Stellen.

Als Vorzeichen f√ľr Dezimalzahlen k√∂nnen Sie das Plus- (+) oder Minuszeichen (-) verwenden (mit oder ohne Leerzeichen).

Wenn eine Dezimalzahl einer Integer-Variable zugewiesen wird, rundet LibreOffice Basic den Wert auf oder ab.

Single-Variablen

Single variables can take positive or negative values ranging from 3.402823 x 10E38 to 1.401298 x 10E-45. Single variables are floating-point variables, in which the decimal precision decreases as the non-decimal part of the number increases. Single variables are suitable for mathematical calculations of average precision. Calculations require more time than for Integer variables, but are faster than calculations with Double variables. A Single variable requires 4 bytes of memory. The type-declaration character is "!".


Dim Variable!
Dim Variable As Single

Double-Variablen

Double variables can take positive or negative values ranging from 1.79769313486232 x 10E308 to 4.94065645841247 x 10E-324. Double variables are floating-point variables, in which the decimal precision decreases as the non-decimal part of the number increases. Double variables are suitable for precise calculations. Calculations require more time than for Single variables. A Double variable requires 8 bytes of memory. The type-declaration character is "#".


Dim Variable#
Dim Variable As Double

Currency-Variablen (Währungsvariablen)

W√§hrungsvariablen (Currency-Variablen) werden intern als 64-Bit-Zahlen (8 Byte) gespeichert und als Festkommazahlen mit 15 Vor- und 4 Nachkommastellen dargestellt. Der g√ľltige Wertebereich ist -922337203685477,5808 bis +922337203685477,5807. W√§hrungsvariablen werden verwendet, um W√§hrungsberechnungen mit hoher Pr√§zision anzustellen. Das Typ-Deklarationszeichen ist "@".


Dim Variable@
Dim Variable As Currency

Literals for integers

Numbers can be encoded using octal and hexadecimal forms.


  xi = &o13 '    8 + 3
  ci = &h65 ' 6*16 + 5
  MAX_Integer =  &o77777 '  32767 = &h7FFF
  MIN_Integer = &o100000 ' -32768 = &h8000
  MAX_Long = &h7fffffff '  2147483647 = &o17777777777
  MIN_Long = &h80000000 ' -2147483648 = &o20000000000

String-Variablen

String-Variablen k√∂nnen Zeichenketten mit bis zu 65.535 Zeichen L√§nge aufnehmen. Jedes Zeichen wird mit seinem Unicode-Wert gespeichert. String-Variablen eignen sich f√ľr die Textverarbeitung innerhalb von Programmen sowie f√ľr die tempor√§re Speicherung von Sonderzeichen bis zu einer maximalen L√§nge von 64 KByte. Der ben√∂tigte Arbeitsspeicher f√ľr eine String-Variable richtet sich danach, wie viele Zeichen sie enth√§lt. Das Typ-Deklarationszeichen ist "$".


Dim Variable$
Dim Variable As String

Boolean-Variablen (boolesche Variablen)

Boolesche Variablen können nur zwei verschiedene Werte aufnehmen: WAHR (TRUE) oder FALSCH (FALSE). Boolesche Variablen werden zur Speicherung von Binärwerten, wie beispielsweise dem Ergebnis einer Vergleichsoperation, verwendet und intern durch einen 2-Byte-Integerwert dargestellt. Alle Werte, die Sie einer booleschen Variablen zuweisen, werden zu TRUE konvertiert, sofern sie nicht genau 0 sind.


Dim Variable As Boolean

Date-Variablen (Datumsvariablen)

Datumsvariablen k√∂nnen nur Datums- und Zeitwerte enthalten, die in einem internen Format gespeichert werden. Werte, die einer Datumsvariablen √ľber Dateserial, Datevalue, Timeserial oder Timevalue zugewiesen werden, werden automatisch in das interne Format konvertiert. Datumsvariablen k√∂nnen √ľber die Funktionen Day, Month, Year beziehungsweise Hour, Minute, Second in normale Zahlen konvertiert werden. Das interne Format erm√∂glicht einen Vergleich von Datums- und Zeitwerten durch die Berechnung der Differenz zweier Zahlen. Diese Variablen k√∂nnen nur mit dem Schl√ľsselwort Date deklariert werden.


Dim Variable As Date

Variablen-Anfangswerte

Sobald eine Variable deklariert wird, ist Sie automatisch auf den "Null"-Wert zur√ľckgesetzt, das hei√üt, dass der Programmierer nicht darauf achten muss, dass eine Variable, die deklariert wurde, manuell auf einen Basis-Wert zur√ľckgesetzt werden muss. Es gilt folgende Regel:

Numerischen Variablen wird automatisch der Wert "0" zugewiesen, sobald die Variable deklariert wurde.

Datumsvariablen wird intern der Wert 0 zugewiesen. Dies entspricht einer Konvertierung des Wertes "0" mit den Funktionen Day, Month, Year oder Hour, Minute, Second.

Zeichenketten-Variablen wird direkt bei der Deklaration eine leere Zeichenkette ("") zugewiesen.

Arrays

LibreOffice Basic kann mit ein- oder mehrdimensionalen Arrays umgehen, die durch einen angegebenen Variablentyp definiert werden. Arrays eignen sich zum Bearbeiten von Listen und Tabellen in Programmen. Die einzelnen Elemente eines Arrays k√∂nnen √ľber einen numerischen Index adressiert werden.

Arrays m√ľssen mit der Anweisung Dim deklariert werden. Zur Definition des Indexbereichs eines Arrays gibt es mehrere M√∂glichkeiten:


    Dim Text$(20)       '21 Elemente von 0 bis 20 nummeriert'
    Dim Text$(5,4)      '30 Elemente (eine Matrix mit 6 x 5 Elementen)'
    Dim Text$(5 To 25)  '21 Elemente, von 5 bis 25 nummeriert'
    Dim Text$(-15 To 5) '21 Elemente (einschließlich 0), von -15 bis 5 numeriert'

Der Indexbereich kann sowohl positive als auch negative Zahlen umfassen. Maximal k√∂nnen √ľber einen Index 16368 Elemente adressiert werden.

Konstanten

Konstanten haben einen festen Wert. Sie werden im Programm nur einmal definiert und können später nicht mehr umdefiniert werden:


Const ConstName=Expression

Bitte unterst√ľtzen Sie uns!