28 lines
855 B
ObjectPascal
28 lines
855 B
ObjectPascal
// Сериализация объектов
|
||
// Можно сериализовать только объекты, помеченные атрибутом [Serializable]
|
||
// Внешние Serialize, Deserialize позволяют сохранить в файле - восстановить
|
||
// один объект (один граф объектов с данным корнем)
|
||
type
|
||
[Serializable]
|
||
My = auto class
|
||
x,y: integer;
|
||
end;
|
||
IntArray = array of integer;
|
||
|
||
const fname = 'a.dat';
|
||
|
||
begin
|
||
var f := CreateBinary(fname);
|
||
f.Serialize(new My(444,555));
|
||
f.Serialize(|1,2,3|);
|
||
f.Serialize(Lst(1..9));
|
||
f.Close;
|
||
|
||
f := OpenBinary(fname);
|
||
var m: My := f.Deserialize as My;
|
||
var a: array of integer := f.Deserialize as IntArray;
|
||
var l: List<integer> := f.Deserialize as List<integer>;
|
||
f.Close;
|
||
|
||
Print(m,a,l);
|
||
end. |