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 |