![]() |
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 |
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.
|
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.
|
Re: Records
Hi
was meinst du genau? Meinst du eine Liste, die mit Pointern realisiert wurde?
Delphi-Quellcode:
MfG
Type
TListe = ^TL_Element; TL_Element = record inhalt: string; naechster: TListe; end; Christian |
Re: Records
Ja, das meine ich
|
Re: Records
Ok :-)
Also, zunächst brauchst du einen neuen Zeiger vom Typ TListe
Delphi-Quellcode:
Der Zeiger muss erstellt werden.
var hilf: TListe
Delphi-Quellcode:
Anschließend weist du hilf, "worauf es zeigt", einen Wert zu
new(hilf)
Delphi-Quellcode:
Damit dieses Element ganz vorne steht müssen alle anderen Elemente hinten dran gehangen werden:
hilf^.inhalt := 'deinenString';
Delphi-Quellcode:
Das müsste es eigentlich schon gewesen sein.
hilf^.naechster := DeinenAlteListenVariable
MfG Christian |
Re: Records
oh... ich habe vergessen zu schreiben, dass es sortiert eingefügt werden soll
|
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 11:10 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