Hilfe für Collabora Office 23.05
Im Folgenden ist die grundlegende Verwendung von Variablen in Collabora Office Basic beschrieben.
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 Collabora Office 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'
In Collabora Office 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'
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!
Wenn Sie mehrere Variablen in einer einzigen Codezeile festlegen, müssen Sie den Typ jeder Variable angeben. Wenn der Typ einer Variable nicht eindeutig angegeben wird, geht Basic davon aus, dass die Variable vom Typ Variant ist.
' Beide Variablen "a" und "b" sind vom Typ Integer.
Dim a As Integer, b As Integer
' Variable "c" ist vom Typ Variant und "d" ist eine Ganzahl
Dim c, d As Integer
' Eine Variable kann auch eindeutig als Variant festgelegt werden
Dim e As Variant, f As Double
Der Typ Variant ist ein besonderer Datentyp, der jede Art von Werten speichern kann. Wenn Sie mehr lernen möchten, lesen Sie den Abschnitt Der Typ Variant weiter unten.
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 Matrizen explizit deklariert werden. Alle anderen Variablen werden gemäß des Typ-Deklarationszeichens oder (falls dieses fehlt) als standardmäßiger Typ Single deklariert.
Collabora Office Basic unterstützt vier Variablenklassen:
Numerische Variablen können Zahlenwerte enthalten. Bestimmte Variablentypen werden zum Speichern großer oder kleiner Zahlen verwendet, andere wiederum für Gleitkommazahlen oder Brüche.
Zeichenfolgen-Variablen enthalten Zeichenfolgen.
Boolesche Variablen enthalten entweder den Wert WAHR (TRUE) oder FALSCH (FALSE).
Objekt-Variablen können verschiedenartige Objekte, wie beispielsweise Tabellen oder Dokumente, in einem Dokument speichern.
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 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 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 Collabora Office Basic den Wert auf oder ab.
Einfache Variablen können positive oder negative Werte von 3,402823x10E38 bis 1,401298x10E-45 annehmen. Einfache Variablen sind Fließkommavariablen, in welchen die Dezimalpräzision sinkt, wenn der nicht-dezimale Teil der Nummer steigt. Einfache Variablen sind geeignet für mathematische Berechnungen mit durchschnittlicher Genauigkeit. Berechnungen erfordern mehr Zeit als bei Integer-Variablen, sind aber schneller als Double-Variablen. Eine einfache Variable benötigt 4 Bytes Speicher. Das Zeichen der Typdeklaration ist "!".
Dim Variable!
Dim Variable As Single
Doppelvariablen können positive oder negative Werte im Bereich von 1,79769313486232x10E308 bis 4,94065645841247x10E-324 enthalten. Doppelvariablen sind Gleitkomma-Variablen, bei denen die Dezimalgenauigkeit mit zunehmendem nicht-dezimalen Teil der Zahl abnimmt. Doppelvariablen sind für präzise Berechnungen geeignet. Die Berechnung benötigen mehr Zeit als für Einzelvariablen. Eine Doppelvariabel braucht 8 Bytes Speicher. Das Typdeklarationszeichen ist "#".
Dim Variable#
Dim Variable As Double
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
Nummern können codiert werden, indem das Oktal- und Hexadezimalsystem verwendet wird.
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
Zeichenfolgenvariablen können Zeichenfolgen mit bis zu 2.147.483.648 Zeichen enthalten. Jedes Zeichen wird als entsprechender Unicode-Wert gespeichert. Zeichenfolgenvariablen eignen sich für die Textverarbeitung innerhalb von Programmen und für die vorübergehende Speicherung von nicht druckbaren Zeichen bis zu einer maximalen Länge von 2 GByte. Der zum Speichern von Zeichenfolgenvariablen erforderliche Arbeitsspeicher hängt von der Anzahl der Zeichen in der Variablen ab. Das Typ-Deklarationszeichen ist "$".
Bei BASIC-Zeichenfolgenfunktionen hat das erste Zeichen der Zeichenfolge den Index 1.
Dim Variable$
Dim Variable As String
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
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
Datumsausdrücke ermöglichen die Angabe eindeutiger Datumsvariablen, die unabhängig von der aktuellen Sprache sind. Ausdrücke sind zwischen Rauten # eingeschlossen. Mögliche Formate sind:
#yyyy-mm-dd#
#mm/dd/yyyy#
start_date = #12/30/1899# ' = 1
dob = #2010-09-28#
Variablen, die als Variant festgelegt sind, können jeden Datentyp verarbeiten. Das bedeutet, dass der eigentliche Datentyp während der Laufzeit festgelegt wird, wenn ein Wert der Variable zugewiesen wird.
Es gibt drei Hauptmöglichkeiten zum Erstellen einer Variable vom Typ Variant, wie unten gezeigt:
Dim varA ' Der Typ ist nicht angegeben, daher ist die Variable vom Typ Variant
Dim varB as Variant ' Die Variable ist eindeutig als Variant festgelegt
varC = "abc" ' Zuvor nicht festgelegte Variablen werden als Variant behandelt
Das Beispiel unterhalb verwendet die Funktion TypeName, um zu zeigen, wie der Typ einer Variable Variant sich bei der Zuweisung ändert.
Dim myVar As Variant
MsgBox TypeName(myVar) ' Empty
myVar = "Hello!"
MsgBox TypeName(myVar) ' String
myVar = 10
MsgBox TypeName(myVar) ' Integer
Eine Variable Variant ist initialisiert mit dem besonderen Datentyp Empty. Sie können die Funktion IsEmpty verwenden, um zu prüfen, ob eine Variable vom Typ Empty Variant ist.
Sie können auch das Schlüsselwort Any verwenden, um eine Variable als Variant festzulegen. Any ist jedoch veraltet und nur aus Gründen der Abwärtskompatibilität verfügbar.
Argumente vom Typ Variant oder Any, die in Funktionsaufrufen übergeben werden, werden nicht auf ihre Typen überprüft.
Dim myVar As Any ' Variable "myVar" ist vom Typ Variant
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.
Zeichenfolgenvariablen wird direkt bei der Deklaration eine leere Zeichenfolge ("") zugewiesen.
Collabora Office 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 nummeriert'
Der Indexbereich kann sowohl positive als auch negative Zahlen umfassen. Maximal können über einen Index 16368 Elemente adressiert werden.
Konstanten haben einen festen Wert. Sie werden im Programm nur einmal definiert und können später nicht mehr umdefiniert werden:
Const ConstName=Expression