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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.05.2017, 05:52
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от Eldar1991
...ситуация немного нестандартная
Что-то подобное когда-то у нас здесь уже было
Ответить с цитированием
  #2  
Старый 04.05.2017, 15:58
Eldar1991 Eldar1991 вне форума
Прохожий
 
Регистрация: 02.03.2015
Сообщения: 21
Версия Delphi: delphi7
Репутация: 10
По умолчанию

Попробовал изменить адресацию и добился.... теперь и вовсе при повторном переносе если в конечной папке такое имя каталога есть он 100% создает в нем еще одну папку. реализовано вот так.
Код:
for i:=0 to memo2.lines.count-1 do
   if (memo2.Text<>'') and (combobox1.Text<>'') then
    begin
    try
      if checkbox8.Checked=false then
        MoveDir(combobox1.Text+memo2.Lines[i], ExtractFileDir(Application.ExeName)+'\tails\'+memo2.Lines[i])
      else
      MoveDir(combobox1.Text+memo2.Lines[i], edit3.text+'\tails\'+memo2.Lines[i]);
    except
    end;
может можно как то условие проверки на наличие папки сделать, только что тогда делать если например существующая папка будет обнаружена.
Ответить с цитированием
  #3  
Старый 04.05.2017, 16:04
Eldar1991 Eldar1991 вне форума
Прохожий
 
Регистрация: 02.03.2015
Сообщения: 21
Версия Delphi: delphi7
Репутация: 10
По умолчанию

где то очевидная ошибка... помогите ее увидеть
Ответить с цитированием
  #4  
Старый 04.05.2017, 18:55
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Я так понимаю, пока папка сносится на новое место, она тут же возрождается из другого процесса - тогда возможно в цикле следует убедиться в переносе предыдущей перед следующей итерацией (if MoveDir() then...) Не удалось добиться такой ситуации, хоть и копировалось в "феникса" несколько сот рандомных *.тхт файлов, они тут же улетали в нужном направлении, без дополнительных вложенных папок
Ответить с цитированием
  #5  
Старый 04.05.2017, 23:53
Eldar1991 Eldar1991 вне форума
Прохожий
 
Регистрация: 02.03.2015
Сообщения: 21
Версия Delphi: delphi7
Репутация: 10
По умолчанию

Конкретно мой изложенный код в данный момент, (у меня по крайней мере),гнусно "косячит" и проверяется очень просто: из папки А в папку Б указанным выше способом произвожу перенос папки С. Грубо говоря, было ...А\С стало ...Б\С. Все пока что хорошо. В папке А снова ручками создаю папку С и повторяю сие чудесное действие с переносом. И вуаля, фокус удался! Было ...А\С стало Б\С\С. И вот вторая папка С уже становится последним пристанищем всех вновь прибывающих файлов папок итд. (Хорошо хоть так)
уже задумываюсь писать отдельную софтинку чтобы поправляла эту беду в конечном каталоге, но мне кажется это глупо. Истина где то рядом...пробовал другие функции и процедуры по перемещению они не подходят поэтому и зацепился за эту...
Ответить с цитированием
  #6  
Старый 04.05.2017, 23:59
Eldar1991 Eldar1991 вне форума
Прохожий
 
Регистрация: 02.03.2015
Сообщения: 21
Версия Delphi: delphi7
Репутация: 10
По умолчанию

Пробовал кстати через CurrentDirectory так там все еще интереснее вышло. было А\С стало В\С\В\С причем каждое последующее копирование увеличивало эту цепочку...
Ответить с цитированием
  #7  
Старый 05.05.2017, 00:29
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вроде дошло, я перемещаю папку немного по-другому, если по предложенной вами схеме, то примерно так
Код:
...
if MoveDir('c:\a\c\','c:\b\') then
...
в смысле, в папке b появляется c единственная
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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