Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.03;
Скачать: CL | DM;

Вниз

Сохранение компонента   Найти похожие ветки 

 
roadstar ©   (2003-03-20 17:10) [0]

Добрый день!
Есть проблема.
Имеется TreeView с нодами. Его необходимо сохранить в базе данных, а затем вычитать.
Может у кого есть какие нибудь идеи?
Заранее благодарен.


 
MBo ©   (2003-03-20 17:12) [1]

Treeview.SavetoStream(BlobStream)


 
RoadStar ©   (2003-03-20 17:15) [2]

Аха.
BlobStream - это случайно не класс в Дельфе?
Вобщем идея неплохая, спасибо, MBo


 
RoadStar ©   (2003-03-20 17:50) [3]

А назад как?
Что-то Tree := TTreeView(BlobStream.ReadComponent(nil)) не работает.
Чё делать???


 
icWasya ©   (2003-03-20 17:55) [4]

посмотри исходники
TCustomTreeView.DestroyWnd;
TCustomTreeView.CreateWnd;

там идея такая - когда разрушается окно TreeView, например Parent:=Nil, то все данные записываются в Stream, а когда окно восстанавливается, то из этого Stream`а всё читается обратно. разберись и переделай


 
NAlexey ©   (2003-03-20 18:02) [5]

TReader, TWriter. Там кажется все есть.


 
MBo ©   (2003-03-20 18:07) [6]

>А назад как?
Дык... treeview1.LoadFromStream , естественно



 
RoadStar ©   (2003-03-20 18:12) [7]

>Дык... treeview1.LoadFromStream , естественно

А где ты его там видел?


 
MBo ©   (2003-03-20 18:26) [8]

и в хелпе, и проверил :)


 
malkolinge ©   (2003-03-21 12:25) [9]

function ComponentToString(Component: TComponent): string;

var
BinStream: TMemoryStream;
StrStream: TStringStream;
s: string;
begin
BinStream := TMemoryStream.Create;
try
StrStream := TStringStream.Create(s);
try
BinStream.WriteComponent(Component);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, StrStream);
StrStream.Seek(0, soFromBeginning);
Result := StrStream.DataString;
finally
StrStream.Free;

end;
finally
BinStream.Free
end;
end;

function StringToComponent(Value: string): TComponent;
var
StrStream: TStringStream;
BinStream: TMemoryStream;
begin
StrStream := TStringStream.Create(Value);
try
BinStream := TMemoryStream.Create;
try
ObjectTextToBinary(StrStream, BinStream);
BinStream.Seek(0, soFromBeginning);
Result := BinStream.ReadComponent(nil);
finally
BinStream.Free;
end;
finally
StrStream.Free;
end;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
14-6709
Феликс
2003-03-12 00:04
2003.04.03
Средний вес.


8-6626
Zirus
2002-12-26 13:22
2003.04.03
Звук


3-6399
td
2003-03-13 18:20
2003.04.03
сжать таблицу


1-6489
BIG BROTHER
2003-03-20 20:47
2003.04.03
Шрифт и цвет


14-6735
Nik4543
2003-03-13 07:08
2003.04.03
Что из железа....