![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SaveToStream [D5, WinXP]
CyberS © (2004-07-10 13:17:00)Как сохранять treeview через savetostream и загружать?
Mim1 (2004-07-10 14:30:00) [1]ааа, вы про это, а почему вы тогда в раздел компоненты пишите?
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:00) [2]
> а почему вы тогда в раздел компоненты пишите?
Ой, извините, ошибся.
CyberS (2004-07-10 14:12:00) [3]А как пользоваться savetostream и loadtostream в treeview?
Mim1 (2004-07-10 13:43:00) [4]Из 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;