Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2017.10.08;
Скачать: CL | DM;

Вниз

запись дублированого файла   Найти похожие ветки 

 
SKIPtr ©   (2015-11-07 09:04) [0]

драсте подскажите пожалуйста как можно реализовать запись второго(или) следующего файла с одинаковым именем
ну например как винд пишет файл Name а при повторной перезаписи пишет Name(1)


 
brother ©   (2015-11-07 09:13) [1]

если файл существует, то создать новый именем (имя файла+ссчетчик)


 
SKIPtr ©   (2015-11-07 09:21) [2]

мой главный вопрос умеет это винд(или делфи) делать сам
или имя новому файлу нужно создавать  самому


 
brother ©   (2015-11-07 09:23) [3]

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


 
brother ©   (2015-11-07 09:25) [4]

ну из делфи
имя новому файлу нужно создавать  самому


 
Игорь Шевченко ©   (2015-11-07 10:43) [5]


> или имя новому файлу нужно создавать  самому


самому


 
SKIPtr ©   (2015-11-07 11:26) [6]


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

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


 
Andy BitOff ©   (2015-11-07 14:00) [7]

Блин, да вы совсем обленились. Что за программист нынче пошел... Две же строчкт написать
Вайл файлэксистс(нэйм) до
нэйм = нэйм + инттустр(и + 1)


 
brother ©   (2015-11-07 14:36) [8]

я так понимаю, что счетчик автор вести не хочет, но инкремент хочет... те надо смотреть, содержит ли имя файла в конце цифру итд


 
SKIPtr ©   (2015-11-07 15:09) [9]


> Блин, да вы совсем обленились. Что за программист нынче
> пошел... Две же строчкт написать

в интернете есть код написаный
там вроде в рабочем коде 8 строчек получилось
перебирает так же варианты пока не найдет не сущиствующий
просто я думал виндус уже это делает и я могу его заставить шоб не удлинять свою прогу


 
brother ©   (2015-11-07 18:49) [10]

[9] будь как windows, думай как windows, использую всю мощь windows, а программируя на делфи фиг тебе)


 
Inovet ©   (2015-11-07 18:57) [11]

Explorer так делает.


 
SKIPtr ©   (2015-11-07 18:59) [12]


> думай как windows, использую всю мощь windows

так я так и хотел
но приходиться писать свой сценарий не трогая виндусовского


 
SKIPtr ©   (2015-11-07 19:03) [13]


> Explorer так делает.

так я как раз и спрашиваю про это
как мне не мой сценарий задействовать а как раз шоб вот этот раздел который использует сценарий


 
Inovet ©   (2015-11-07 23:04) [14]

> [13] SKIPtr ©   (07.11.15 19:03)
> > Explorer так делает.
>
> так я как раз и спрашиваю про это
...
> сценарий

Ну так в каждом приложении может быть свой, присущий исключительно или не исключительно ему, сценарий.


 
Германн ©   (2015-11-08 01:08) [15]


> SKIPtr ©   (07.11.15 19:03) [13]
>
>
> > Explorer так делает.
>
> так я как раз и спрашиваю про это

Нет. Ты спрашиваешь про стандартную функцию Windows. А Explorer это не Windows.


 
SKIPtr ©   (2015-11-08 09:34) [16]


> Ну так в каждом приложении может быть свой, присущий исключительно
> или не исключительно ему, сценарий.

так получаеться функцию эксплоера отдельно использовать не льзя
а жаль


 
Юрий Зотов ©   (2015-11-08 10:28) [17]

> в рабочем коде 8 строчек получилось

Причем простейших. Пишутся за 10 минут. А топтание на месте длится уже сутки.


 
DVM ©   (2015-11-08 12:20) [18]


> SKIPtr ©   (07.11.15 09:04) 

Сделать наследника или helper для TFileStream (т.к. он в 99% случаях используется для сохранения файлов) обладающего такой фичей - дело 15 минут.


 
SKIPtr ©   (2015-11-08 19:36) [19]


> Сделать наследника или helper для TFileStream (т.к. он в
> 99% случаях используется для сохранения файлов) обладающего
> такой фичей - дело 15 минут.

а он копии файлов сам делает


 
brother ©   (2015-11-08 20:04) [20]

а че нет то?


 
DVM ©   (2015-11-08 20:06) [21]


> SKIPtr ©   (08.11.15 19:36) [19]

Сам он копии разумеется не делает. Ты в наследнике сделаешь так чтобы делал. И все будет прозрачно, где нужен TFileStream - передавай своего наследника.


 
DVM ©   (2015-11-08 20:10) [22]


>
> так получаеться функцию эксплоера отдельно использовать
> не льзя
> а жаль

Почему же нельзя, можно, но это только для копирования файлов. SHFileOperation + FOF_RENAMEONCOLLISION


 
SKIPtr ©   (2015-11-08 22:13) [23]


> Ты в наследнике сделаешь так чтобы делал. И все будет прозрачно,
>  где нужен TFileStream - передавай своего наследника.

так это будет еще запутаней чем перед записью проверять есть ли файл или нет


> Почему же нельзя, можно, но это только для копирования файлов.
>  SHFileOperation

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


 
DVM ©   (2015-11-08 22:25) [24]


> SKIPtr ©   (08.11.15 22:13) [23]


> так это будет еще запутаней чем перед записью проверять
> есть ли файл или нет

Это будет, пожалуй, самый правильный с точки зрения ООП вариант. Все наглядно и прозрачно. В конструктор твоего стрима передается базовое (начальное) имя. При необходимости класс дополняет имя цифрами.


 
sniknik ©   (2015-11-09 08:02) [25]

> у меня не копируеться файл
> а создаеться новый
создавай временный в temp-овой директории, после переименовывай с "SHFileOperation + FOF_RENAMEONCOLLISION".
чуть логики и вообще не нужно заморачиваться на цифры в имени.



Страницы: 1 вся ветка

Текущий архив: 2017.10.08;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.006 c
4-1284910325
Ingwar
2010-09-19 19:32
2017.10.08
Проблема прорисовки окна в Windows 7


2-1446876256
SKIPtr
2015-11-07 09:04
2017.10.08
запись дублированого файла


2-1446893206
gedevan
2015-11-07 13:46
2017.10.08
Как вернуть программу в панель задач?


2-1446919614
Dmitry
2015-11-07 21:06
2017.10.08
Иконки в TImage из Imagelist, теряется прозрачность


2-1446919931
Drowsy
2015-11-07 21:12
2017.10.08
Неожиданный результат сложения записей.