Вниз
Скачать: CL | DM;

Сохранение в файл объекта   Найти похожие ветки 

← →
huge   (2009-02-28 15:10) [0]

Как правильно сохранить объект(класс) через TFileStream?
Допустим, сохраняемый обьект такой:


 TB = class
   I: integer;
   S: string;
   G: TGraphic;
end;

 TR = class
   base:TB;
 private
   D: array[0..10] of TR;
   I: integer;
   B:boolean;
end;


я подумал что записать можно так:

o:TR;
..
Stream.WriteBuffer(o, SizeOf(o));


Но видимо, нужно отдельно писать каждый элемент класса. Это так?
Тогда как поступить если TR может иметь неограниченную вложенность себя же?


← →
Palladin ©   (2009-02-28 15:16) [1]


> Но видимо, нужно отдельно писать каждый элемент класса.
> Это так?

Да


> Тогда как поступить если TR может иметь неограниченную вложенность
> себя же?

Воспользоваться заклинанием "Рекурсия"
Состав:
1. Волшебный метод объекта Write(stm:TStream);
2. Цикл по вложенным элементам своего же класса с вызовом этого Волшебного метода.


← →
huge   (2009-02-28 15:36) [2]

Понятно, спасибо



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
3-1219843455
Алина
2008-08-27 17:24
2009.04.19
Проверка выделенной строки в DBGrid и использ-е типа поля memо


2-1235817524
Андрей (начинающий)
2009-02-28 13:38
2009.04.19
Как узнать имя TTF шрифта, если оно не совпадает с названием


2-1235676633
Pavel
2009-02-26 22:30
2009.04.19
Передача значений из функции


15-1234953174
RDen
2009-02-18 13:32
2009.04.19
InnoSetup


2-1235726156
Dennis I. Komarov
2009-02-27 12:15
2009.04.19
TField.Value to string




   Наверх