hi,
ich habe ein array[20] also 20 platze fei ... diese werden gefüllt und dann wird bleiben meist 2-16 leer...
diese leeren plätze stören mich aber bei der weiten verwendung. wie kürze ich das array nun um die
tatsächlich verwendeten plätze !?
leere Arrays loschen.
-
- [ offen ]
-
WhiteLion -
13. Juni 2010 um 14:33 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Mit ReDim().
-
Mit ReDim().
ohne (). ReDim is nen Schlüsselwortmit
[autoit]_ArrayDelete
[/autoit]kann man arrays einfacher löschen
-
thanx
-
- Offizieller Beitrag
mit
_ArrayDelete
kann man arrays einfacher löschen
Das macht nix anderes als ReDim (natürlich mit eckigen Klammern für die neue Dimensionsgröße), wenn du die letzten n-Elemente eines Arrays löschen willst. -
Das macht nix anderes als ReDim (natürlich mit eckigen Klammern für die neue Dimensionsgröße), wenn du die letzten n-Elemente eines Arrays löschen willst.
Ja eingentlich schon aber wie ich das mitbekommen habe Nimmt Redim immer von unten weg und kann nicht aus der mitte was rausnehmen. Zumindest nur mit einmal ReDim -
- Offizieller Beitrag
ReDim kürzt das Array von oben, d.h. von den hohen Indexwerten zu den niedrigen.
_ArrayDelete verschiebt einfach ab dem Index des zu löschenden Elements alle Items um eins nach unten und 'löscht' dann das letzte Element mit ReDim.
Um mehrere Elemente am Ende eines Array zu löschen, ist es also absolut falsch _ArrayDelete zu verwenden, da dieses nach jedem Element ein ReDim ausführt. Wenn du 10 Elemente kürzen willst also 10x ReDim
Das geht natürlich mit einem einzigen ReDim viel zügiger. -
Aah Danke für die Erläuterung