Скачиваний:
28
Добавлен:
01.05.2014
Размер:
1.44 Кб
Скачать
unit SerializableObject;

interface

uses
Classes;

type
TDMSerializableObject = class
procedure serializeObject( ostream : TStream ); virtual; abstract;
procedure deserializeObject( istream : TStream ); virtual; abstract;
procedure serializeString(const ostream: TStream; const value: string);
procedure serializeInteger(const ostream: TStream; const value: integer);
procedure deserializeString(const istream: TStream; var value: string);
procedure deserializeInteger(const istream: TStream; var value: integer);
end;

implementation

{ TDMSerializableObject }

procedure TDMSerializableObject.deserializeInteger(const istream: TStream; var value: integer);
begin
istream.Read(value, sizeof(value));
end;

procedure TDMSerializableObject.deserializeString(const istream: TStream; var value: string);
var
len: Integer;
begin
istream.Read(len, sizeof(len));
SetLength(value, len);
istream.Read(value, len);
end;

procedure TDMSerializableObject.serializeInteger(const ostream: TStream; const value: integer);
begin
ostream.Write(value, sizeof(value));
end;

procedure TDMSerializableObject.serializeString(const ostream: TStream; const value: string);
var
len: Integer;
begin
len := length(value);
ostream.Write(len, sizeof(len));
ostream.Write(value, len);
end;

end.
Соседние файлы в папке DMCore