Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Сети > Удаление папки с файлами, idFTP |
Автор: naPz 5.1.2007, 22:16 | ||
Хочу удалить в idFTP клиенте выделеную папку и всё что внутри если она не пустая. Стандартно зделать как я понял нельзя, поэтому удаляю вот такой процедурой с рекурсивным вызовом самой себя:
Так если пройти эту процедуру в пошаговом режиме (F7,F8), то работает идеально и никаких глюков и ошибок нету. Удаляет все папки и файлы внутри выбраной папки. Но если запустить в нормальном режиме то ничего не делает, если войти сразу после этого в папку которую хотел удалить вылетает с ошибкой EListError "List index out of bounds(тут число)". Что-то с индексами. Переписывал по разному и никак не могу заставить работать. Использую Delphi 7 + Indy 9 .... |
Автор: bozhe 11.10.2008, 14:13 | ||
Вот работающий код.
Проходим с конца списка файлов и дерикторий. перед рекурсивным вызовом оставляем список файлов в текущей директории (если этого не сделать то при выходе из рикурсивно вызваной процедуры оно не обновляет список и пытаеться удалить файл которого не существует) тупит кароче ) FTP это тот же idFTP1 ) |
Автор: bankir 25.3.2009, 18:13 | ||
немножко переработанный код который действительно заработал (не претендует на оригинальность) просто сам долго искал готовый код, может кому пригодится
|
Автор: ikot 3.7.2009, 03:25 | ||||
А как выглядит код сервера? А то у меня не выходит удалить непустую папку, используя ваш код. На сервере у меня код, приведенный в demo от indy. Я так понял, что он у вас другой... Какой, если не секрет? |