Einzelnen Beitrag anzeigen

Udontknow

Registriert seit: 17. Jun 2002
223 Beiträge
 
#7

Re: Probleme mit TMemoryStream

  Alt 7. Jun 2006, 11:09
Japp, ist mir später auch aufgegangen, aber da wars schon so implementiert, also habe ich es so gelassen.

Wenn wir schon dabei sind, sollte LoadStrFromStream dann besser eine Funktion sein, damit man in einem Schritt auslesen kann und nicht den Umweg über eine String-Variable gehen muss:

Delphi-Quellcode:
function LoadStrFromStream(const Stream: TStream): String;
var Len: Word;
begin
  Stream.ReadBuffer(Len, SizeOf(Len));
  SetLength(Result, Len);
  if Len > 0 then
    Stream.ReadBuffer(Pointer(Result)^, Len);
end;
PS: Vielleicht sollte man noch erwähnen, daß diese Routinen die Länge der zu speichernden Strings auf 2^16 Byte beschränkt, da die Länge per Word-Variable definiert ist. Um das auf 2^32 Byte zu erhöhen, einfach aus "var Len:Word" "var Len:Cardinal" machen.

Cu,
Udontknow
  Mit Zitat antworten Zitat