AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Normale Arrays entleeren?

Ein Thema von Dj_Base · begonnen am 5. Dez 2005 · letzter Beitrag vom 14. Jan 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Dj_Base
Dj_Base

Registriert seit: 10. Aug 2004
Ort: Aachen
231 Beiträge
 
Delphi 2007 Professional
 
#1

Normale Arrays entleeren?

  Alt 5. Dez 2005, 17:32
Hallo DPler...

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

Hier das Array:
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
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Normale Arrays entleeren?

  Alt 5. Dez 2005, 17:33
Vielleicht mit ZeroMemory?
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#3

Re: Normale Arrays entleeren?

  Alt 5. Dez 2005, 17:35
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.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von Dj_Base
Dj_Base

Registriert seit: 10. Aug 2004
Ort: Aachen
231 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Normale Arrays entleeren?

  Alt 5. Dez 2005, 17:36
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
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Normale Arrays entleeren?

  Alt 5. Dez 2005, 17:50
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.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Dj_Base
Dj_Base

Registriert seit: 10. Aug 2004
Ort: Aachen
231 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Normale Arrays entleeren?

  Alt 5. Dez 2005, 17:53
Hi!

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

Ist irgendwie komfortabler...

Bye,
Dj_BAse
  Mit Zitat antworten Zitat
WIN-MANww

Registriert seit: 23. Mai 2004
Ort: Schweiz
55 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Normale Arrays entleeren?

  Alt 5. Dez 2005, 18:19
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.
Fg:
WIN-MAN

"Never underestimate Radical Vision" - Startup
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#8

Re: Normale Arrays entleeren?

  Alt 5. Dez 2005, 18:46
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 .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
WIN-MANww

Registriert seit: 23. Mai 2004
Ort: Schweiz
55 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Normale Arrays entleeren?

  Alt 5. Dez 2005, 20:10
Stimmt @Khabarakh, wusste nicht, dass SetLength bei statischen Arrays nicht funktioniert, da ich bis jetzt immer mit dynamischen arrays gearbeitet habe..
Fg:
WIN-MAN

"Never underestimate Radical Vision" - Startup
  Mit Zitat antworten Zitat
Benutzerbild von Dj_Base
Dj_Base

Registriert seit: 10. Aug 2004
Ort: Aachen
231 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Normale Arrays entleeren?

  Alt 5. Dez 2005, 20:11
Hi!

Vielen Dank für die Antwort!

Das werde ich versuchen!

Gruß,
Dj_Base
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 Uhr.
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