function FileNameOnCollision(FileName: String): String;
var
FileExt: String;
n: integer;
begin
Result:= FileName;
FileExt:= ExtractFileExt(FileName);
SetLength(FileName, Length(FileName) - Length(FileExt));
n:= 2;
while FileExists(Result) do
begin
Result:= FileName + '(' + IntToStr(n) + ')' + FileExt;
inc(n);
end;
end;