3

私は最近delphiから始めましたが、今はディレクトリからすべてのmp3ファイルを取得したいと思っています。php関数glob()のようなものが欲しいです。

4

5 に答える 5

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;
于 2010-11-21T15:59:53.560 に答える
3

IOUtils.TDirectoryを試してください。

于 2010-11-21T15:22:30.040 に答える
1

追加のライブラリで問題がない場合は、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/で入手できます。

于 2010-11-21T16:18:55.767 に答える
1

DelphiFileCtrlユニットの古いTFileListBoxは良い解決策です。

Delphi 1から存在しており、AboutDelphiにはその使用方法に関する優れた例があります

フォームにドロップして設定することができ、Visible = False心配する必要はありません。

フィルタリング(たとえば拡張機能)をサポートしているため、*。mp3基準で非常にうまく機能します。

--jeroen

于 2010-11-21T23:21:35.000 に答える
0

非常に優れた無料のコンポーネントは、Delphi AreaのTFindFileです: http ://www.delphiarea.com/products/delphi-components/findfile/

スレッド化されているかどうかに関係なく、ファイル/フォルダの検索を完全に制御できます。

于 2010-11-21T18:26:00.450 に答える