Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Records (https://www.delphipraxis.net/34394-records.html)

Delphi-Joe 22. Nov 2004 15:23


Records
 
hallo,

weiß jemand von euch, wie ich Elemente in ein Record einfüge. Es soll aber mit Pointern(Zeigern) programmiert sein. Wäre genial, wenn ihr mir vieleicht den Code schicken könntet. :-D Vielen Dank!

Gruß Julian

Dax 22. Nov 2004 15:24

Re: Records
 
Erkläre dein Problem mal etwas genauer.. Was meinst du mit "Elemente sortiert einfügen"? Wenn es darum geht, dem Record zur Laufzeit deines Programms neue Felder zu verpassen: Das geht nicht.

Delphi-Joe 22. Nov 2004 15:31

Re: Records
 
Ich möchte Daten (Elemente) zu einem Record hinzufügen. Jedoch sollen diese Daten nicht am Ende der Liste eingefügt werden, sondern am Anfang. Also vor alle anderen Elemente.

Chris1986 22. Nov 2004 15:33

Re: Records
 
Hi
was meinst du genau?

Meinst du eine Liste, die mit Pointern realisiert wurde?

Delphi-Quellcode:
Type
  TListe = ^TL_Element;
  TL_Element = record
                 inhalt: string;
                 naechster: TListe;
               end;
MfG
Christian

Delphi-Joe 22. Nov 2004 15:37

Re: Records
 
Ja, das meine ich

Chris1986 22. Nov 2004 15:43

Re: Records
 
Ok :-)
Also,
zunächst brauchst du einen neuen Zeiger vom Typ TListe
Delphi-Quellcode:
var hilf: TListe
Der Zeiger muss erstellt werden.
Delphi-Quellcode:
new(hilf)
Anschließend weist du hilf, "worauf es zeigt", einen Wert zu
Delphi-Quellcode:
hilf^.inhalt := 'deinenString';
Damit dieses Element ganz vorne steht müssen alle anderen Elemente hinten dran gehangen werden:
Delphi-Quellcode:
hilf^.naechster := DeinenAlteListenVariable
Das müsste es eigentlich schon gewesen sein.

MfG
Christian

Delphi-Joe 22. Nov 2004 15:48

Re: Records
 
oh... ich habe vergessen zu schreiben, dass es sortiert eingefügt werden soll

Chris1986 22. Nov 2004 15:53

Re: Records
 
:wall:
Naja, Grundprinzip von wegen einfügen ist fast das gleiche.
Du musst mit einer Binärsuchen oder einen linearen Suche die Stelle finden, an der das Element eingefügt werden soll. An dieser Stelle teilst du die Liste. Dann erstellst du wie oben schon beschrieben eine neue Variable. Das letze Element aus dem ersten Teil der Schlange muss dann auf die neue Variable zeigen und die Variable selbst muss auf das erste Element der zweiten Hälfte zeigen.

MfG
Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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