2.3 Variablen
Beispiel 2:
Variablen, Ein- und Ausgaben (B02)
Alle Daten, die in einem Programm verwendet werden sollen, werden in “Variablen” gespeichert. “Variable” deshalb, weil der Inhalt veränderlich ist.
Variablen müssen benannt werden; der Variablenname darf max. 40 Zeichen umfassen, dabei dürfen keine Leerzeichen und keine Sonderzeichen verwendet werden. Groß- und Kleinschreibung werden als gleichbedeutend behandelt.
Es ist vorteilhaft, Variablen vor ihrer Verwendung zu deklarieren. Dies geschieht mit der Anweisung Dim.
Mit dem Menüeintrag Extras – Optionen – Umgebung – “Variablendeklaration erforderlich“ (in der englischen Version Menüpunkt Tools!) legt man fest, daß Variablen vor ihrer Verwendung deklariert werden müssen.
Es muß allerdings auch der Datentyp (Variablentyp) angegeben werden, das heißt, es muß festgelegt werden, ob man ganze Zahlen, Dezimalzahlen oder Zeichenfolgen (“Texte”) in einer Variablen abspeichern will.
Dazu bestehen zwei Möglichkeiten:
1 “”Typkennzeichen” Je nach Datentyp wird am Ende des Variablennamens ein “Typenkennzeichen” angehängt; bei Zeichenfolgen etwa ein $-Zeichen, bei ganzen Zahlen ein %-Zeichen.
Beispiel: Dim Name$, Monat%
2 Der Datentyp wird in der Deklaration angegeben:
Beispiel:
Dim Name As String,
Monat As Integer
Hängt man kein Typkennzeichen an bzw. gibt keinen Datentyp an, so liegt der Variablentyp “Variant” vor, der “sinngemäß” auf die eingegebenen Daten reagiert.
Einer Variablen kann sehr einfach ein Wert zugewiesen werden; der Operator “=“ dient dazu. Er bewirkt, daß der Ausdruck rechts vom “=“-Zeichen berechnet und in den Speicherplatz der Variablen geschrieben wird.
Beispiele:
Name$ = “Peter“
Monat% = 10
S = K * (1 + P / 100)
I = I + 1
Die letzte Zeile verdient besondere Aufmerksamkeit. Man sieht, daß die Verwendung des Zuweisungsoperators “=“ nicht dem mathematischen Gleichheitszeichen entspricht. Der Zuweisungsoperator holt in diesem Fall den Wert der Variablen I aus dem Speicher (dieser Wert sei zum Beispiel 5), erhöht ihn um 1 (ergibt 6) und schreibt den neuen Wert wieder an die Speicheradresse von I (damit ist der Wert 5 durch den neuen Wert 6 überschrieben worden).
Geltungsbereich von Variablen
a) In Modulen
Public A gilt in allen Prozeduren aller Module und Forms, die zum Projekt gehören (globale Variable)
in den Allgemeinen Deklarationen des Moduls: Dim B oder Private B gilt in allen Subs und Procedures des Moduls
b) In einer Form
in den Allgemeinen Deklarationen der Form:
Dim C gilt in allen Subs und
Procedures der Form
in einzelnen Prozeduren:
Dim D gilt nur in der Prozedur, in der die Variable
deklariert wurde (lokale Variable) Solche Variablen verlieren nach Beendigung
der Prozedur ihre Gültigkeit.
in einzelnen Prozeduren:
Static E gilt nur in der Prozedur, in der die Variable
deklariert wurde (lokale Variable) Solche Variablen behalten während der
gesamten Laufzeit der Anwendung ihren Wert.
Indizierte Variablen, Felder (Arrays)
Auch in Visual Basic gibt es Variablen mit Indizes (definiert einen “Vektor“):
Dim A(200) Index von 0 bis 200
Dim A(20 To 100) Index von 20 bis 100
Mehrdimensionale Felder
Dim Matrix(1 to 5, 1 to 20)
Dim Matrix(100, 50)
Dynamische Felder
Dim A() |
bedeutet, daß die Feldindizes zur Laufzeit nach Bedarf festgelegt und verändert werden können. Das geschieht durch die Anweisung |
Redim A(200) |
Dabei wird das Feld neu initialisiert, die vorangegangenen Werte gehen dabei verloren. |
Redim Preserve A(200) |
Die vorangegangenen Werte bleiben erhalten. |
Erase A |
Der Speicherbereich für A wird freigegeben. |