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

Вниз

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

 
akosh12345 ©   (2010-06-08 01:20) [0]

Собственно говоря в теме состоит и вопрос. Как удалит каталог, и подкаталогами без рекурсии, то есть без вызова самого себя?


 
akosh12345 ©   (2010-06-08 01:31) [1]

Поясняю. Мне нужно показывать пользователю как удаляется все файлы в подкаталогах и в самом каталоге, то есть использую прогрессбар. Все эти действия создаю в потоке. То есть максимальное количество прогрессбара = количество файлов и каталогах в удаляемом каталоге. Мне нжуно что когда я создал поток удалилась вся папка полность. Подскажите как это сделать? или как можно того избежать??


 
Германн ©   (2010-06-08 01:45) [2]


> akosh12345 ©   (08.06.10 01:31) [1]
>
> Поясняю.

Сей бред ничего не поясняет. Имхо.
Поспи и возвращайся утром.
Утро вечера мудренее!


 
oldman ©   (2010-06-08 07:42) [3]

Создай список файлов и удаляй по очереди. Без рекурсии.
Хочешь весь каталог, хочешь избегая этого.


 
MBo ©   (2010-06-08 08:56) [4]

SHFileOperation попробуй использовать


 
Anatoly Podgoretsky ©   (2010-06-08 09:43) [5]

> akosh12345  (08.06.2010 01:31:01)  [1]

Избежать просто, достаточно не делать.


 
абизяна   (2010-06-08 12:11) [6]


> Anatoly Podgoretsky ©   (08.06.10 09:43) [5]
> > akosh12345  (08.06.2010 01:31:01)  [1]
>
> Избежать просто, достаточно не делать.


Хочешь избежать критики — ничего не делай, ничего не говори и будь никем.
(С) Элберд Хаббард.


 
Anatoly Podgoretsky ©   (2010-06-08 12:20) [7]

> абизяна  (08.06.2010 12:11:06)  [6]

Ты кого критикуешь?


 
абизяна   (2010-06-08 12:33) [8]


> Anatoly Podgoretsky ©   (08.06.10 12:20) [7]

Это не критика:-) Просто твои слова несколько похожи на известый афоризм.


 
akosh12345 ©   (2010-06-08 18:47) [9]

это же форум программистов. Что вы тут пишите всякую чушь!!! Серьезнее ребята


 
akosh12345 ©   (2010-06-08 18:59) [10]

ВОт смотри. Я создал список файлов TListBox. Храню там список файлов и каталгов. В первой цикле удаляю все файлы. во Втором удаляю папки. Проблема в удалении папок. Ведь когда в папке находится подпаки - не удалиться папка
. Как мне сделать так, что бы удалять снизу верх, то есть с подкаталогов.


 
Плохиш ©   (2010-06-08 19:40) [11]


> Как мне сделать так, что бы удалять снизу верх, то есть
> с подкаталогов.

Прочитать все файлы и подкатологи из всех подкаталогов и записать их полные имена в ваш листбокс в требуемой последовательности, в цикле пройтись по листбоксу у удалить файлы/подкаталоги.


 
И. Павел ©   (2010-06-08 19:52) [12]


Проблема в удалении папок. Ведь когда в папке находится подпаки - не удалиться папка

Раз уж вы используете ListBox, то, наверное, можно так:
ListBox.Sorted := true;
for i := ListBox1.Count-1 downto 0 do
 //удаляем ListBox1.Items[i]


 
Плохиш ©   (2010-06-08 20:16) [13]


> И. Павел ©   (08.06.10 19:52) [12]
>
>
> Проблема в удалении папок. Ведь когда в папке находится
> подпаки - не удалиться папка

>
> Раз уж вы используете ListBox, то, наверное, можно так:
> ListBox.Sorted := true;
> for i := ListBox1.Count-1 downto 0 do
>  //удаляем ListBox1.Items[i]

>

Так и не понял, как этот код поможет в решении проблемы?


 
И. Павел ©   (2010-06-08 20:32) [14]

> Так и не понял, как этот код поможет в решении проблемы?

Автор вопроса писал, что ему нужно определить - какие папки нужно удалять сначала, а какие - позже.
Так как путь к подпапке включает в себя путь к родительской папке, то после сортировки в начале будут папки, а затем - подпапки:
Было:
C:\1\2
C:\1\2\3
C:\1
После сортировки станет:
C:\1
C:\1\2
C:\1\2\3
Это если список неупорядочен изначально.



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

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

Наверх




Память: 0.5 MB
Время: 0.013 c
6-1218895407
Twilight91
2008-08-16 18:03
2010.09.05
Как насроить порты в модеме Billion BiPAC 5210S


15-1276163521
bss
2010-06-10 13:52
2010.09.05
Работа TDateTime в отрицательном диапазоне


15-1276369798
AKE
2010-06-12 23:09
2010.09.05
У кого-нибудь есть код создания...


6-1225550596
Andrey_
2008-11-01 17:43
2010.09.05
TIdHTTP


6-1225619007
XeON
2008-11-02 12:43
2010.09.05
Порт-Маппер на Delphi 10 (Turbo)