我最近开始使用delphi,现在我想从目录中获取所有mp3文件。我想要像php函数glob()。
答案 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/
它将让您完全控制搜索文件/文件夹,线程或非