Sorry, tut mir echt leid. Ich habe einen riesen Fehler reingemacht.
Es muss heissen:
while findnext(f)=0 do begin
und nicht
while findnext(f)<>0 do begin
Ich habe noch ein paar andere Fehler gefunden und korrigiert.
Insgesammt sieht es dann so aus:
Delphi-Quellcode:
function dateienloeschen(filepath,ext:string):integer;
var
f:tsearchrec;
filename,path,fileext:string;
begin
path:=filepath;
if path[length(path)]<>'\' then path:=path+'\';
result:=0;
fileext:=ext;
if ((fileext='') or (fileext='*')) then fileext:='*.*';
if fileext[1]<>'*' then fileext:='*'+fileext;
if fileext[2]<>'.' then fileext[2]:='.';
filename:=path+fileext;
if findfirst(filename,0,f)<>0 then
exit;
try begin
deletefile(path+f.name);
inc(result);
end except end;
while findnext(f)=0 do begin
try begin
deletefile(path+f.name);
inc(result);
end; except end;
end;
findclose(f);
end;
Jetzt geht es, ich habe es sogar selbst getestet
Und dann noch diesen Befehl in eine 'TMUnit' verstaut: