![]() |
Alle Record-Einträge löschen
Gibt es eine Möglichkeit, alle Record-Einträge zu löschen? Ich hab nämlich ein Array von meinem Record, von dem ich gerne einen Index komplett rauslöschen will (samt Record-Einträge). Da es jedoch einige Einträge sind, will ich sie nicht "per Hand" löschen, sondern am liebsten durch eine bereits fertige Funktion, falls möglich. Gibt es vielleicht etwas derartiges?
|
Re: Alle Record-Einträge löschen
Da wäre mir doch fast ein "Nimm' doch einfach 'ne Liste" rausgerutscht. :mrgreen:
Wenn's unbedingt ein Array sein soll wäre vielleicht eine TList-Ableitung am praktischsten. ;) Aber wenn ich schon wieder lesen muss, dass Records benutzt werden um Daten abzubilden... :roll: |
Re: Alle Record-Einträge löschen
Du kannst die Einträge einzeln umschichten oder auch den Speicherinhalt verschieben (Move und FillChar).
|
Re: Alle Record-Einträge löschen
Zitat:
Zitat:
|
Re: Alle Record-Einträge löschen
Hallo malo,
Robert_G hat recht. Records mögen Dir evt. ganz praktisch erscheinen aber weit kommt man damit nicht. Gerade Objekte lassen sich einfacher speichern als Records. Siehe ![]() Ich kann Dir nur empfehlen in Objekten zu denken. |
Re: Alle Record-Einträge löschen
Zitat:
Records können doch recht praktisch sein. Ob sie das auch für den Zweck sind, für den sie im konkreten Fall verwendet werden, ist eine andere Frage. :stupid: MfG Binärbaum |
Re: Alle Record-Einträge löschen
Zitat:
Zitat:
Ansonsten: Frag's Pferd... :gruebel: |
Re: Alle Record-Einträge löschen
Hi,
Hier ein Beispiel wie man so etwas schnell erledigt:
Delphi-Quellcode:
mfg
procedure TForm1.Button1Click(Sender: TObject);
Type b=record a:integer; b:string; end; var S: array[0..79] of b; begin { Mit #0 füllen } FillChar(S, SizeOf(S), #0); end; BrunoT |
Re: Alle Record-Einträge löschen
Hi.
BrunoTs Methode ist aber NUR für non-packed-records gut! Bei Klassen läuft man Gefahr, Methodentabellen zu überschreiben! |
Re: Alle Record-Einträge löschen
und bei Records wo ein String drin ist, ist das auch nicht empfehlenswert weil somit der Pointer auf den String (ein String ist ja eigentlich nur ein Pointer) gelöscht wird aber der String noch existiert (Speicherleck).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz