Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как удалить все файлы в указанной папке ? Удаление файлов программно 
:(
    Опции темы
AlexV
Дата 5.1.2003, 15:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Зная путь к папке, требуется максимально просто и надежно удалить все файлы в этой папке программно. Считаем, что в этой папке нет подпапок, а просто лежат файлы.
  Вверх
Alex
Дата 5.1.2003, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



procedure DeleteFolder(DirName :String);
// Удаление файлов, из каталога включая подкаталоги
var
 h   :tHandle;
 wfd :tWin32FindData;
begin
 DirName:= slash(DirName);
 h := Windows.FindFirstFile(PChar(DirName+'*.*'), wfd);
 try
   if  h <> INVALID_HANDLE_VALUE  then begin
     repeat
       if  (wfd.cFileName <> String('.')) and (wfd.cFileName <> '..')  then begin
         if  (wfd.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) <> 0  then begin
           DeleteFolder(IncludeTrailingPathDelimiter(DirName+wfd.cFileName));
           end
         else begin
           Windows.DeleteFile(PChar(DirName+wfd.cFileName));
         end;
       end;
     until  not Windows.FindNextFile(h,wfd);
   end;
   // проверка кода ошибки и FindFirstFile и FindNextFile
   case  GetLastError  of
     ERROR_NO_MORE_FILES,    // больше нет файлов и каталогов удовлетворяющих маске (но были)
     ERROR_FILE_NOT_FOUND,   // вообще нет файлов и каталогов удовлетворяющих маске
     ERROR_SHARING_VIOLATION // возникает во время создания каталога (уже создан но еще недоступен)
                         : ; // ничего не делаем, все Ok
     else // все остальные ошибки
       raise Exception.CreateFmt(errDelFolder,[DirName,{SysErrorMessage(}inttostr( GetLastError){)}]);
   end;
 finally
   if  h <> INVALID_HANDLE_VALUE  then Windows.FindClose(h);
 end;
end;


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
AlexV
Дата 5.1.2003, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 13.11.2002

Репутация: нет
Всего: нет



Что за функция slash ? Где ее взять ?
PM MAIL   Вверх
Vit
Дата 6.1.2003, 04:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Вообще-то это написано в нашем FAQ


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Song
Дата 6.1.2003, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



ShFileOperation()


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
dser
Дата 3.2.2003, 03:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 3.2.2003
Где: Украина Харьковск ая обл.

Репутация: нет
Всего: нет



Используй компоненты третьих фирм
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1484 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.