unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls;type
TForm1 = class(TForm)
TreeV1: TTreeView;
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
procedure FormActivate(Sender: TObject);
procedure TreeCreate;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormActivate(Sender: TObject);
begin
TreeCreate;
end;procedure TForm1.TreeCreate;
var
i,j,iCount,SiCount,SjCount:integer;
iNode,jNode:Ttreenode;
L_i,L_j:string;
begin
iCount:=20;
SiCount:=0;
TreeV1.Items.Clear;
for i:=1 to iCount do begin
SiCount:=SiCount+1;
L_i:=inttostr(SiCount);
iNode:=TreeV1.Items.Add(nil,L_i);
for j:=1 to i do begin
SiCount:=SiCount+1;
L_j:=inttostr(SiCount);
jNode:=TreeV1.Items.AddChild(iNode,L_j);
end;
end;
end;end.以上是自己写的一棵树,现在我想遍历树,要求在Edit中输入的内容与树的一个结点上的内容相同时,则遍历找到了我要求的结点.并把这个结点的值赋给Label,同时展开树使找到了的结点处于被选择状态. 请问这个算法怎么实现? 谢谢大家~!
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls;type
TForm1 = class(TForm)
TreeV1: TTreeView;
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
procedure FormActivate(Sender: TObject);
procedure TreeCreate;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormActivate(Sender: TObject);
begin
TreeCreate;
end;procedure TForm1.TreeCreate;
var
i,j,iCount,SiCount,SjCount:integer;
iNode,jNode:Ttreenode;
L_i,L_j:string;
begin
iCount:=20;
SiCount:=0;
TreeV1.Items.Clear;
for i:=1 to iCount do begin
SiCount:=SiCount+1;
L_i:=inttostr(SiCount);
iNode:=TreeV1.Items.Add(nil,L_i);
for j:=1 to i do begin
SiCount:=SiCount+1;
L_j:=inttostr(SiCount);
jNode:=TreeV1.Items.AddChild(iNode,L_j);
end;
end;
end;end.以上是自己写的一棵树,现在我想遍历树,要求在Edit中输入的内容与树的一个结点上的内容相同时,则遍历找到了我要求的结点.并把这个结点的值赋给Label,同时展开树使找到了的结点处于被选择状态. 请问这个算法怎么实现? 谢谢大家~!
with treeview do begin
for i:=0 to items.count -1 do
if items[i].text=edit.text then begin
label.caption:=inttostr(items[i].absoluteindex);
items[i].selected:=true;
break;
end;
end;