Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

Поддержка сериализации в Delphi. 


BlackJack   (2002-04-13 01:11) [0]

Есть ли поддержка сериализации в Delphi?Имеется объект с некоторыми свойствами, надо сделать так, чтобы после выхода из программы и затем ее загрузки все свойства объекта приняли выбранные до этого пользователем значения.
Конечно можно использовать ini файлы, но по мне это - каменный век. Меня интересует:
1) есть ли поддержка сериализации, если да как ее сделать,
2) как писать параметры таких объектов через реестр windows.



SPeller   (2002-04-13 02:14) [1]

1) Можно хранить настройки в бинарных файлах.
2) Используй класс TRegistry. В нём всё интуитивно понятно.



Fantasist   (2002-04-13 21:35) [2]

Поддержки сериализации в Делфи нет - надо писать свою. Я бы делал это через BlockWrite/BlockRead.



Вася Пупкин   (2002-04-14 06:16) [3]

Нечто подобное все-же есть - классы TWriter и TReader.

Неплохо описано в М.Канту,Т.Гуч,Дж.Лэм "Дельфи. Руководство разработчика", гл.3 - больше подобного описания, к сожалению, нигде не встречалось.

Примеры к книге (код) можно скачать:
ftp://ftp.sybex.com/1987/Ch03.exe (1.5 М)
Примеры: Persist - запись и чтение простого объекта пользователя
StrComp - чтение и запись файлов форм



Armen   (2002-04-15 14:06) [4]

TStream.WriteComponent(Instance: TComponent);
TStream.WriteComponentRes(const ResName: string; Instance:TComponent);



Armen   (2002-04-15 14:16) [5]

Mojno eshe Ispol"zovat" TReader, TWriter

var
Stream: TStream;
Writer: TWriter;
MyComponent: TComponent;
begin
MyComponent:= TComponent.Create(Application);
Stream:= TMemoryStream.Create;
try
Writer:= TWriter.Create(Stream, Sizeof(MyComponent));
Writer.WriteRootComponent(MyComponent);
....
....
finally
Writer.Free;
Stream.Free;
end;
end;




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх







Память: 0.74 MB
Время: 0.025 c
6-94533           Delphir               2002-02-13 16:30  2002.04.29  
IdSMTP - HELP!!! 2


1-94352           esprit_bel            2002-04-17 10:38  2002.04.29  
прога ее модификация


6-94521           vajo                  2002-01-17 10:06  2002.04.29  
Права доступа к папкам.


4-94637           celestial             2002-02-25 08:56  2002.04.29  
Как запретить окну быть активным?


3-94266           Rub                   2002-04-05 15:53  2002.04.29  
Народ, кто-нибудь может доступным языком и в двух словах...