【TreeView求助】:如何保存当前树结构的信息,以便下次程序运行时重新调出树结构?(10分)

  • 主题发起人 主题发起人 凤仙花
  • 开始时间 开始时间

凤仙花

Unregistered / Unconfirmed
GUEST, unregistred user!
TreeView求助:如何保存当前树结构的信息,以便下次程序运行时重新调出树结构?
我需要保存的信息:
1、节点名称
2、节点位置(层次关系) [这个最头疼,不懂得如何弄]
3、节点DATA值
4、节点图标的index数值
 
手动, TFileStream 保存.

不是每种功能 Delphi 都内置了的.
也不是你的每个问题,别人也都是遇到过的
更不是每个别人也同样遇到的问题,也都是有答案的.

还是自己动手写吧.
 
TFileStream 是什么?哪里找这个控件?
 
TFileStream是非可视化控件,类似的还有TMemoryStream,你可以去看看关于流操作的书
 
这是我以前写的一个算法,希望对你有帮助
MEMO中的内容是:
1
2
3
1_1
1_2
2_1
3_1
1_3
4_4

算法如下:
procedure TForm1.Button1Click(Sender: TObject);
const
SplitChar='_';
var
i,j: Integer;
S: String;
hh: TTreeNode;
function GetParent(Value: String):String;
var
TempPos: Integer;
begin
If Pos(SplitChar,Value)>0 then
begin
TempPos:=Pos(SplitChar,Value);
Delete(Value,TempPos,TempPos);
Result:=Value;
end;
end;
begin
TreeView1.Items.Clear;
for i:=0 to Memo1.Lines.Count-1 do
begin
s:=Memo1.Lines.Strings;
If Pos(SplitChar,S)=0 then
TreeView1.Items.Add(nil,s)
else
begin
hh:=nil;
for j:=0 to TreeView1.Items.Count-1 do
begin
If TreeView1.Items.Item[j].Text=GetParent(S) then
begin
hh:=TreeView1.Items.Item[j];
Break;
end;
end;
if hh<>nil then
TreeView1.Items.AddChild(hh,S);
end;
end;
end;
 
看不懂,这么难啊
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部