通过编辑组件在FileListbox中搜索

时间:2012-11-09 20:35:45

标签: delphi

我想知道如何通过编辑组件搜索Filelistbox中的字符串。 Filelistbox的内容大约是100个txt文件。我有半个解决方案,但我想将结果添加到Filelistbox,而不是Listbox。任何的想法?我必须使用Listbox1还是我可以不用它来制作它?感谢您的帮助,对不起我的英文:)!

procedure TForm1.Edit1Change(Sender: TObject);
begin
  If Edit1.Text = EmptyStr then
    ListBox1.Items := FileListBox1.Items
  else
  begin
    ListBox1.Clear;
    For I := 0 To Pred(FileListBox1.Items.Count) do
    begin
      If AnsiPos(Edit1.Text, FileListBox1.Items[I]) <> 0 then
      begin
        ListBox1.Items.Add(FileListBox1.Items[I]);
      end;
    end;
  end;
end;

1 个答案:

答案 0 :(得分:3)

您可以使用内置的Mask属性。我猜想下面会像你期望的那样过滤文件:

procedure TForm1.Edit1Change(Sender: TObject);
begin
  FileListBox1.Mask := '*' + Edit1.Text + '*';
end;

请参阅documentation有关遮罩如何工作的信息。