var
sDir: string;
dynArr: TStringDynArray;
FilterPredicate: TDirectory.TFilterPredicate;
begin
ListBox1.Clear;
FilterPredicate := //重写函数
function(const Path: string; const SearchRec: TSearchRec): Boolean
begin
Result := Boolean(SearchRec.Attr and faHidden); //判断是否隐藏文件
end;
try
dynArr := TDirectory.GetDirectories(
'H:\tmp', //'H:\tmp'目录
'hi*', //'hi'开头的文件夹
TSearchOption(1), //'H:\tmp'目录中的所有目录
FilterPredicate); //附加过滤参数
// for I := 0 to Length(dynArr) - 1 do
// ListBox1.Items.Add(dynArr[I]);
for sDir in dynArr do
ListBox1.Items.Add(sDir);
except
on e: Exception do
begin
MessageDlg(e.Message, mtError, [mbok], 0);
Exit;
end;
end;
end;