Meine Variante benoetigt 1 Sekunde bei mir fuer eine suche nach einer bestimmten Datei
wohingegen Deine Variante 71 Sekunden benoetigt und die Datei nicht findet. Du hast also mehr als nur ein Problem mit der Performance.
Delphi-Quellcode:
function Tfrm_Main.GetAllFilesFast(var slFiles:TStringlist; sPath,sFile:string; bAll, bAllVerz, bNoBAK:Boolean):longint;
var
sr : TSearchRec;
iRes : integer;
begin
iRes:=SysUtils.FindFirst(sPath+'*.*', $FF, sr);
while iRes=0 do
begin
if sr.Attr and faDirectory >0 then
begin
if (sr.name[1]<>'.' ) and ballVerz then
GetAllFilesFast(slFiles,sPath+sr.name+#92,sfile,ball,bAllVerz, bNoBAK);
end
else
begin
if sr.name=sFile then
slFiles.add(sPath+sr.name);
end;
iRes:=SysUtils.FindNext(sr);
end;
end;