如何查找目录中的所有MP3文件?

时间:2010-11-21 14:47:32

标签: delphi glob delphi-6

我最近开始使用delphi,现在我想从目录中获取所有mp3文件。我想要像php函数glob()。

5 个答案:

答案 0 :(得分:12)

旧的做法是:

var
  status : dword;
  sr : TSearchRec;
begin
  status := FindFirst('*.mp3',faAnyFile,sr);
  while status = 0 do
  begin

     // sr.Name is the filename; add it to a list
     // or something. Note there is no path so you
     // may need to add that back on somewhere

     status := FindNext(sr);
  end;
  SysUtils.FindClose(sr);

  // ...
end;

答案 1 :(得分:3)

尝试IOUtils.TDirectory。

答案 2 :(得分:1)

如果您可以使用其他库,请查看Jedi代码库。

在单元common \ JclFileUtils中,有一个紧凑的辅助函数:

function BuildFileList(const Path: string; 
  const Attr: Integer; const List: TStrings; 
  IncludeDirectoryName: Boolean = False): Boolean;

JCL维护得很好,包括很棒的扩展和一些IDE改进。 ({3}}

提供(非常易于使用)JCL安装程序

答案 3 :(得分:1)

Delphi TFileListBox单元中的古代FileCtrl是一个很好的解决方案。

自Delphi 1以及About Delphi has a nice example on how to use it以来一直存在。

您可以将其放在表单上,​​设置Visible = False,从不担心。

它支持过滤(例如在扩展上),因此它可以很好地与您的* .mp3标准一起使用。

- 的Jeroen

答案 4 :(得分:0)

一个非常好的免费组件是Delphi Area的TFindFile: http://www.delphiarea.com/products/delphi-components/findfile/

它将让您完全控制搜索文件/文件夹,线程或非