Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.11.2015, 09:07
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
Вопрос запись дублированого файла

драсте подскажите пожалуйста как можно реализовать запись второго(или) следующего файла с одинаковым именем
ну например как винд пишет файл Name а при повторной перезаписи пишет Name(1)
Ответить с цитированием
  #2  
Старый 07.11.2015, 09:28
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,024
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Например, так:
Код:
function GetFileName(AFileName : String) : String;
var
  I : Integer;
begin
    I := 0;
    Result := AFileName;
    While FileExists(Result) Do
      Begin
        Inc(I);
        Result := ChangeFileExt(AFileName,'('+IntToStr(I)+')'+ExtractFileExt(AFileName));
      End;
end;
Ответить с цитированием
  #3  
Старый 07.11.2015, 11:29
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

а сделать такое средствами виндус или делфи афтоматически такое возможно

Последний раз редактировалось SKIPtr, 07.11.2015 в 11:31.
Ответить с цитированием
  #4  
Старый 07.11.2015, 17:38
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

1. Это код на дельфи написан.
2. Афтоматически что,где,когда? Неясен процесс афтомазации
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 07.11.2015, 18:53
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Афтоматически что,где,когда? Неясен процесс афтомазации
в примере выше как бы я должен сам написать проверку на наличие файла и соответствено сам переименовать
а меня интересует команда шоб винд сам это сделал
Ответить с цитированием
  #6  
Старый 07.11.2015, 23:28
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,024
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, ты видимо совсем не понимаешь.
Тебе дали функцию, которая как раз и находит "свободное" имя файла.
Твой код в таком случае должен выглядеть примерно так:
Код:
Memo1.Lines.SaveToFile(GetFileName('c:/my_dir/my_ile.txt'));
Т.е. для операции сохранения надо просто "обернуть" имя файла в вызов этой функции.
Ну а сама функция - чистый Дельфи-код. Можешь просто поместить ее в отдельный модуль, прописать пути к нему в библиотеке и использовать точно так же, как и все остальные библиотечные модули.
Ответить с цитированием
  #7  
Старый 08.11.2015, 09:45
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Ну, ты видимо совсем не понимаешь.
Тебе дали функцию, которая как раз и находит "свободное" имя файла.
спасибо за код придеться его использовать
просто мне хотелось непосредствено вызвать функцию который использует например Explorer
но раз не кто не может предлажить возможно эта фукция не доступно
буду использовать предложеную
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter