Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.04.03;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
8-6624
Calm
2002-12-27 09:57
2003.04.03
Управление порядком примитивов в собственном граф. редакторе.


6-6633
MikeFW
2003-02-10 14:49
2003.04.03
Как организовать мгновенную рассылку писем по e-mail?


1-6511
delpher_gray
2003-03-20 19:48
2003.04.03
Как склеить два файла, да так чтоб обои работали =)


1-6504
Andrej
2003-03-24 16:42
2003.04.03
из нижнего регистра в верхний и наобород


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский