Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi fehler beim umstrukturieren von datenstrukturen (https://www.delphipraxis.net/131651-fehler-beim-umstrukturieren-von-datenstrukturen.html)

wonnebeekiwi 28. Mär 2009 09:41


fehler beim umstrukturieren von datenstrukturen
 
Hi!
Ich habe ein Problem beim Sortieren/Einfügen/Löschen von Elementen in Listen. Ich wollte ein Element zwischenspeichern, damit ich das Original verändern kann. Die Rechnung ist nicht aufgegangen. Ich hab es iregentwie geschafft beide paralell zu ändern. Ich denke das ich ausversehen mir Pointern gearbeitet habe. Ich habe den "Zwischenspeicher" ganz normal als Variable vom Typ Element deklariert.
Hat jemand eine Idee wie man dieses Problem umgehen kann?
Wäre sehr dankbar, falls jemand Interesse hat!
mfg

mkinzler 28. Mär 2009 09:44

Re: fehler beim umstrukturieren von datenstrukturen
 
Um zu sagen, was du falsch gemacht hast, sollten wir wissen was/wie du es versucht hast

Klaus01 28. Mär 2009 09:45

Re: fehler beim umstrukturieren von datenstrukturen
 
Guten Morgen,

Du musst nicht die Zeiger beim kopieren übergeben
sondern das worauf der Zeiger zeigt.

Ein Codebeispiel mit dem beschriebenen Problem wäre nicht schlecht,
so bleibt das alles etwas zu theoretisch.

Grüße
Klaus

wonnebeekiwi 28. Mär 2009 13:02

Re: fehler beim umstrukturieren von datenstrukturen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier einmal den konkreten Code. Im Anhang ist der gesammte Code. Das Programm läuft noch nicht wie es soll.
Delphi-Quellcode:
procedure TAVLBaum.RRDrehung;
var Zeiger: TAVLBaum;
begin
  Zeiger := rechts;
  rechts := Zeiger.links;
  Zeiger.links := Self;
  Self := Zeiger;
end;

procedure TAVLBaum.RLDrehung;
var Zeiger1, Zeiger2: TAVLBaum;
begin
  Zeiger1 := rechts;
  Zeiger2 := Zeiger1.links;
  Zeiger1.links := Zeiger2.rechts;
  Zeiger2.rechts := Zeiger1;
  rechts := Zeiger2;
  RRDrehung;
end;
Ich dachte der würde das ganze Element kopieren. Funktioniert halt nicht.


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