Показать сообщение отдельно
  #2  
Старый 27.01.2020, 12:55
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 660
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Код:
function MakeNewName(OldName: string): string;
var
  i: Integer;
  new_name, ext: string;
begin
  ext := ExtractFileExt(OldName);  // извлекаем расширение файла
  new_name := Copy(OldName, 1, Length(OldName) - Length(ext)); // отделяем имя файла от расширения
  i := 1;
  Result := new_name + IntToStr(i) + ext;  // формируем имя нового файла
  while FileExists(Result) do // если файл с таким именем существует, то формируем новое
  begin
    Inc(i);
    Result := new_name + IntToStr(i) + ext;
  end;
end;

В Вашем случае использовать как-то так:
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
...
  file_for_copy := 'C:\test\test.xls';
  if CopyFile(file_for_copy, MakeNewName(file_for_copy), true) then
    ShowMessage('файл скопирован.')
  else
    ShowMessage('ошибка копирования.');
end;
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием