给你个小例子,自己理解吧! 没什么用主要是提高速度Procedure TForm1.Button1Click(Sender: TObject); Var ST:TMemoryStream; LA,LB,LC,LD:Integer; SA,SB,SC,SD:String; CA,CB,CC,CD:String; Max:Integer; begin Max:=7; //将生成 7x7x7x7 的树. ST:=TmemoryStream.Create; //建立内存流 SA:=Chr($0D)+Chr($0A); //各级节点标志 SB:=SA+Chr($09); SC:=SB+Chr($09); SD:=SC+Chr($09); For LA:=1 to Max DO Begin CA:='Root '+Inttostr(LA); //根节点内容 ST.Write(PChar(CA)^, Length(CA)); //写入根节点 For LB:=1 to Max DO Begin CB:='LevelII '+Inttostr(LB); //次级节点内容 ST.Write(PChar(SB)^, Length(SB)); //写入次级标志 ST.Write(PChar(CB)^, Length(CB)); //写入次级内容 下同,略 For LC:=1 to Max Do Begin CC:='LevelIII '+Inttostr(LC); ST.Write(PChar(SC)^, Length(SC)); ST.Write(PChar(CC)^, Length(CC)); For LD:=1 to Max do Begin CD:='Node '+Inttostr(LD); ST.Write(PChar(SD)^, Length(SD)); ST.Write(PChar(CD)^, Length(CD)); End; End; End; ST.Write(PChar(SA)^, Length(SA)); //写入根节点标志 End; ST.Position:=0; TreeView1.LoadFromStream(ST); //从流中载入 TreeView1.Items.BeginUpdate; TreeView1.FullExpand; TreeView1.Items.EndUpdate; ST.Free; End;
var a,a1,a2:ttreenode; begin a:=ctv1.Items.Add(nil,ADOTable1.FieldValues['c_name']); a1:=ctv1.Items.Add(a,IntToStr(ADOTable1.FieldValues['i_int'])); a2:=ctv1.Items.Add(a1,ADOTable1.FieldValues['c_zt']); end;
没什么用主要是提高速度Procedure TForm1.Button1Click(Sender: TObject);
Var ST:TMemoryStream;
LA,LB,LC,LD:Integer;
SA,SB,SC,SD:String;
CA,CB,CC,CD:String;
Max:Integer;
begin
Max:=7; //将生成 7x7x7x7 的树.
ST:=TmemoryStream.Create; //建立内存流
SA:=Chr($0D)+Chr($0A); //各级节点标志
SB:=SA+Chr($09);
SC:=SB+Chr($09);
SD:=SC+Chr($09);
For LA:=1 to Max DO
Begin
CA:='Root '+Inttostr(LA); //根节点内容
ST.Write(PChar(CA)^, Length(CA)); //写入根节点
For LB:=1 to Max DO
Begin
CB:='LevelII '+Inttostr(LB); //次级节点内容
ST.Write(PChar(SB)^, Length(SB)); //写入次级标志
ST.Write(PChar(CB)^, Length(CB)); //写入次级内容 下同,略
For LC:=1 to Max Do
Begin
CC:='LevelIII '+Inttostr(LC);
ST.Write(PChar(SC)^, Length(SC));
ST.Write(PChar(CC)^, Length(CC));
For LD:=1 to Max do
Begin
CD:='Node '+Inttostr(LD);
ST.Write(PChar(SD)^, Length(SD));
ST.Write(PChar(CD)^, Length(CD));
End;
End;
End;
ST.Write(PChar(SA)^, Length(SA)); //写入根节点标志
End;
ST.Position:=0;
TreeView1.LoadFromStream(ST); //从流中载入
TreeView1.Items.BeginUpdate;
TreeView1.FullExpand;
TreeView1.Items.EndUpdate;
ST.Free;
End;
a,a1,a2:ttreenode;
begin
a:=ctv1.Items.Add(nil,ADOTable1.FieldValues['c_name']);
a1:=ctv1.Items.Add(a,IntToStr(ADOTable1.FieldValues['i_int']));
a2:=ctv1.Items.Add(a1,ADOTable1.FieldValues['c_zt']);
end;