Bei dem FindFirst in der Schleife mit dem k bei ScanDirectory fehlt ein begin ... end, weil jedesmal FindClose aufgerufn werden muss.
Delphi-Quellcode:
for k := 0 to Count - 1 do
if FindFirst(Path + '*.' + Strings[k], Attrib, Search) = 0 then
begin
repeat
aFileName := ExtractFileName(Search.Name);
// extract extension
aFileName := Copy(aFileName, 1, length(aFileName) - length(ExtractFileExt(aFileName)));
// UpperCase
aFileName := AnsiUpperCase(aFileName);
tmpFile := AnsiUpperCase(Path + Search.Name);
if (aFileName = 'COVER') or (aFileName = 'CDLABEL') then
begin
if (not CheckIfDouble(tmpFile, aCovers, false)) then
aCovers.Add(AnsiUpperCase(Path + Search.Name));
end;
until FindNext(Search) <> 0;
SysUtils.FindClose(Search);
end;