Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

запись дублированого файла [D7, XP]


Страницы:   1 2

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]


> винда - да, делфи - хм

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо