阅读背景:

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

来源:互联网 
D:
D:\1文件夹下有222.doc 1111.doc 1.doc;edit1输入1按button FileListBox显示出1.doc和1111.doc类似于模糊查询实现

5 个解决方案

#1


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

#2


D:\1文件夹下有222.doc 1111.doc 1.doc;edit1输入1按button FileListBox显示出1.doc和1111.doc类似于模糊查询实现,

#3


楼上的不对吧,楼主要的好像是根据名称查询。
如果这样就要在Delphi程序里面控制了,好像没有现成的控件。
大概是两步:
1.遍历文件夹,查出所有文件
2.写个函数检查文件名,符合要求的,加载到显示控件。

问题1相关代码:
procedure TForm1.Button1Click(Sender: TObject);
var
   FileSearchRec: TSearchRec;
begin
    memo1.Clear;
   if FindFirst('f:\' + '*.*', faanyfile, FileSearchRec) = 0 then
   begin
      if (FileSearchRec.Name <> '.') and (FileSearchRec.Name <> '..') and
         ((FileSearchRec.Attr and faDirectory) <> faDirectory) then
      begin
   
         memo1.Lines.Add(FileSearchRec.Name);
      end
      else
      begin
     
      end;
      while FindNext(FileSearchRec) = 0 do
      begin
         if (FileSearchRec.Name <> '.') and (FileSearchRec.Name <> '..') and
            ((FileSearchRec.Attr and faDirectory) <> faDirectory) then
         begin
            memo1.Lines.Add(FileSearchRec.Name); //
         end
         else
         begin
         //如果想遍历子目录,则在此递归操作
         end;
      end;
   end;
   findclose(FileSearchRec);
end;


问题2相关代码:
查出文件名,用个Pos就搞定

#4


FileListBox1.Directory:='D:\1';
FileListBox1.Mask := Edit1.Text + '*.doc';

#5


引用 4 楼 kaikai_kk 的回复:
FileListBox1.Directory:='D:\1';
FileListBox1.Mask := Edit1.Text + '*.doc';


没用过FileListBox控件,不过应该就这个了

文件夹下有222.doc 1111.doc 1.doc;edit1输入1按button FileListBox显示出1.doc和1111.doc类似于模糊查询实现 D:
D:\1文件夹下有222.doc 1111.doc 1.doc;edit1输入1按button FileListBox显示出1.doc和1111.doc类似于模糊查询实现

5 个解决方案

#1


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

#2


D:\1文件夹下有222.doc 1111.doc 1.doc;edit1输入1按button FileListBox显示出1.doc和1111.doc类似于模糊查询实现,

#3


楼上的不对吧,楼主要的好像是根据名称查询。
如果这样就要在Delphi程序里面控制了,好像没有现成的控件。
大概是两步:
1.遍历文件夹,查出所有文件
2.写个函数检查文件名,符合要求的,加载到显示控件。

问题1相关代码:
procedure TForm1.Button1Click(Sender: TObject);
var
   FileSearchRec: TSearchRec;
begin
    memo1.Clear;
   if FindFirst('f:\' + '*.*', faanyfile, FileSearchRec) = 0 then
   begin
      if (FileSearchRec.Name <> '.') and (FileSearchRec.Name <> '..') and
         ((FileSearchRec.Attr and faDirectory) <> faDirectory) then
      begin
   
         memo1.Lines.Add(FileSearchRec.Name);
      end
      else
      begin
     
      end;
      while FindNext(FileSearchRec) = 0 do
      begin
         if (FileSearchRec.Name <> '.') and (FileSearchRec.Name <> '..') and
            ((FileSearchRec.Attr and faDirectory) <> faDirectory) then
         begin
            memo1.Lines.Add(FileSearchRec.Name); //
         end
         else
         begin
         //如果想遍历子目录,则在此递归操作
         end;
      end;
   end;
   findclose(FileSearchRec);
end;


问题2相关代码:
查出文件名,用个Pos就搞定

#4


FileListBox1.Directory:='D:\1';
FileListBox1.Mask := Edit1.Text + '*.doc';

#5


引用 4 楼 kaikai_kk 的回复:
FileListBox1.Directory:='D:\1';
FileListBox1.Mask := Edit1.Text + '*.doc';


没用过FileListBox控件,不过应该就这个了

文件夹下有222.doc 1111.doc 1.doc;edit1输入1按button



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: