DELPHI中Tedit1 button1 FileListBox1,如何实现Tedit输入文字单击button,filelistbox显示类似文字列表

注:文件在D:\1文件夹下... 注:文件在D:\1文件夹下 展开
 我来答
bfmbfmbfm
2012-02-17 · 超过24用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:74.2万
展开全部
直接在Button的onClick里写
var
i: Integer;
s:String;
begin
for i := FileListBox1.items.count-1 do
if Pos(TEdit1.text,FileListBox1.items[i])>-0
s := s+#13+FileListBox1.items[i]);
FileListBox1.items.Text := TEdit1.text
end
FileListBox1.items就是一个TStrings,可以修改
如果要实现过滤,还是用多一个TStringList记录FileListBox1.items的初始内容吧
追问
不是指定路径。。。是D:\1文件夹下有222.doc 1111.doc 1.doc;edit1输入1按button FileListBox显示出1.doc和1111.doc类似于模糊查询实现。你的这个会显示上述D:\1文件夹下文件列表么?貌似你的代码提示错误了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
遒劲且威武的小白桦s
2012-02-17 · TA获得超过115个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:192万
展开全部
procedure TForm1.Button1Click(Sender: TObject);
begin
try
self.FileListBox1.Directory := edit1.Text;
except
on e:exception do
begin
if e.Message = 'File not found' then
showmessage('路径不存在');
end;
end;
end;
追问
不是指定路径。。。是D:\1文件夹下有222.doc 1111.doc 1.doc;edit1输入1按button FileListBox显示出1.doc和1111.doc类似于模糊查询实现
追答
procedure TForm1.Button1Click(Sender: TObject);
begin
self.FileListBox1.Mask := '*' + self.edit1.Text + '*.*'; //设置通配符 点后面那个是文件类型,如果你都是一样的文件类型可以把这个星号定死
try
self.FileListBox1.Directory := 'D:\'; //目录自己定
except
on e:exception do
begin
if e.Message = 'File not found' then
begin
showmessage('路径不存在');
exit;
end;
end;
end;

end;

//刚试了下以上方法,通配符好像有点问题,当edit1.text里面只有1的时候,会把一些不包含的文件也列出来,我采用了另一种方法,具体如下:

procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
fna: string;
begin
try
self.FileListBox1.Directory := 'D:\1'; //目录自己定
except
on e:exception do
begin
if e.Message = 'File not found' then
begin
showmessage('路径不存在');
exit;
end;
end;
end;
for i := self.FileListBox1.Count-1 downto 0 do //循环判断文件列表中的文件名,如果不包含关键字则删除相应项
begin
fna := self.FileListBox1.Items.Strings[i];
if pos(self.Edit1.Text, fna) = 0 then //针对整个文件名,包括文件类型后缀
//if pos(self.Edit1.Text, copy(fna, 1, pos('.', fna)-1) = 0 then //针对整个文件名,不包括文件类型后缀(和上面那个if条件语句可根据需要二选一)
self.FileListBox1.Items.Delete(i);
end;

end;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jyyyjy
2012-02-17 · 超过17用户采纳过TA的回答
知道答主
回答量:96
采纳率:0%
帮助的人:50.3万
展开全部
你说的是自动完成吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式