Вниз
Скачать: 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.018 c
3-6368
PONTIY
2003-03-14 12:01
2003.04.03
Как сортировать данные в TRxDBGrid?


14-6742
race1
2003-03-15 13:19
2003.04.03
(pascal & GUI):=True


1-6538
maxfiles
2003-03-20 03:33
2003.04.03
В Windows 2000 не получается сделать активным окно и вытащить ...


4-6837
ZeroDivide
2003-01-29 15:38
2003.04.03
Изменить цвет виндового ScrollBar a


4-6860
Demn
2003-02-05 12:30
2003.04.03
Explorer, ListView и ListItem




   Наверх