Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
3-6393
Наташа
2003-03-15 18:14
2003.04.03
Мастера Delphi!


7-6833
xfrost
2003-02-08 15:30
2003.04.03
Как выключить


14-6721
WMag
2003-03-16 01:00
2003.04.03
Необычный Grid


1-6525
OlegM
2003-03-21 06:06
2003.04.03
Комп и дистанционное управление


1-6519
delkos
2003-03-24 21:36
2003.04.03
Простой Трейнер




   Наверх