FindFirst




Windows95時代のアレではなく、ファイルを検索するメソッド。引数で検索するファイルの属性を指定する。FindNextで次のファイルを検索する。そしてFindCloseで締め。FindFirstで検索に引っかからなかった場合は、FindFirst関数内部でFindCloseが呼び出されているらしいので呼び出しは不要。

procedure SearchFiles(DirectoryName: string);
var
SearchRec: TSearchRec;
begin
DirectoryName := IncludeTrailingBackslash(DirectoryName);

if(FindFirst(DirectoryName + '*.*', faAnyFile, SearchRec) = 0)then
try
repeat
if((SearchRec.Attr and faDirectory) <> 0)then
begin
if( (SearchRec.Name = '.') or (SearchRec.Name = '..'))then
Continue;
SearchFiles(DirectoryName + SearchRec.Name);
end
else
begin
ListBox.Items.Add(DirectoryName + SearchRec.Name);
end;
until(FindNext(SearchRec) <> 0);
finally
FindClose(SearchRec);
end;
end;



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です