Programmieren mit dBASE PLUS: Funktionen: resize

Aus Wikibooks


Ändert die Größe eines Arrays und gibt die neue Anzahl der Elemente in einem numerischen Rückgabewert zurück.

Syntax[Bearbeiten]

<oReferenz>.resize(<Zeilen AusdruckN> [,<Spalten AusdruckN> [, <Werte erhalten AusdruckN>]])

<oReferenz>

Ein Bezug auf das Array, dessen Größe geändert werden soll.

<Zeilen AusdruckN>

Die Anzahl der Zeilen des geänderten Arrays. <Zeilen AusdruckN> muß größer als null sein.

<Spalten AusdruckN>

Die Anzahl der Spalten des geänderten Arrays. <Spalten AusdruckN> muß immer 0 oder ein positiver Wert sein. Ohne Angabe dieses Arguments wird die Anzahl der Zeilen geändert und die Spaltenanzahl beibehalten.

<Werte erhalten AusdruckN>

Mit diesem Argument legen Sie fest, was mit den Werten im Array geschieht, wenn Zeilen hinzugefügt oder entfernt werden. Bei einem Wert ungleich null bleiben die Werte erhalten. Geben Sie für <Werte erhalten AusdruckN> einen Wert an, müssen Sie auch einen Wert für <Spalten AusdruckN> angeben.

Eigenschaft von[Bearbeiten]

Array

Beschreibung[Bearbeiten]

Mit resize( ) kann die Größe eines Arrays geändert werden. Sie können das Array vergrößern, verkleinern oder die Anzahl der Dimensionen ändern. Die Anzahl der Dimensionen können Sie aus der Eigenschaft dimensions des Arrays bestimmen. Die Eigenschaft size des Arrays gibt die Anzahl der Elemente an. Bei einem eindimensionalen Array benötigen Sie nur diese Informationen. Bei einem zweidimensionalen Array können Sie die Anzahl der Zeilen oder Spalten nicht aus der Eigenschaft size allein bestimmen (es sei denn, size hat den Wert 1). Um die Anzahl der Spalten und Zeilen eines zweidimensionalen Arrays zu ermitteln, verwenden Sie die Funktion ALEN( ).

Die Anzahl der Elemente eines eindimensionalen Arrays kann geändert werden, indem Sie resize( ) aufrufen und die gewünschte Elementanzahl als Parameter <Zeilen AusdruckN> angeben. Sie können dazu auch die Eigenschaft size des Arrays direkt setzen.

Sie können auch ein eindimensionales in ein zweidimensionales Array umwandeln. Geben Sie dazu <Zeilen AusdruckN> und mit einem Wert ungleich null den Parameter <Spalten AusdruckN> an. Das Array erhält dann die angegebene Größe.

Bei einem zweidimensionalen Array können Sie die Zeilenanzahl sowie die Zeilen- und Spaltenanzahl zusammen ändern. Wird <Spalten AusdruckN> nicht verwendet, legt nur der Parameter <Zeilen AusdruckN> die Anzahl der Zeilen fest. Werden <Zeilen AusdruckN> und mit einem Wert ungleich null <Spalten AusdruckN> angegeben, erhält das Array die angegebene Größe.

Sie können ein zweidimensionales in ein eindimensionales Array konvertieren, indem Sie für <Spalten AusdruckN> den Wert null und für <Zeilen AusdruckN> die Anzahl der Elemente angeben.

Um bei einem zweidimensionalen Array nur die Anzahl der Spalten zu ändern, müssen Sie die beiden Parameter <Zeilen AusdruckN> und <Spalten AusdruckN> angeben. Ist die Anzahl der Zeilen nicht bekannt, muß sie zuerst ermittelt und dann als Parameter <Zeilen AusdruckN> verwendet werden.

Soll eine einzelne Zeile oder Spalte zu einem Array hinzugefügt werden, verwenden Sie die Methode grow( ).

Werden Spalten hinzugefügt oder entfernt, können Sie mit Hilfe des Parameters <Werte erhalten AusdruckN> festlegen, wie die bereits vorhandenen Elemente im neuen Array plaziert werden sollen. Hat <Werte erhalten AusdruckN> den Wert null, oder wird kein Wert angegeben, werden die Elemente neu angeordnet. Dabei werden die neuen Zeilen oder Spalten gefüllt oder entsprechend der gelöschten Elemente angepaßt und Elemente am Ende des Arrays hinzugefügt oder entfernt. Dieser Vorgang ist in den folgenden beiden Abbildungen zu sehen. Sie sollten diese Vorgehensweise verwenden, wenn Sie nicht auf vorhandene Elemente Bezug nehmen müssen, das heißt, das Array mit neuen Werten aktualisieren wollen.

(Bild1 einfügen)

Wird resize( ) für ein eindimensionales Array verwendet, sollte die ursprüngliche Zeile zur ersten Spalte des neuen Arrays werden. Bei einem zweidimensionalen Array sollten die vorhandenen Elemente an ihren Positionen bleiben. Sie können dann weiterhin auf die Elemente über ihren Index Bezug nehmen.

Ist der Wert von <Werte erhalten AusdruckN> ungleich null, stellt resize( ) sicher, daß die Elemente ihre ursprünglichen Werte behalten. In den folgenden beiden Abbildungen werden die Anweisungen der vorherigen Abbildungen verwendet. Zusätzlich wird der Wert 1 für den Parameter <Werte erhalten AusdruckN> angegeben.

(Bild2 einfügen) (Bild3 einfügen)