|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Копия файла с новым именем
Здравствуйте.
Нужна помощь. Как можно осуществить копирование файла, но с каждым разом с новым именем. Анализировала программа каждое имя и присваивала новое т.е. test1, test2, test3 и т.д. Код:
procedure TForm1.BitBtn1Click(Sender: TObject); begin if CopyFile('C:\test\test.xls', 'D:\test\test1.xls', true) then ShowMessage('файл скопирован.') else ShowMessage('ошибка копирования.'); end; |
#2
|
||||
|
||||
Код:
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% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. Последний раз редактировалось dr. F.I.N., 27.01.2020 в 12:57. |
#3
|
|||
|
|||
Цитата:
Рабочая версия. |