AGB  ·  Datenschutz  ·  Impressum  







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

Wichtige Frage zu Records

Ein Thema von marcgeldon · begonnen am 17. Nov 2003 · letzter Beitrag vom 6. Dez 2003
Antwort Antwort
marcgeldon

Registriert seit: 7. Sep 2003
Ort: Mannheim und Berlin
20 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Wichtige Frage zu Records

  Alt 17. Nov 2003, 10:45
Hallo!

Folgende Frage hätte ich zu Records. Ich definiere meinen eigenen Record. Beispielsweise durch:

type Eintrag = Record
Vorname: String;
Nachname: String;
usw.
end;

Wie kann ich nun alle Einträge im Record leeren? Ok, folgendes wäre eine Möglichkeit:

xxx.Vorname := '';
xxx.Nachname := '';
usw.

sehr umständlich. Gibt es einen Befehl dafür der alle Einträge leert / auf 0 / nil setzt?

Danke im voraus für eure Antworten!


Liebe Grüsse,

Marc
Marc
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#2

Re: Wichtige Frage zu Records

  Alt 17. Nov 2003, 10:49
hi,
probiers mal mit fillchar.

Einfach
  fillchar(VariableVonEintrag, sizeof(Eintrag), #0); grüße, daniel
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#3

Re: Wichtige Frage zu Records

  Alt 17. Nov 2003, 10:50
Hi,

Du hast dann noch sehr warscheinlich eine Variable im Sinne von:
Array of TEintrag; //<-- Bitte den Record TEintrag nicht Eintrag nennen.

Somit kannst Du mittels SetLength das Array kürzen, erweitern, oder einfach auf 0 setzen. Weiteres siehe OH.
  Mit Zitat antworten Zitat
proitsystems

Registriert seit: 4. Nov 2003
Ort: Augsburg
29 Beiträge
 
#4

Re: Wichtige Frage zu Records

  Alt 17. Nov 2003, 10:54
Vielen Dank für die prompte Antwort. FillChar macht genau das was es soll


Liebe Grüsse,

Marc
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Wichtige Frage zu Records

  Alt 17. Nov 2003, 20:16
Moin Sanchez,

hast Du dabei auch berücksichtigt, dass der Typ String ein Pointer ist, also mit FillChar nur die Referenzen auf die Inhalte gelöscht werden?
Ich hab's jetzt nicht ausprobiert, könnte mir aber gut vorstellen, dass Du mit dieser Methode 'ne ganze Menge Datenmüll im Speicher hinterlässt.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#6

Re: Wichtige Frage zu Records

  Alt 6. Dez 2003, 13:03
in meinem delphi buch wird auch FillChar benutzt^^
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

Re: Wichtige Frage zu Records

  Alt 6. Dez 2003, 13:21
Zitat von Pseudemys Nelsoni:
in meinem delphi buch wird auch FillChar benutzt^^
Wenn das bei Strings (nicht ShortString) FillChar benutzt, dann würde ich das Buch schnell in die Mülltonne werfen.

Wenn man schon FillChar mit Strings und dynamischen Arrays benutzen will, sollte man zumindest vorher Finalize(MyRecVar) aufrufen. Es bleiben aber noch Zeiger (und Referenzen), die nicht automatisch freigegeben werden. FillChar sollte man also nur bewusst einsetzen und nicht einfach weil es schneller ist und einfacher zu schreiben ist, denn was bring einem ein Programm, dass rasend schnell ist, aber mit der Zeit immer langsamer wird, da Windows keinen RAM mehr verfügbar hat und nur noch mit dem Transferieren der Speicherseiten in und aus der Swap-Datei beschäftigt ist.
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:17 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