Einzelnen Beitrag anzeigen

Sebastian92

Registriert seit: 1. Mai 2008
Ort: Spiesen-Elversberg
35 Beiträge
 
#1

Speichern von Binären Bäumen in einer Datei

  Alt 30. Aug 2009, 14:50
Hallo liebe Forenleser,

Mein Problem bezieht sich (wie im Titel gesagt) auf einen binären Baum. Ich möchte Einen solchen Baum in eine Datei Schreiben. Funktioniert jedesmal perfekt. Allerdings ist in dieser Prozedur ein Wurm drin und ich weiß nicht wo der fehler liegt. Wahrscheinlich ist er sehr banal und dumm... TInhalt ist der Inhalt der Knoten des Baumes und dementsprechend auch der Variablentyp (file of TInhalt) der gespeichert werden soll,

Zur Erklärung:

zAktuell ist die "Wurzel" des Baumes, Inhalt wie oben gesagt Inhalt jedes Knotens und f mein Dateiname.

Delphi-Quellcode:
Procedure TBaum.SaveDatei(zAktuell :TZeiger);
var Inhalt :TInhalt;
begin
  if(zAktuell<>nil)
    then begin
      SaveDatei(zAktuell^.zLinks);
      Inhalt:=zAktuell^.Inhalt;
      Write(sDatei,Inhalt);
      SaveDatei(zAktuell^.zRechts);
    end;
end;

Procedure TBaum.Save(f :String; zAktuell :TZeiger);
begin
  if(zAktuell<>nil)
    then begin
      AssignFile(sDatei,f);
      if FileExists(f)
        then Reset(sDatei)
        else ReWrite(sDatei);
      SaveDatei(zAktuell);
      CloseFile(sDatei);
    end;
end;
mit freundlichen Grüßen,

Sebastian
  Mit Zitat antworten Zitat