VBS Array
Inhaltsverzeichnis
VBS Array
Du möchtest das VBS Array kennenlernen, bzw. erläutert bekommen was Arrays sind und Sie verstehen?
Dann freut es mich, dass deine Recherche nach dem VBS Array Dich zu diesem Beitrag geführt hat!
Eventuell findest Du später auch noch folgende Beiträge interessant: VBScript MsgBox, InStr.
Was ist ein Daten(-feld) (Array)
Nicht unbedingt ist das das erste was, einem durch den Kopf schießt, weil man eher aus einer Art Zwang, auf ein Array stößt.
Wahrscheinlich hat man irgendwann den Punkt erreicht, dass man durch Recherchen wie: „Mehrere Daten zwischenspeichern“, „Listen erstellen“ und Ähnliches darauf stößt.
Man lernt also irgendwann zwangsweise die Grenzen einer Variable kennen, Welche für gewöhnlich nur „einen Wert“ (wenn auch komplexere Varianten davon) aufnehmen kann.
Mehrere Daten aufnehmen – VBS Array
Für dieses minimale Beispiel nehmen wir, diverse Rechnungsnummern und speichern Diese in Form eines VBS-Arrays.
Auf theoretischer Basis ist die Aufgabenstellung relativ irrelevant, jedoch bin ich durchaus ein Fan von etwas deutlich Greifbaren.
Rechnungsnummern können aus Zeichen sowie auch aus Ziffern bestehen, daher nutzen wir in diesem Beitrag ein Array, Welches aus Strings besteht.
Nummer entgegennehmen
Bevor wir mit dem Array durchstarten können, müssen wir uns vorher Gedanken darüber machen, wie wir die Rechnungsnummern bekommen.
Für eine einfache Handhabe nehmen wir einfach eine InputBox:
Dim billNr billNr = InputBox("Enter a bill number")
Da wir nun eine Rechnungsnummer bekommen haben, wäre vermutlich der nächste Gedanke, wie man die Nummer nun in ein Array übergibt, bzw. darin zwischenspeichert.
Eine Art Liste – VBS Array
Im obigen, simplen Beispiel hast Du gelesen, wie Du eine Rechnungsnummer in eine Variable ablegen kannst.
Für gewöhnlich kann eine Variable nur ein Element speichern.
Auch wenn Dieses Objekt z. B. eine Instanz einer eigenen Klasse ist – und somit als Container für mehrere Daten dienen kann – passt in eine Variable nur Eines davon.
Oft hat man als Neuling ein Problem, wenn man das erste Mal statt eines Datenelements, Mehrere zwischenspeichern soll.
Genau an diesem Punkt kommen VBS Arrays ins Spiel, Welche auch andere Bezeichnungen wie z. B. Datenfelder haben.
Wovon man die Finger lassen sollte
Wenn man gewisse Themen sucht, findet man hier und da tolle Beiträge, sonst wärst Du ja auch vermutlich nicht auf meinen Beitrag gestolpert *zwinker*.
Traurigerweise gibt es auch viele nicht so prickelnde Beispiele, hier wäre Eins von Diesen:
Dim billNr1 As String Dim billNr2 As String Dim billNr3 As String
Sehr oft habe ich diese blöde Variante bei den verschiedensten „Programmierern“ im Quellcode gefunden, natürlich speziell bei Grünschnäbeln #nooffense!
Solche Wagnisse werden aufgrund der erstmals augenscheinlichen Leichtigkeit, statt korrekter Datentypen genutzt.
Eines der wichtigen Probleme dabei ist (also die Aufzählung von Variablen), dass man die so deklarierten Variablen z. B. nicht gut durchlaufen kann.
Warum Bus statt LKW? – VBS Array
Warum sollte man einen Bus für seine Spedition verwenden, wenn man direkt – richtigerweise – einen LKW fahren kann (unabhängig vom Führerschein *grins*)?
Dieser LKW würde hier vermutlich das Gleichnis zum VBS Array sein, wo man mehrere Datenelemente gemeinsam ablegen kann.
Der nächste Step zeigt Dir, wie Du ein Array deklarieren/initialisieren und anschließend nutzen kannst.
Zeichenfolgen in Array speichern – VBS Array
Hier zeige ich Dir, wie Du ein Array erstellen und mit Rechnungsnummern füllen kannst.
Behalte dabei im Hinterkopf, dass Arrays generell bei Index 0 beginnen.
Deklaration
Ohne Größe
Dim billNrs()
Mit Größe
Hier ist ein Deklarations-Beispiel mit einer festgelegten Größe:
Dim billNrs(3)
Initialisierung
Neben der Deklaration, siehst Du nun, wie Du ein Array initialisieren, sprich direkt mit Werten bestücken kannst.
Dim billNrs billNrs = Array("B2908", "B2909", "B2910")
Index angeben
Hier geben wir den gewählten Index selbst an, um dann händisch auf das Element zuzugreifen:
Dim billNrs(2) billNrs(0) = "B2808" billNrs(1) = "B2809" billNrs(2) = "B2810"
Iteration mit Schleife
Nun iterieren wir unser VBS Array mit einer Schleife und können jedes Mal den Wert setzen:
For i = LBound(billNrs) To UBound(billNrs) billNrs(i) = ' the next value! Next
Daten anschließend hinzufügen – VBS Array
Irgendwann wird garantiert der Moment kommen, dass man auch nachträglich noch Elemente hinzufügen muss.
Dafür nutzt man die ReDim-Anweisung kombiniert mit dem Preserve-Modifizierer, um die Größe des Arrays zu aktualisieren und Daten zu erhalten.
Dim billNrs billNrs = Array("B3", "B4") ReDim Preserve billNrs(2) billNrs(2) = "B5"
Nach der Ausführung des Codes sind die Strings B1, B2 und B3 im Array vorhanden.