LazUtils: Overload FindAllFiles and FindAllDirectories with procedures having StringList as a parameter. Issue #27054, patch from wp.

git-svn-id: trunk@47034 -
This commit is contained in:
juha 2014-11-30 10:58:02 +00:00
parent 8776cceec3
commit 8e7bbbd8f9
2 changed files with 26 additions and 8 deletions

View File

@ -954,13 +954,12 @@ begin
FList := AList;
end;
function FindAllFiles(const SearchPath: String; SearchMask: String;
SearchSubDirs: Boolean): TStringList;
procedure FindAllFiles(AList: TStrings; const SearchPath: String;
SearchMask: String; SearchSubDirs: Boolean);
var
Searcher: TListFileSearcher;
begin
Result := TStringList.Create;
Searcher := TListFileSearcher.Create(Result);
Searcher := TListFileSearcher.Create(AList);
try
Searcher.Search(SearchPath, SearchMask, SearchSubDirs);
finally
@ -968,6 +967,13 @@ begin
end;
end;
function FindAllFiles(const SearchPath: String; SearchMask: String;
SearchSubDirs: Boolean): TStringList;
begin
Result := TStringList.Create;
FindAllFiles(Result, SearchPath, SearchMask, SearchSubDirs);
end;
{ TListDirectoriesSearcher }
constructor TListDirectoriesSearcher.Create(AList: TStrings);
@ -983,11 +989,18 @@ end;
function FindAllDirectories(const SearchPath : string;
SearchSubDirs: Boolean = True): TStringList;
begin
Result := TStringList.Create;
FindAllDirectories(Result, SearchPath, SearchSubDirs);
end;
procedure FindAllDirectories(AList: TStrings; const SearchPath: String;
SearchSubDirs: Boolean = true);
var
Searcher :TFileSearcher;
begin
Result := TStringList.Create;
Searcher := TListDirectoriesSearcher.Create(Result);
Assert(AList <> nil);
Searcher := TListDirectoriesSearcher.Create(AList);
try
Searcher.Search(SearchPath, AllFilesMask, SearchSubDirs);
finally

View File

@ -202,9 +202,14 @@ type
end;
function FindAllFiles(const SearchPath: String; SearchMask: String = '';
SearchSubDirs: Boolean = True): TStringList;
SearchSubDirs: Boolean = True): TStringList; overload;
procedure FindAllFiles(AList: TStrings; const SearchPath: String;
SearchMask: String = ''; SearchSubDirs: Boolean = True); overload;
function FindAllDirectories(const SearchPath: string;
SearchSubDirs: Boolean = True): TStringList;
SearchSubDirs: Boolean = True): TStringList; overload;
procedure FindAllDirectories(AList: TStrings; const SearchPath: String;
SearchSubDirs: Boolean = true); overload;
// flags for copy
type