delphi ListView里利用EDIT进行模糊搜索?

delphi ListView里利用EDIT进行模糊搜索?

Listview里有4列,怎么利用edit进行4列里的任何一个符合的字符串进行查询,符合的出现在列表里?

 sql := "select * from 表 where 字段1 like '%" + edit1.Text + "%' or 字段2 like '%" + edit1.Text +"%' or 字段3 like '%" + edit1.Text + "%' or 字段4 like '%" + edit1.Text +"%'"; 

sql := "select * from 表 where 字段1 like '%" + edit1.Text + "%' or 字段2 like '%" + edit1.Text +"%' or 字段3 like '%" + edit1.Text + "%' or 字段4 like '%" + edit1.Text +"%'";

procedure TForm1.Button1Click(Sender: TObject);
var i: integer; SearchOK: boolean;
begin
SearchOK:= False;
i:= 0;
while (i <= ListView1.Items.Count-1) and (not SearchOK) do
begin
SearchOK:= (pos(Edit1.Text,ListView1.Items[i].Caption) <> 0);
i:= i+1;
end;
if SearchOK then
showmessage(Edit1.Text+' in Line #'+inttostr(i))
else
showmessage(Edit1.Text+' Not Found')
end;

一个edit,一个listview,listview列表有vb,java,delphi,c,php,python,html,sql
要实现:在edit中输入h,listview显示delphi,php,python,html
该如何实现以上功能

一个edit,一个listview,listview列表有vb,java,delphi,c,php,python,html,sql
要实现:在edit中输入h,listview显示delphi,php,python,html
该如何实现以上功能

var
i:integer;
begin
SearchList:=TStringList.Create;
cbbSearch.Items.Clear;
for i:=0 to FileList.count-1 do
begin
if Pos(cbbSearch.Text,(Copy(ExtractFileName(FileList.Strings[i]),0,Pos('.',ExtractFileName(FileList.Strings[i]))-1)))>0 then
begin
cbbSearch.Items.Add(Copy(ExtractFileName(FileList.Strings[i]),0,Pos('.',ExtractFileName(FileList.Strings[i]))-1));
SearchList.add(FileList.strings[i]);
end;
TComboBox(Sender).SelStart:=Length(TComboBox(Sender).Text);
end;
LZ,可以先将ListView中的items拿出来放到stringlist中,然后清空listview,对stringlist进行遍历,
如果存在‘h’,则加入到listview中。

界面:一个edit,一个listview,listview列表有vb,java,delphi,c,php,python,html,sql
要实现:在edit中输入h,listview显示delphi,php,python,html
该如何实现以上功能

界面:一个edit,一个listview,listview列表有vb,java,delphi,c,php,python,html,sql
要实现:在edit中输入h,listview显示delphi,php,python,html
该如何实现以上功能