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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление каталога с подкаталогами 
:(
    Опции темы
Pakshin A. S.
Дата 6.11.2004, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Способ 1: проход по дереву каталогов
Код

Function MyRemoveDir(sDir : String) : Boolean;  
 var   
 
 iIndex : Integer;   
 
 SearchRec : TSearchRec;   
 
 sFileName : String;   
 
  
begin  
 Result := False;   
 
 sDir := sDir + '\*.*';   
 
 iIndex := FindFirst(sDir, faAnyFile, SearchRec);   
 
 while iIndex = 0 do   
 
  
 begin   
 
  
 sFileName := ExtractFileDir(sDir)+'\'+SearchRec.Name;   
 
 if SearchRec.Attr = faDirectory then   
 
  
 begin   
 
  
 if (SearchRec.Name <> '' ) and (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then MyRemoveDir(sFileName);   
 
  
 end   
 
  
 else   
 
  
 begin   
 
  
 if SearchRec.Attr <> faArchive then FileSetAttr(sFileName, faArchive);   
 
 if NOT DeleteFile(sFileName) then ShowMessage('Could NOT delete ' + sFileName);   
 
  
 end;   
 
  
 iIndex := FindNext(SearchRec);   
 
  
 end;   
 
  
 FindClose(SearchRec);   
 
 RemoveDir(ExtractFileDir(sDir));   
 
 Result := True;   
 
  
end;
 

Способ 2: Использование ShellApi 

Код

uses ShellApi; 
... 
var sh : SHFILEOPSTRUCT; 
begin 
 ...  
 
 sh.Wnd := Application.Handle;  
 
 sh.wFunc := FO_DELETE;  
 
 sh.pFrom := 'c:\\test\0';  
 
 sh.pTo := nil;  
 
 sh.fFlags := FOF_NOCONFIRMATION or FOF_SILENT;  
 
 sh.hNameMappings := nil;  
 
 sh.lpszProgressTitle := nil;  
 
  
 
 SHFileOperation (sh);  
 
 ...   
 
  

Надо путь писать : c:\\test\dfg 
Чтобы вначале "\\" было...иначе не будет удалять диры из корня 



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

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

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

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

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


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

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


 




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


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

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