Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Normale Arrays entleeren? (https://www.delphipraxis.net/58327-normale-arrays-entleeren.html)

Dj_Base 5. Dez 2005 17:32


Normale Arrays entleeren?
 
Hallo DPler...

Wollte mal fragen, wie ich "ganz normale" (d.h. keine dynamischen und zweidimensionalen Arrays) entleeren kann.

Hier das Array:
Delphi-Quellcode:
thearray: array[0..99] of String;
Diese Lösung:
Delphi-Quellcode:
for i := 0 to 99 do
  thearray[i] := '';
ist mir dann doch ein bisschen zu Quick (obwohl in diesem Falle wohl eher Slow ;)) & Dirty...

Kennt ihr eine andere & bessere (d.h. schnellere) Methode?

Danke für die Hilfe,
Gruß,

Dj_Base

Ultimator 5. Dez 2005 17:33

Re: Normale Arrays entleeren?
 
Vielleicht mit ZeroMemory?

jim_raynor 5. Dez 2005 17:35

Re: Normale Arrays entleeren?
 
Zitat:

Zitat von Ultimator
Vielleicht mit ZeroMemory?

Würde ich bei Strings nicht empfehlen, da dann der Speicher der Strings nicht freigegeben wird. Vielleicht reicht es ja, vorher Finalize auf das Array auszuführen und dann per ZeroMemory leer zu machen.

Dj_Base 5. Dez 2005 17:36

Re: Normale Arrays entleeren?
 
Hi!

Was macht ZeroMemory? Kann die Methode noch in der DH finden...

Ach so: Habe ich vergessen: Ich will das Array danach weiter benutzen, d.h. wieder von neuem füllen...

mfg,

Dj_Base

shmia 5. Dez 2005 17:50

Re: Normale Arrays entleeren?
 
Zitat:

Zitat von Dj_Base
Ach so: Habe ich vergessen: Ich will das Array danach weiter benutzen, d.h. wieder von neuem füllen...

Wozu dann vorher "leeren" ??
Die neuen Werte überschreiben die alten Werte und gut ist.
Sollte das Arrray nicht vollständig gefüllt werden, dann brauchtst du sowieso noch eine
weitere Variable für den oberen Array-Index, bis zu dem das Array gültig ist.
Falls du nur Strings speichern möchtest: TStringList ist die bessere Alternativ zum "normalen Array".

ZeroMemory gibt es erst nach Delphi 5; man kann die Prozedure mit FillChar nachbilden.

Dj_Base 5. Dez 2005 17:53

Re: Normale Arrays entleeren?
 
Hi!

Okay, ich denke, dass ich dann doch ein TStringList verwenden werde...

Ist irgendwie komfortabler... ;)

Bye,
Dj_BAse

WIN-MANww 5. Dez 2005 18:19

Re: Normale Arrays entleeren?
 
Hi
Du kannst auch per SetLength(array, 0); das array auf 0 setzen und danach mit SetLength(array, irgendwas); das array wieder füllen. Dadurch wird der Inhalt gelöscht.

Khabarakh 5. Dez 2005 18:46

Re: Normale Arrays entleeren?
 
Zitat:

Zitat von WIN-MANww
Hi
Du kannst auch per SetLength(array, 0); das array auf 0 setzen und danach mit SetLength(array, irgendwas); das array wieder füllen. Dadurch wird der Inhalt gelöscht.

Ja, bei einem statischen Array funktioniert das wirklich gut :stupid: .

WIN-MANww 5. Dez 2005 20:10

Re: Normale Arrays entleeren?
 
Stimmt @Khabarakh, wusste nicht, dass SetLength bei statischen Arrays nicht funktioniert, da ich bis jetzt immer mit dynamischen arrays gearbeitet habe..

Dj_Base 5. Dez 2005 20:11

Re: Normale Arrays entleeren?
 
Hi!

Vielen Dank für die Antwort!

Das werde ich versuchen! :-D

Gruß,
Dj_Base


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz