Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
10. Okt 2003
Size := TFNode.GetData.Size;
// TFStream.Position := FilePos;
TFStream.Write(Level, 2);
TFStream.Write(Size, 2);
TFStream.Write(TFNode.GetData.PData^, Size);
// FilePos := TFStream.Position;
Schmeiß das FilePos raus, es wird nicht benötigt. Ansonsten sehe ich keinen Fehler.
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
29. Sep 2003
Hi,
Da ich selber schon so was gecodet habe will ich dir erklären wie ich es gemacht habe.
Die Grundbedingungen waren exakt die gleichen wie bei dir
- Node Klassen die für eigene Daten abgeleitet werden
- Node Klassen durften nicht von TComponent aber von TPersistent abgeleitet werden
- Nodes sollten sich per Delphi TComponent Streamingsystem speichern
Besonders der letzte Punkt war...
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
29. Sep 2003
Obiger Vorschlag setzt vorraus das deine Baumstruktur in jeder Node die Parentnode speichert, also die Node in der die Node selber eingelinkt ist. Dies ist aber auch allgm. üblich.
Gruß Hagen
Forum: Sonstige Fragen zu Delphi
Delphi
by negaH,
29. Sep 2003
Wenn du nur mit Records arbeiten willst, also jeder Record gleiche Größe, ist es am sinnvollsten den Level der Node in den Record aufzunehmen. Der Level ist die Anzahl der übergeordneten Parent Nodes bis zur Root. Durch deine Iterierfunktion für den Baum, kannste dann den Level ziemlich einfach mitführen.
Beim Laden eines solchen Baumes ist der erste Record ja die Root mit Level = 0. Beim...