Hallo Mashutu,
dass ich deine Datei nicht finde, liegt wahrscheinlich am Attribut $23. Ich habe aber auch deine Routine ausprobiert und seltsamerweise ist sie langsamer. Zwischen den Tests habe ich den Rechner jedes mal neu gestartet. 2x mit deiner Routine (20.87 und 20.97 sec), meine Routine mit der Abfrage BakDatei dauterte es 4.74 und 4.72 sec und so lange dauert es auch mit Total Commander nach Neustart.
Die BakDatei-Abrage ist
Delphi-Quellcode:
function TuFiles.BakDatei(sDateiName:String):Boolean;
{++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
{ BakDatei }
{------------------------------------------------------------------------}
{ Erstellung : 16. 7.97 }
{ Letzte Änderung : 16. 7.97 }
{------------------------------------------------------------------------}
{ Stellt fest, ob die übergebene Datei eine Sicherungsdatei ist. }
{++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
var
sExt : String[4];
begin
sDateiName:=UpperCase(sDateiName);
sExt:=ExtractFileExt(sDateiName);
Result:=(Pos('~',sDateiName)>0) or { Sicherungsdateien erkennen }
(sDateiName='ACA_CDM.DAT') or
(Pos('$',sDateiName)>0) or
(sExt = '.BAK') or
(sExt = '.SIK') or
(sExt = '.ERR') or
(sExt = '.TMP');
end;
Hallo Wicht,
dass ich Findfirst 2x aufrufe liegt daran, dass ich zuerst nach der Datei im aktuellen Verzeichnis suche. Wenn ich sie dort nicht finde, oder wenn ich schauen will, ob sie auch noch in anderen Unterverzeichnissen vorkommt, zweige ich mit dem nächsten FindFirst-Aufruf in die Untervezeichnise ab.
Danke für die Tips
Gerd