procedure TFileSearcher.Search(ASearchPath: String; ASearchMask: String;
ASearchSubDirs: Boolean; CaseSensitive: Boolean = False);
while ASearchPath<>'' do begin
p:=Pos(FPathSeparator,ASearchPath);
if p<1 then
p:=length(ASearchPath)+1;
Dir:=ResolveDots(LeftStr(ASearchPath,p-1));
Delete(ASearchPath,1,p);
you see that to iterate over all items in char-separated ASearchPath,
code modifies str, ie deletes parts of it. It's slow! We should not
modify str here. It's easy- save old-index, new-index, and get Copy(n1,
n2-n1{+delta}).
Didn't see why ASearchMask is not "const", maybe same bad.
Alexey Torgashin
--
_______________________________________________
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus