1

我想知道如何在Filelistbox按编辑组件中搜索字符串。的内容Filelistbox大约是 100 个 txt 文件。我有一半的解决方案,但我想将结果添加FilelistboxListbox. 任何的想法?我必须使用 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;
4

1 回答 1

3

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

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

请参阅有关掩码如何工作的文档。

于 2012-11-09T20:51:11.350 回答