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

Вниз

SaveToStream   Найти похожие ветки 

 
CyberS   (2004-07-10 13:17) [0]

Как сохранять treeview через savetostream и загружать?


 
Mim1 ©   (2004-07-10 13:43) [1]

Из vcl

procedure TTreeNodes.ReadData(Stream: TStream);
var
 I, Count: Integer;
 NodeInfo: TNodeInfo;
 LNode: TTreeNode;
 LHandleAllocated: Boolean;
begin
 LHandleAllocated := Owner.HandleAllocated;
 if LHandleAllocated then
   BeginUpdate;
 FReading := True;
 try
   Clear;
   Stream.ReadBuffer(Count, SizeOf(Count));
   for I := 0 to Count - 1 do
   begin
     LNode := Add(nil, "");
     LNode.ReadData(Stream, @NodeInfo);
     Owner.Added(LNode);
   end;
 finally
   FReading := False;
   if LHandleAllocated then
     EndUpdate;
 end;
end;

procedure TTreeNodes.WriteData(Stream: TStream);
var
 I: Integer;
 Node: TTreeNode;
 NodeInfo: TNodeInfo;
begin
 I := 0;
 Node := GetFirstNode;
 while Node <> nil do
 begin
   Inc(I);
   Node := Node.GetNextSibling;
 end;
 Stream.WriteBuffer(I, SizeOf(I));
 Node := GetFirstNode;
 while Node <> nil do
 begin
   Node.WriteData(Stream, @NodeInfo);
   Node := Node.GetNextSibling;
 end;
end;


 
CyberS   (2004-07-10 14:12) [2]

А как пользоваться savetostream и loadtostream в treeview?


 
Mim1 ©   (2004-07-10 14:30) [3]

ааа, вы  про это, а почему вы тогда в раздел компоненты пишите?

procedure TForm1.Button1Click(Sender: TObject);
var fs:tstream;
begin
 fs := tfilestream.Create("c:\123.dat",fmcreate);
 try
   TreeView1.SaveToStream(fs);
 finally
   fs.Free;
 end;
end;


 
Mim1 ©   (2004-07-10 14:30) [4]


> а почему вы тогда в раздел компоненты пишите?

Ой, извините, ошибся.



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

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

Наверх




Память: 0.47 MB
Время: 0.052 c
3-1088931777
}|{yk
2004-07-04 13:02
2004.07.25
XLReport и 1 к m


1-1089339922
ksa2002
2004-07-09 06:25
2004.07.25
Прорисовка таблицы (StringGrid)


1-1089701869
Vilux
2004-07-13 10:57
2004.07.25
BalloonHint


14-1088889770
ИМХО
2004-07-04 01:22
2004.07.25
Марлон Брандо скончался


1-1089277275
Vitalik
2004-07-08 13:01
2004.07.25
создание экземпляров класса по его наименованию.