2020-12-08 16:23:13 +03:00
|
|
|
|
// Сериализация объектов
|
|
|
|
|
|
// Можно сериализовать только объекты, помеченные атрибутом [Serializable]
|
|
|
|
|
|
// Внешние Serialize, Deserialize позволяют сохранить в файле - восстановить
|
|
|
|
|
|
// один объект (один граф объектов с данным корнем)
|
|
|
|
|
|
type
|
|
|
|
|
|
[Serializable]
|
|
|
|
|
|
Node = auto class
|
|
|
|
|
|
x: integer;
|
|
|
|
|
|
next: Node;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
const fname = 'a.dat';
|
|
|
|
|
|
|
|
|
|
|
|
begin
|
2022-04-18 21:34:18 +03:00
|
|
|
|
var m := new Node(5,new Node(3,new Node(4,nil))); // Связный список
|
2020-12-08 16:23:13 +03:00
|
|
|
|
Serialize(fname,m); // Сериализуем объект в файл
|
|
|
|
|
|
var m1 := Deserialize(fname) as Node; // Десериализуем из файла
|
|
|
|
|
|
Print(m1);
|
|
|
|
|
|
end.
|