Matrix - explaint Variablen-Stapel
Seite 3Sie 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.
Eine weitere Form, Daten einfach in ein Array zu speichern, bietet die Array-Funktion. Allerdings versteht sie nur den Datentyp Variant.
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:
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.
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.
Das Schlüsselwort preserve verhindert das Löschen:
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