Einzelnen Beitrag anzeigen

Zerolith

Registriert seit: 12. Mär 2003
Ort: Kempten
188 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Reverse Engineering: Typisierte Dateien

  Alt 19. Jan 2005, 13:34
Also ich bin es "gewohnt" eigene Dateien in einem Objekt bzw. Record zu definieren und dann via FileStream das ganze
zu Speichern (Stream.Write....).

Bei Strings mache ich das meistens so:

Delphi-Quellcode:
TMeineDatei = record
  ...
  _String : String;
  ...
end;

...

var fs : TFileStream
begin
  fs := TFileStream.Create('datei.txt');
  fs.Write(Length(Record._String), SizeOf(Integer));
  fs.Write(Pointer(Record._String)^, Length(Record._String));
  ...
end;
wegen der Zeile
  fs.Write(Pointer(Record._String)^, Length(Record._String)); wurde ich schonmal gefragt warum ich das so mache es sei doch das selbe wie

  fs.Write(Record._String), Length(Record._String)); kann ich nicht sagen... so wie ich es mache funktioniert es in 100% der fälle - anders bekomm ich gelegentlich ne zugriffsverletzung.

BTT:

Ist es mit dieser Variante immer möglich eine Typisierte Datei auszulesen (vorrausgesetzt die Struktur ist bekannt)? Oder gibt es verschiedene Varianten die Datei zu spiechern / laden?

Danke, Daniel


[Edit: mein deutsch verbesser ^^]
Daniel
  Mit Zitat antworten Zitat