Tutorial: Variablen
Variablen und der richtige Umgang mit Ihnen sind im Programmieralltag von überragender
Bedeutung. Deshalb finden Sie hier eine Aufzählung der wichtigsten Aspekte rund
um die Variablen-Deklaration, die Datentypen und alles was Sie im Umgang damit
wissen sollten.
I. Aufbau und Syntax der Variablen-Deklaration
Im Folgenden finden Sie eine Liste wichtiger Anweisungen, sowei Hinweise
zur Deklaration von Variablen und die entsprechende Syntax:
Option Explicit |
Grundsätzlich gilt in jedem Modul und in jeder Form etc. sollte ein
"Option Explicit" stehen. Es wird führend in den Deklarationsteil
eingegeben und bewirkt, das Visual Basic überprüft, ob alle Variablen
deklariert sind. Ist dies nicht der Fall, erscheint eine Meldung. Dies ist
nicht nur der Übersichtlichkeit zuträglich, sondern verbessert
auch die Leistung Ihrer Anwendung durch die genauere Deklarierung. |
Dim
|
Mit der Anweisung Dim ist es möglich eine Variable zu deklarieren,
dabei ergibt sich folgende Syntax Dim Variable [([Indexbereich])][As
[New] Datentyp]. Zwingend erforderlich ist hierbei nur die Angabe
des Namens der Variable. Durch Angabe eines Indexbereiches können Sie
aus der Variable ein Array bilden und mit New können Sie eine neue
Instanz erstellen. Unter Datentyp können Sie optional einen Datentyp
angeben, sollten Sie dies nicht tun, verwendet Visual Basic standardmäßig
den Datentyp Variant. Beachten Sie, dass alle mit Dim deklarierte Variablen
nur eine lokale Gültigkeit haben und nicht global gelten. |
Private
|
Die Anweisung Private ist theoretisch konform mit der Anweisung Dim, denn
Sie verwendet die selbe Syntax und hat auch sonst keine zusätzlichen
Eigenschaften. Jedoch sollten Sie aus Gründen einer schönen Codeführung
stets zu Private an Stelle von Dim greifen, da so die lokal Beschränktheit
(etwa auf das jeweilige Modul) deutlicher wird. |
Public |
Mit der Anweisung Public können Sie im Gegensatz zu Private oder
Dim eine Variable global, dass heißt für das komplette Projekt
deklarieren, dabei ist die Syntax zu den zwei bereits bekannten Anweisungen
kompatibel. |
Static
|
Auch die Anweisung Static hat eine zu Dim äquivalente Syntax, jedoch
mit dem Unterschied, das eine Variable die mit Static deklariert wurde Ihren
Wert auch denn behält, wenn die aktuelle Funktion oder Prozedur verlassen
wird. Daraus läst sich ebenfalls erkennen, dass Static nicht global
gültig ist. |
ReDim [Preserve]
|
Mit der Anweisung ReDim können Sie die Obergrenze eines Variablenindexes
neu setzen. Dies kann sehr praktisch sein, wenn Sie Daten über einen
längeren Zeitraum sammeln wollen und nicht bereits zu Beginn viele
hundert Variablenfelder deklarieren wollen. Gerade in diesem Zusammenhang
sind die Anweisungen LBound(Variable) und UBound(Variable)
von nahezu unschätzbarem Wert. Denn LBound liefert
Ihnen die Untergrenze Ihres Variablenindexes und im UBound
dem entsprechend die Obergrenze. Zu beachten ist auch hier, dass ohne Verwendung
des Schlüsselwortes Preserve sämtliche Daten gelöscht werden,
wenn Sie den Indexbereich neue definieren. |
Option Base 0/1
|
Diese Anweisung bewirkt nichts weiter, als dass alle definierten Arrays
mit einer Index Untergrenze von 0 oder von 1 beginnen. Im Allgemeinen ist
es jedoch stilistisch besser und der Übersicht mehr zuträglich,
wenn die Indexbereiche explizit definiert werden, zum Beispiel: Private
Monate (1 to 12) As String. |
II. Weiterführendes zu der Variabelendeklaration und den Datentypen
Bei der Wahl der Variabelennamen gibt es einiges zu beachten, damit Sie keine
Fehlermeldung erhalten und Ihren Code sauber und übersichtlich gestalten
können. Zum einen darf der Variablenname nicht länger als 255 Zeichen
lang sein und zum anderen muss er mit einem Buchstaben beginnen. Der Name an
sich darf aus Zahlen und Buchstaben so wie den Sonderzeichen _ (Unterstrich)
bestehen. Außerdem sollten Sie vermeiden Variablen den selben Namen zu
geben, wie ihn beispielsweise Visual Basic Funktionen tragen, etwa.: Private
Do As Integer.
Nachdem Sie nun so viel über die Deklaration und die Gültigkeit gelesen
haben, möchte wir Sie auch nicht länger auf die Folter spannen, hier
nun alle Visual Basic Datentypen (die Sie als User direkt deklarieren können),
mit ihrem entsprechenden Wertebereich:
Boolean
|
0 (False) und 1 (True) |
Byte
|
0 bis 255 |
Integer (%)
|
-32.768 bis +32.767 |
Long (&)
|
-2.147.483.648 bis +2.147.483.647 |
Single (!)
|
-2,402823 * 1038 bis 1,401298 * 10-45 und 1,401298 *
10-45 bis 3,402823 * 1038 |
Double (#)
|
-1,79769313486232 * 10308 bis 4,94065645841247 * 10-324 und 4,94065645841247
* 10-324 bis 1,79769313486232 * 10308 |
Curreny (@)
|
-922.337.203.685.477,5808 bis 922.337.203.685.477,5807 |
Date
|
1. Januar 100 bis 31. Dezember 9999 |
String ($)
|
Zeichenketten in der Länge von 0 bis 2 * 109 |
Variant
|
Jeder numerische Wert im Bereich einer Double-Variable oder auch jeder
String |
III. Erstellung eigener Datentypen bei Verwendung der Type Anweisung
Ein weiterer Aspekt der Variabelendeklaration ist das Erstellen eigener Datentype
unter Zuhilfenahme der Type Anweisung. Dabei kann es sich auch um Arrays handelt.
Grundgedanke ist es, eine Variable eignen Typs zu erstellen und etwa verschiedene
Datentypen in einen "Obertyp" zu integrieren. Dies dient zum einen
der Übersichtlichkeit und kann auch enorm praktisch sein um kompleye Strukturen
abzubilden. Die Syntax ergibt sich wie folgt:
[Private / Public] Type DatentypeName
Variable1 [([Indexbereich])][As [New] Datentyp]
Variable2 [([Indexbereich])][As [New] Datentyp]
Variable3 [([Indexbereich])][As [New] Datentyp]
...
End Type
Nun haben Sie Ihren eigenen Datentyp erstellt und können diesen nun wie
jede andere Variable deklarieren, zum Beispiel:
Privte NeueVariable As DatentypeName
Wenn Sie Ihre neue Variable nun aufrufen werden Sie feststellen, das Visual
Basic Ihnen automatisch eine Liste mit allen Unterpunkten zur Verfügung
stellt, die in Ihrem Datentype enthalten sind.
IV. Funktionen zur Umwandlung des Datentyps
Von Zeit zu Zeit kann es notwendig werden einen vordefiniten Datentyp zu ändern.
Zum Beispiel wenn Sie versuchen würden den Inhalt zweier Textboxen zu addieren
etwa so: Ergebnis = Text1.Text + Text2.Text, so wäre das
Ergebnis wenn in beiden Textboxen die Zahl 2 steht 22! Lautet der Code jedoch
wie folgt Ergebnis = CLng(Text1.Text) + CLng(Text2.Text), so wird
Ihnen Visual Basic als Ergebnis anstandslos die Zahl 4 präsentieren.
Die im Folgenden beschriebenen Funktionen funktionieren alle nach dem selben
Schema, der Ihnen übergebene Ausdruck, wird in den angegebenen Datentyp
umgewandelt. Natürlich ist dies nur beschränkt möglich. So wird
es Ihnen zum Beispiel nicht gelingen den String Hallo Welt! in den
Datentype Long umzuwandeln.
CBool (Ausdruck) |
Boolean |
CByte (Ausdruck) |
Byte |
CInt (Ausdruck) |
Integer |
CLng (Ausdruck) |
Long |
CSng (Ausdruck) |
Single |
CDbl (Ausdruck)
|
Double |
CCur (Ausdruck)
|
Currency |
CDate (Ausdruck)
|
Date |
CStr (Ausdruck)
|
String |
CVar (Ausdruck)
|
Variant |
Sollten Sie zu diesem Tutorial noch Fragen haben oder möchten Sie uns
Ihr Feedback zukommen lassen, so freuen wir uns über einen Beitrag von
Ihnen im Visual
Basic World Forum.