Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2015, 13:38   #1
mitiay
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 288
По умолчанию Замена файла при создании файла

Загружаю файл:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
Path:String ;
begin
Path:='D:\reports\'+DateToStr(Date)+'\';
With ListBox1 do
if ForceDirectories(Path) then begin
 idftp1.Get(Items[ItemIndex],Path+Items[ItemIndex],true);
Но проблема в том что при скачке файла как я понял,папка удаляется создается заново и файл перезаписывается.Как сделать чтоб допустим качаем файл отчет1,если уже есть такой файл в папке то грузим с названием отчет1(1)
mitiay вне форума Ответить с цитированием
Старый 07.04.2015, 13:41   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

проверяйте наличие старого файла, и задавайте иное имя.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.04.2015, 14:50   #3
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
проверяйте наличие старого файла, и задавайте иное имя.
Остаётся добавить, что папка не пересоздаётся. Файл перезаписывается поверх старого, так что, таки да, качай в файл с новым именем. Где-то у меня была функция... Во, выдрал из прожэкта:
Код:
// Поиск уникального имени файла в папке AFolder
function GetUniqueFileName(const AFolder, APrefix, AExtention: string): string;
var
  Index: Integer;
begin
  Index:= 1;
  repeat
    Result:= IncludeTrailingPathDelimiter(AFolder) + APrefix + IntToStr(Index) + AExtention;
    Inc(Index);
  until not FileExists(Result);
end;
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 07.04.2015 в 14:55.
min@y™ вне форума Ответить с цитированием
Старый 07.04.2015, 19:29   #4
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

mitiay
Использовать инкримент, тебе написали уже выше.
Или сохранять файл как время создания, дата -время создания.

Код:
TimeToStr();
DateTimeToStr();
NIKOLAYY2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка при создании .def файла mr_virtus Помощь студентам 1 20.03.2014 20:19
В чём ошибка при создании файла? If-then-do Помощь студентам 6 24.09.2010 20:27
Проблема при создании файла (3CH) Livores Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 26.05.2010 17:01
Диалоговое окно при создании файла tae1980 Microsoft Office Excel 5 16.03.2009 21:41
События при создании/открытия файла _symon Win Api 2 13.02.2009 21:19