(正確にはファイル名のリスト)を取得するだけであれば、
TDirectory.GetFilesメソッドで簡単に取得できます。
Delphi Prism(.Net版)とほぼ同じ形でかけます。
GetFilesメソッドはいくつかOverLoadの定義がありますが、
今回は、
function GetFiles(const Path: string;
const SearchPattern: string;
const SearchOption: TSearchOption): TStringDynArray; overload; static;
を使用した簡単なサンプルを作ってみました。
ここで、Pathは検索パス
SearchPatternは、検索パターン(全検索は'*')
SearchOptionは、
サブディレクトリも検索するときはsoAllDirectories
指定したディレクトリのみを検索するときは、soTopDirectoryOnly
を指定します。
以下、サンプルプログラム
procedure TForm1.ButtonExecGetFileClick(Sender: TObject);
var
MyDir : IOUtils.TDirectory;
FileList : TStringDynArray;
FileName : String;
begin
ListBox1.Clear;
if Self.CheckBoxFindSubDir.Checked then
begin
FileList := MyDir.GetFiles(EditStartPath.Text,'*',TSearchOption.soAllDirectories);
end
else
begin
FileList := MyDir.GetFiles(EditStartPath.Text,'*.XLS',TSearchOption.soTopDirectoryOnly);
end;
for FileName In FileList do
begin
ListBox1.Items.Add(FileName);
end;
end;
と結構簡単にかけます。
(ただ、ファイル数が多いとなかなか帰ってこないです。)
0 件のコメント:
コメントを投稿