私は最近delphiから始めましたが、今はディレクトリからすべてのmp3ファイルを取得したいと思っています。php関数glob()のようなものが欲しいです。
5 に答える
それを行う古い方法は約です:
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;
IOUtils.TDirectoryを試してください。
追加のライブラリで問題がない場合は、Jediコードライブラリをご覧ください。
ユニットcommon\JclFileUtilsには、コンパクトなヘルパー関数があります。
function BuildFileList(const Path: string;
const Attr: Integer; const List: TStrings;
IncludeDirectoryName: Boolean = False): Boolean;
JCLは適切に保守されており、優れた拡張機能といくつかのIDEの改善が含まれています。(非常に使いやすい)JCLインストーラーはhttp://sourceforge.net/projects/jcl/で入手できます。
DelphiFileCtrlユニットの古いTFileListBoxは良い解決策です。
Delphi 1から存在しており、AboutDelphiにはその使用方法に関する優れた例があります。
フォームにドロップして設定することができ、Visible = False
心配する必要はありません。
フィルタリング(たとえば拡張機能)をサポートしているため、*。mp3基準で非常にうまく機能します。
--jeroen
非常に優れた無料のコンポーネントは、Delphi AreaのTFindFileです: http ://www.delphiarea.com/products/delphi-components/findfile/
スレッド化されているかどうかに関係なく、ファイル/フォルダの検索を完全に制御できます。