In jedem Unterpfad wird als Datei "." und ".." gefunden.
Das sind jetzt aber nur 2 Dateien, die zudem die zweite Prozedure finden müsste, aber nicht die erste. Es werden jedoch 13 zusätzliche Dateien gefunden.
Speichere das Ergebnis der ersten Variante in einer TStringList.
Anschließend setzt Du 'MyList.Sorted:=True'. Das beschleunigt das suchen im 2.Teil.
Im zweiten Teil entfernst Du alle Dateien, die Du gefunden hast, aus der Liste. Übrig bleiben dann die, die die ersten Version findet, die zweite jedoch nicht.
Delphi-Quellcode:
if FindFirst(Directory + '*.*', faAnyFile and not faDirectory, SR) = 0 then
try
repeat
if ExtractFileExt(SR.Name) = '.mp3' then
begin
i := MyList.IndexOf(SR.Name);
if (i>=0) then
MyList.Delete(i)
else
FehlerMemo.Lines.Add(SR.name+' wird von der 2.Version gefunden, aber nicht von der 1.Version');
end;
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
FehlerMemo.Lines.Add('Folgende Dateien werden von der 2.Version nicht gefunden');
FehlerMemo.Lines.AddStrings(MyList);
Auf diese Weise kannst Du dir die Frage dann selbst beantworten.