Menü

Matrix - explaint Variablen-Stapel

Seite 3
zurück zu Seite 2

Sie können in ein Array Daten speichern, indem Sie für jeden Index wie im Beispiel oben eine Zuweisung durchführen. Falls Sie ein Element außerhalb des deklarierten Bereiches füllen, erhalten Sie die Fehlermeldung Index außerhalb des gültigen Bereiches.

Endergebnis: Das Beispiel fCreateArr_R aus der Listingtabell gibt Ihnen das obere Bild als Ergebnis wieder.
Endergebnis: Das Beispiel fCreateArr_R aus der Listingtabell gibt Ihnen das obere Bild als Ergebnis wieder.

Eine weitere Form, Daten einfach in ein Array zu speichern, bietet die Array-Funktion. Allerdings versteht sie nur den Datentyp Variant.

public Sub fReadArray()Dim varArr As Variant' Array einlesenvarArr = Array("Unternehmung", _"Reise", "Proviant", _"Reiseziel", "Schiff", _"Aussicht")' Ergebnis ausgebenfShowArr varArrEnd Sub

Wenn die Anzahl der Elemente nicht bekannt ist, verwenden Sie ein dynamisches Array und legen die Größe erst zur Laufzeit fest. Die Arrays deklarieren Sie ohne Angabe der Größe:

dim strArray() as String

Die Arraygröße wird innerhalb einer Prozedur mit ReDim festgelegt, wodurch die Bereitstellung des Speicherplatzes für das Array erst zur Laufzeit erfolgt. Diese Deklarationsart bietet den Vorteil, nur den gerade notwendigen Speicherplatz zu reservieren. Folgende Subroutine reserviert Speicherplatz für sechs Elemente, füllt sie mit Daten, ruft die Ausgaberoutine auf und entfernt das Array aus dem Speicher.

Public Sub fCreateArr_D( _optional Anz as Integer = 6)ReDim varArr(anz-1)For i = 0 To anz-1varArr(i) = "Eintrag" & i + 1Next' Ausgaberoutine aufrufenfShowArr varArr' Elemente entfernenErase varArr()End Sub

Die Anzahl der Elemente wird im Argument Anz übergeben. Fehlt das Argument, dann wird der Defaultwert (6) herangezogen. Die Größe eines dynamischens Arrays kann zur Laufzeit beliebig oft verändert werden. Allerdings hat diese Änderung den Verlust der Daten im vorhandenen Array zur Folge. Das Schlüsselwort preserve schafft Abhilfe. Folgende Anweisung löscht alle Daten im Array.

ReDim strArray(10)

Das Schlüsselwort preserve verhindert das Löschen:

ReDim preserve strArray (10)

TIPP

Bei mehrdimensionalen Arrays kann mit preserve nur die oberste (letzte) Dimension des Arrays erweitert werden. Auf keinen Fall darf die Anzahl der Dimensionen geändert werden.

weiterlesen auf Seite 4
Inhaltsverzeichnis 1/7
 
Kostenlose Newsletter
x