Hi,
um Strings in einen Stream zu schreiben, hab ich folgenden Classhelper:
Delphi-Quellcode:
unit uclasshelpers;
interface
uses
Classes;
type
// Klassenhelfer für den TStream um Strings komfortabel lesen und schreiben zu können
TStreamHelper =
class helper
for TStream
public
procedure WriteString(
const aString:
string);
function ReadString:
string;
end;
implementation
{ TStreamStringWriter }
// Liest einen String aus und gibt ihn zurück
function TStreamHelper.ReadString:
string;
var
len: Integer;
begin
ReadBuffer(len, SizeOf(Integer));
SetString(Result, PChar(
nil), len);
ReadBuffer(Pointer(Result)^, len);
end;
// Schreibt einen String in den Stream
procedure TStreamHelper.WriteString(
const aString:
string);
var
len: Integer;
begin
len := Length(aString);
WriteBuffer(len, SizeOf(Integer));
WriteBuffer(PChar(aString)^, len);
end;
end.