![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
запись дублированого файла [D7, XP]
SKIPtr © (2015-11-07 09:04:00)драсте подскажите пожалуйста как можно реализовать запись второго(или) следующего файла с одинаковым именем
ну например как винд пишет файл Nameа при повторной перезаписи пишет Name(1)
sniknik (2015-11-09 08:02:00) [1]> у меня не копируеться файл
> а создаеться новый
создавай временный в temp-овой директории, после переименовывай с "SHFileOperation + FOF_RENAMEONCOLLISION".
чуть логики и вообще не нужно заморачиваться на цифры в имени.
DVM (2015-11-08 22:25:00) [2]
> SKIPtr © (08.11.15 22:13) [23]
> так это будет еще запутаней чем перед записью проверять
> есть ли файл или нет
Это будет, пожалуй, самый правильный с точки зрения ООП вариант. Все наглядно и прозрачно. В конструктор твоего стрима передается базовое (начальное) имя. При необходимости класс дополняет имя цифрами.
SKIPtr (2015-11-08 22:13:00) [3]
> Ты в наследнике сделаешь так чтобы делал. И все будет прозрачно,
> где нужен TFileStream - передавай своего наследника.
так это будет еще запутаней чем перед записью проверять есть ли файл или нет
> Почему же нельзя, можно, но это только для копирования файлов.
> SHFileOperation
у меня не копируеться файл
а создаеться новый
проблема тока в том шоб файл с таким же именем не убить
DVM (2015-11-08 20:10:00) [4]
>
> так получаеться функцию эксплоера отдельно использовать
> не льзя
> а жаль
Почему же нельзя, можно, но это только для копирования файлов. SHFileOperation + FOF_RENAMEONCOLLISION
DVM (2015-11-08 20:06:00) [5]
> SKIPtr © (08.11.15 19:36) [19]
Сам он копии разумеется не делает. Ты в наследнике сделаешь так чтобы делал. И все будет прозрачно, где нужен TFileStream - передавай своего наследника.
brother (2015-11-08 20:04:00) [6]а че нет то?
SKIPtr (2015-11-08 19:36:00) [7]
> Сделать наследника или helper для TFileStream (т.к. он в
> 99% случаях используется для сохранения файлов) обладающего
> такой фичей - дело 15 минут.
а он копии файлов сам делает
DVM (2015-11-08 12:20:00) [8]
> SKIPtr © (07.11.15 09:04)
Сделать наследника или helper для TFileStream (т.к. он в 99% случаях используется для сохранения файлов) обладающего такой фичей - дело 15 минут.
Юрий Зотов (2015-11-08 10:28:00) [9]> в рабочем коде 8 строчек получилось
Причем простейших. Пишутся за 10 минут. А топтание на месте длится уже сутки.
SKIPtr (2015-11-08 09:34:00) [10]
> Ну так в каждом приложении может быть свой, присущий исключительно
> или не исключительно ему, сценарий.
так получаеться функцию эксплоера отдельно использовать не льзя
а жаль
Германн (2015-11-08 01:08:00) [11]
> SKIPtr © (07.11.15 19:03) [13]
>
>
> > Explorer так делает.
>
> так я как раз и спрашиваю про это
Нет. Ты спрашиваешь про стандартную функцию Windows. А Explorer это не Windows.
Inovet (2015-11-07 23:04:00) [12]> [13] SKIPtr © (07.11.15 19:03)
> > Explorer так делает.
>
> так я как раз и спрашиваю про это
...
> сценарий
Ну так в каждом приложении может быть свой, присущий исключительно или не исключительно ему, сценарий.
SKIPtr (2015-11-07 19:03:00) [13]
> Explorer так делает.
так я как раз и спрашиваю про это
как мне не мой сценарий задействовать а как раз шоб вот этот раздел который использует сценарий
SKIPtr (2015-11-07 18:59:00) [14]
> думай как windows, использую всю мощь windows
так я так и хотел
но приходиться писать свой сценарий не трогая виндусовского
Inovet (2015-11-07 18:57:00) [15]Explorer так делает.
brother (2015-11-07 18:49:00) [16][9] будь как windows, думай как windows, использую всю мощь windows, а программируя на делфи фиг тебе)
SKIPtr (2015-11-07 15:09:00) [17]
> Блин, да вы совсем обленились. Что за программист нынче
> пошел... Две же строчкт написать
в интернете есть код написаный
там вроде в рабочем коде 8 строчек получилось
перебирает так же варианты пока не найдет не сущиствующий
просто я думал виндус уже это делает и я могу его заставить шоб не удлинять свою прогу
brother (2015-11-07 14:36:00) [18]я так понимаю, что счетчик автор вести не хочет, но инкремент хочет... те надо смотреть, содержит ли имя файла в конце цифру итд
Andy BitOff (2015-11-07 14:00:00) [19]Блин, да вы совсем обленились. Что за программист нынче пошел... Две же строчкт написать
Вайл файлэксистс(нэйм) до
нэйм = нэйм + инттустр(и + 1)
SKIPtr (2015-11-07 11:26:00) [20]
> винда - да, делфи - хм
а можно винде как то дать эту команду через делфи