Einzelnen Beitrag anzeigen

wonnebeekiwi

Registriert seit: 23. Mär 2009
16 Beiträge
 
#13

Re: Wieso kann man Listenelemente nicht kopieren?

  Alt 29. Mär 2009, 16:58
Delphi-Quellcode:
procedure TForm1.BaumgraphAnzeigen (Baum: TAVLBaum; Tiefe,X,DX: integer);
var Text: string;
    XPos,YPos: integer;
begin
  if not Baum.Leer then
    begin
      DX := DX div 2;
      XPos := X;
      YPos := Tiefe*40 + 20;
      Text := baum.Wurzel.toString;
      ImBaum.Canvas.Ellipse (XPos-10,YPos-5,XPos+24,YPos+15);
      ImBaum.Canvas.TextOut (XPos,YPos-3,Text);
      if not baum.rechts.Leer
      then begin
        ImBaum.Canvas.MoveTo (XPos+7,YPos+15);
        ImBaum.Canvas.LineTo (XPos+7+DX,YPos+40);
      end;
      BaumGraphAnzeigen (baum.rechts,Tiefe+1,X+DX,DX);
      if not baum.links.Leer
      then begin
        ImBaum.Canvas.MoveTo (XPos+7,YPos+15);
        ImBaum.Canvas.LineTo (XPos+7-DX,YPos+40);
      end;
      BaumGraphAnzeigen (baum.links,Tiefe+1,X-DX,DX);
    end;
end;
Der debugger zeigt mir diese Zeile an: Text := baum.Wurzel.toString;
Die Klasse sieht so aus:
Delphi-Quellcode:
type

  TAVLBaum = class(TPersistent)

  private

  public
    Wurzel : TItem;
    Balance: Integer;
    links: TAVLBaum;
    rechts: TAVLBaum;
    constructor create();overload;
    constructor create(Werte: String);overload;
    constructor create(pItem: TItem);overload;
    function KntnFinden(pItem: TItem): Boolean;
    function Hoehe(): Integer;
    function toString():String;
    function Leer():Boolean;
    function KntnEinfuegen(pItem: TItem):boolean;
    procedure Assign(Source: TPersistent);override;
    procedure AssignTo(Dest: TPersistent);override;
    procedure Sortieren;
    procedure LLDrehung;
    procedure LRDrehung;
    procedure RRDrehung;
    procedure RLDrehung;

end;
Vorher lief das Programm genau so. An den Elementen die ich erstelle hab ich nicht mehr rumgepfuscht.
Im Anhang ist alles.
Angehängte Dateien
Dateityp: zip project_tree_483.zip (239,8 KB, 1x aufgerufen)
  Mit Zitat antworten Zitat