lazutils: TFileSearcher.Search: parameter SearchPath now works as semicolon separated search path

git-svn-id: trunk@45991 -
This commit is contained in:
mattias 2014-07-30 12:05:38 +00:00
parent b34a88d7c4
commit 3e8d8b891e
2 changed files with 14 additions and 3 deletions

View File

@ -1068,7 +1068,7 @@ begin
FSearching := False;
end;
procedure TFileSearcher.Search(const ASearchPath: String; ASearchMask: String;
procedure TFileSearcher.Search(ASearchPath: String; ASearchMask: String;
ASearchSubDirs: Boolean; CaseSensitive: Boolean = False);
var
MaskList: TMaskList;
@ -1137,6 +1137,9 @@ var
end;
end;
var
p: SizeInt;
Dir: String;
begin
if FSearching then RaiseSearchingError;
@ -1147,7 +1150,15 @@ begin
FSearching := True;
try
DoSearch(AppendPathDelim(ASearchPath), 0);
while ASearchPath<>'' do begin
p:=Pos(';',ASearchPath);
if p<1 then
p:=length(ASearchPath)+1;
Dir:=TrimFilename(LeftStr(ASearchPath,p-1));
Delete(ASearchPath,1,p);
if Dir<>'' then
DoSearch(AppendPathDelim(Dir), 0);
end;
finally
FSearching := False;
if MaskList <> nil then MaskList.Free;

View File

@ -168,7 +168,7 @@ type
procedure DoFileFound; virtual;
public
constructor Create;
procedure Search(const ASearchPath: String; ASearchMask: String = '';
procedure Search(ASearchPath: String; ASearchMask: String = '';
ASearchSubDirs: Boolean = True; CaseSensitive: Boolean = False);
public
property MaskSeparator: char read FMaskSeparator write FMaskSeparator;