Главная страница
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.014 c
1-6430
Nico1a_____
2003-03-23 10:42
2003.04.03
Popup Menu


3-6342
Vladislav1
2003-03-14 10:21
2003.04.03
Как создать временную таблицу?


1-6491
Cranium
2003-03-23 22:09
2003.04.03
IniFiles и диалог выбора файла.....


8-6611
Maniak
2002-12-27 10:07
2003.04.03
Изменение цвета объекта Shape


1-6514
Michael Makushev
2003-03-24 21:11
2003.04.03
Парсер (любой) как пользоваться ?