Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#16

AW: Problem beim Lesen (und schreiben?) von Stream

  Alt 13. Apr 2021, 17:25
Schau dir mal TReader und TWriter an ... das nimmt auch Delphi, um die DFM zu speichern (wobei hier das Binär raus kommt, aber in Text konvertriert werden kann)
Und es gibt auch Mapper für XML oder JSON, um Objekte zu (de)serialisieren.


ReadOrWrite(Pointer(S), Length(S)*StringElementSize(S)); funktioniert mit allen Delphi-Strings (außer ShortString)

aber generell ist es besser statt Pointer das passende PChar/PAnsiChar/PWideChar zu verwenden.


Delphi-Quellcode:
ReadOrWrite(PChar(S), Length(S)*SizeOf(Char)); // String
ReadOrWrite(PAnsiChar(A), Length(A){*SizeOf(AnsiChar)}); // AnsiString
ReadOrWrite(PWideChar(U), Length(U)*SizeOf(WideChar)); // UnicodeString und WideString
und z.B. bei typlosen VAR-Parametern noch ein ^ hinten dran, an den Cast.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (13. Apr 2021 um 17:29 Uhr)
  Mit Zitat antworten Zitat