VB-Homepage Tipp 142

Arrays - Anlegen, Werte setzen und auslesen

Vielleicht nehme ich auch zu Unrecht an, das Arrays etwas Stiefmütterlich behandelt werden, ich für meinen Teil hab allerdings auch nicht gleich zu Beginn den Nutzen dieser "Variablensammelbehälter" (schönes Wort)
richtig einzusetzen gewußt.
Deshalb also an dieser Stelle, für alle denen es ähnlich ergeht, eine kurze Einführung, denn was man verstanden hat in der Theorie, das kann man dann
für seine Projekte in der Praxis, immer wenn es gebraucht wird, umsetzen.

Gründsätzlich können Arrays auch in einer einzelnen Prozedur (Aktion) definiert werden, dann stehen Ihnen die Werte allerdings auch nur in dieser Prozedur zur Verfügung.
Da machen Arrays halt keine Ausnahme gegenüber normalen Variablen.

Dim Arraywerte(12) As String
'nach jedem Ende der Prozedur sind die Werte verloren

Wenn Sie diese Prozedur öfters durchlaufen und jedesmal in dieser Prozedur die Werte des Array benötigen, dann ist auch dies möglich.

Static Arraywerte(12) As String
'in der Prozedur sind die Werte jedesmal verfügbar

Wenn Sie die Werte allerdings im gesamten Programm
(zu Grunde legend in einer Form) benötigen, dann müssen Sie das Array in Allgemein/Deklarationen der Form definieren.

Benutzen Sie mehrere Formen und benötigen die Werte übergreifend, muß die Definierung im Modul erfolgen.

Arraywerte = steht für den Namen des Arrays
12 = die maximale Anzahl an Werten, die im Array gespeichert werden soll
As String = Definierung, als was die Werte im Array abgelegt werden

Wie bei anderen Auflistungen (Listbox,Combobox) fängt auch hier die Definierung bei 0 an, was nichts weiter bedeutet, als das der angegebene Maximalwert von 12 in unserem Beispiel bedeutet, das das Array 13 Werte aufnehmen kann.

Um den ersten Wert und nachfolgende zu setzen, gibt man folgendes ein.
Arraywerte(0) = "Das ist der erste Wert"
Arraywerte(1) = "Das ist der zweite Wert"
Arraywerte(2) = "Das ist der dritte Wert"
Arraywerte(3) = "Das ist der vierte Wert"
.......

Also eigentlich genauso als wenn Sie einer gewöhnlichen Variable einen Wert zuweisen. Und genauso verhält es sich mit dem Auslesen der Werte.

Msgbox Arraywerte(0) 'Ergebnis : Das ist mein erster Wert"

Der Vorteil dieser Arrays liegt in ihrem schnellen Zugriff, denn was hier mit 13 Werten demonstriert wird, kann natürlich auch mit wesentlich mehr Werten erfolgen.

Der etwas ungünstigere Teil ist, das allein durch die Definierung des Arrays schon Speicher reserviert wird, auch wenn im Moment das Array noch gar keine Werte enthält. Also immer die Verhältnismäßigkeit wahren.

Als kleiner Tipp am Rand, wenn Sie einmal in die Verlegenheit kommen, maximal vier Werte in Variablen aufnehmen zu müssen, dann können sie natürlich vier einzelne Variablen damit beauftragen. Sie können aber auch eine Variable vom Typ Variant definieren, die sind ebenfalls in der Lage bis zu vier Werte aufzunehmen.

Dim Arraywert As Variant 'unter Allgemein/Deklarationen
Arraywert = Array("Wert1", "Wert2", "Wert3", "Wert4") 'notwendige Definierung
Arraywert(2) = "Das ist der dritte Wert" 'danach auch einzeln zuweisbar

Msgbox Arraywert(0) 'Ergebnis : Wert1

Tipp-Download

Quelle :

Zurück zur Übersichtsseite