[VB5/6]Array - Was ist das und wozu braucht man es?

06/11/2010 22:05 Jay Niize#1
Hallo Elitepvpers!

Das ist nicht von mir geschrieben, aber ich finde das es total ausführlich erklärt wurde, und auch vielen auf E*pvpers helfen wird, da auch viele Array fragen aufkommen z.B wie mache ich das array! Was ist ein Array, usw... ;)

Also lasst uns beginnen ;)

Ein Array ist ein Datenfeld, in dem Gruppen von Werten zur weiteren Verarbeitung gespeichert werden. Arrays werden auch oft dazu verwendet, um größere Text-Dateien zeilenweise einzulesen und dann auf die einzelnen Elemente schnell zugreifen zu können.

Es gibt zwei Arten von Arrays: Arrays fester Größe und dynamische Arrays.
Bei einem Array fester Größe wird die Anzahl der zu speichernden Elemente bereits bei der Deklaration vorgegeben, bei einem dynamischen Array erfolgt dies zur Laufzeit.

Beispiel:
PHP Code:
' Array fester Größe deklarieren
Dim myArray(9) As String
 
dynamisches Array deklarieren
Dim myArray
() As String 
Im ersten Beispiel kann das deklarierte Array 10 Werte aufnehmen, z. B. 10 Namen. Zehn deshalb, weil ein Array (falls nicht explizit über OPTION BASE geändert) immer nullbasierend ist, d. h. das erste Element eines Arrays hat den Index 0. Wenn du dich damit etwas schwer tust, kannst du im Allgemeinen Teil deines Code-Moduls die Anweisung Option Base 1 vorgeben. Dies bewirkt, dass das erste Element deines Arrays den Index 1 hat. Bezogen auf die Deklaration würde das Ganze dann so aussehen:

PHP Code:
' erstes Element im Array hat Index 1
Option Base 1
 
dieses Array kann 10 Werte aufnehmen
Dim myArray
(10) As String 
Des weiteren können Arrays auch mehrdimensional sein. Um z. B. ein zweidimensionales Array mit 3 Zeilen und 10 Spalten anzulegen, musst du folgende Deklaration verwenden:

PHP Code:
' zweidimensionales Array deklarieren
 
3 Zeilen10 Spaltenda das Array nullbasierend ist
Dim myArray
(29
Mehrdimensionale Arrays benötigt man hauptsächlich in der Mathematik, für Grafikprogramme oder wissenschaftliche Anwendungen.

Wird mit einem dynamischen Array gearbeitet, muss dies zur Laufzeit "redimensioniert" (neu dimensioniert) werden. Dies erfolgt über die ReDim-Anweisung:

PHP Code:
' einem dynamischen Array die benötigte Größe zuweisen
ReDim MyArray(9) 
Die ReDim-Anweisung löscht den kompletten vorherigen Inhalt des Arrays. Sollen die bisherigen Inhalte erhalten bleiben, dann muss man das Schlüsselwort Preserve verwenden:

PHP Code:
ReDim Preserve MyArray(9
Die Größe eines Arrays ermittelt man mit den Funktionen LBound und UBound.

PHP Code:
Dim nCount As Long
 
nCount 
= (UBound(MyArray) - LBound(MyArray))
MsgBox CStr(nCount) & " Elemente!" 
Für das Löschen eines Arrays wird die Erase-Anweisung verwendet.

PHP Code:
Erase myArray 
Aber Achtung! Mit der Erase-Anweisung wird:
  • bei Arrays fester Größe nur der Inhalt aller Elemente zurückgesetzt
  • bei dynamischen Array: alle Elemente gelöscht! Um das Array nach Erase wieder verwenden zu können, muss es explizit via ReDim neu dimensioniert werden!

    Für den Einsatz von Arrays gibt es unzählige Möglichkeiten. Dies hier sollte nur mal eine kurze Erklärung sein, was ein Array überhaupt ist.


    MFG Jusikid