![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поддержка сериализации в Delphi. [D5]
BlackJack © (2002-04-13 01:11:00)Есть ли поддержка сериализации в Delphi?Имеется объект с некоторыми свойствами, надо сделать так, чтобы после выхода из программы и затем ее загрузки все свойства объекта приняли выбранные до этого пользователем значения.
Конечно можно использовать ini файлы, но по мне это - каменный век. Меня интересует:
1) есть ли поддержка сериализации, если да как ее сделать,
2) как писать параметры таких объектов через реестр windows.
Armen (2002-04-15 14:16:00) [1]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;
Armen (2002-04-15 14:06:00) [2]TStream.WriteComponent(Instance: TComponent);
TStream.WriteComponentRes(const ResName: string; Instance:TComponent);
Вася Пупкин (2002-04-14 06:16:00) [3]Нечто подобное все-же есть - классы TWriter и TReader.
Неплохо описано в М.Канту,Т.Гуч,Дж.Лэм "Дельфи. Руководство разработчика", гл.3 - больше подобного описания, к сожалению, нигде не встречалось.
Примеры к книге (код) можно скачать:
ftp://ftp.sybex.com/1987/Ch03.exe(1.5 М)
Примеры: Persist - запись и чтение простого объекта пользователя
StrComp - чтение и запись файлов форм
Fantasist (2002-04-13 21:35:00) [4]Поддержки сериализации в Делфи нет - надо писать свою. Я бы делал это через BlockWrite/BlockRead.
SPeller (2002-04-13 02:14:00) [5]1) Можно хранить настройки в бинарных файлах.
2) Используй класс TRegistry. В нём всё интуитивно понятно.