Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовой проект групп 3341 и 3382 / DMCore / SerializableObject
.pas 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.
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