Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.19;
Скачать: 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 вся ветка

Текущий архив: 2009.04.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
1-1210613850
[i2e]
2008-05-12 21:37
2009.04.19
как сделать PopupMenu в стиле XP? (синяя окантовка)


2-1235977011
worldmen
2009-03-02 09:56
2009.04.19
Ошибка : "Неверный дескриптор" и "Параметр задан не верно"


2-1236075272
GenaWow
2009-03-03 13:14
2009.04.19
Свйство CharCase у TMemo


2-1235708177
sco
2009-02-27 07:16
2009.04.19
TImage и прорисовка (не про DoubleBuffered)


2-1236008804
Alexey
2009-03-02 18:46
2009.04.19
Изменение Canvas в TImage с загруженным JPEG