Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

AW: Von TStringList abgeleitete Klasse inkl. Objecten speichern

  Alt 8. Jul 2010, 22:14
Naja, also deine Objekte sollten schon eine SaveToStream() Methode mitbringen. Dann kannst du in der StringList einfach die SavetoStream() methode überschreiben und jeweils immer die Länge des Namens, den Namen selbst speichern und dann SaveToStream() aufrufen.
Das ist dann zwar ein (unleserliches) Binärformat, und es ist auch ruck-zuck inkompatibel mit Vorgänger/Nachfolgeversionen, aber es geht und nimmt wenig Platz ein

Also TmeineDaten um ein SaveToStream() erweitern (savetofile kannst du der Vollständigkeit halber auch direkt dazutun), und dann sowas machen:
Delphi-Quellcode:
Stream.Write(Items.Count)
for i := 0 to Items.Count - 1 do
begin
  Stream.Write(Items[i].length);
  Stream.Write(Items[i]);
  Stream.Write((Objects[i] as TmeineDaten).SaveToStream(Stream));
end;

Geändert von jfheins ( 8. Jul 2010 um 22:18 Uhr)
  Mit Zitat antworten Zitat