function searchInTree(STA:GetSearchTreeArray;mylistView:TbsSkinListView;searchStr:string):GetSearchTreeArray; var i,arrayI:integer; begin arrayI:=0;i:=0; // setLength(STA,mylistView.Items.Count); for i := 0 to mylistView.Items.Count-1 do begin if pos(searchStr,mylistView.Items[i].SubItems[0])>0 then begin inc(arrayI); end; end; if arrayI>0 then begin setLength(STA,arrayI); arrayI:=0; for i := 0 to mylistView.Items.Count-1 do begin if pos(searchStr,mylistView.Items[i].SubItems[0])>0 then begin STA[arrayI]:=i; inc(arrayI); end; end; end else begin arrayI:=0;i:=0; for i := 0 to mylistView.Items.Count-1 do begin if pos(searchStr,mylistView.Items[i].Caption)>0 then begin inc(arrayI); end; end; setLength(STA,arrayI); arrayi:=0;i:=0; for i := 0 to mylistView.Items.Count-1 do begin if pos(searchStr,mylistView.Items[i].Caption)>0 then begin STA[arrayI]:=i; inc(arrayI); end; end; end; result:=STA; end;
GetSearchTreeArray=array of integer;
var SearchTreeArray:GetSearchTreeArray; i:integer; begin i:=0; SearchTreeArray:=searchInTree(SearchTreeArray,Lvw_sendmobile,edtKeyValue.Text); // showmessage(inttostr(searchTreeArray[0])); Lvw_sendmobile.Selected:=nil; Lvw_sendmobile.SetFocus; for i:=0 to (length(searchTreeArray)-1) do begin Lvw_sendmobile.Items[searchTreeArray[i]].Selected:=true; end; end; 这是调用
好象没有上面楼上那样复杂,var str: string; str:=edit1.text; for i:=0 to Treeview1.items.count-1 do Begin if str=Treeview1.items.item[i] then Showmessage(Treeview1.Items.Item[i]); End;
var str: string; str:=edit1.text; for i:=0 to Treeview1.items.count-1 do Begin if str=Treeview1.items.item[i] then Showmessage(Treeview1.Items.Item[i]); End;
var
i,arrayI:integer;
begin
arrayI:=0;i:=0;
// setLength(STA,mylistView.Items.Count);
for i := 0 to mylistView.Items.Count-1 do
begin
if pos(searchStr,mylistView.Items[i].SubItems[0])>0 then
begin
inc(arrayI);
end;
end;
if arrayI>0 then
begin
setLength(STA,arrayI);
arrayI:=0;
for i := 0 to mylistView.Items.Count-1 do
begin
if pos(searchStr,mylistView.Items[i].SubItems[0])>0 then
begin
STA[arrayI]:=i;
inc(arrayI);
end;
end;
end else
begin
arrayI:=0;i:=0;
for i := 0 to mylistView.Items.Count-1 do
begin
if pos(searchStr,mylistView.Items[i].Caption)>0 then
begin
inc(arrayI);
end;
end;
setLength(STA,arrayI);
arrayi:=0;i:=0;
for i := 0 to mylistView.Items.Count-1 do
begin
if pos(searchStr,mylistView.Items[i].Caption)>0 then
begin
STA[arrayI]:=i;
inc(arrayI);
end;
end;
end;
result:=STA;
end;
SearchTreeArray:GetSearchTreeArray;
i:integer;
begin
i:=0;
SearchTreeArray:=searchInTree(SearchTreeArray,Lvw_sendmobile,edtKeyValue.Text);
// showmessage(inttostr(searchTreeArray[0]));
Lvw_sendmobile.Selected:=nil;
Lvw_sendmobile.SetFocus;
for i:=0 to (length(searchTreeArray)-1) do
begin
Lvw_sendmobile.Items[searchTreeArray[i]].Selected:=true;
end;
end;
这是调用
str: string;
str:=edit1.text;
for i:=0 to Treeview1.items.count-1 do
Begin
if str=Treeview1.items.item[i] then
Showmessage(Treeview1.Items.Item[i]);
End;
str: string;
str:=edit1.text;
for i:=0 to Treeview1.items.count-1 do
Begin
if str=Treeview1.items.item[i] then
Showmessage(Treeview1.Items.Item[i]);
End;