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

Вниз

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

 
Bios_   (2005-08-10 20:55) [0]

Я использую след. код:
SetFileAttr(DirName, faArchive);
RemoveDirectory(DirName) или RMDir(DirName);

В принципе он работает, но некоторые каталоги, как "не бейся",
не удаляются. Хотя DiscoComander с этим справляется.
Каталог точно пустой.
Кто нибудь знает в чем дело? Очень нужно!


 
begin...end ©   (2005-08-10 21:08) [1]

> Bios_   (10.08.05 20:55)

> Кто нибудь знает в чем дело?

Об этом может сказать GetLastError, вызванный после неудачной попытки удаления с помощью RmDir или RemoveDirectory.


 
Kazakh   (2005-08-11 10:22) [2]

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;

// ***************************** //
//           Пример:             //
// ***************************** //
if not MyRemoveDir("D:\myDir") then
 ShowMessage("Can NOT delete dir");

// Кстати, системные, скрытые и
// read-only файлы тоже будут удалены.



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
9-1117707275
WondeRu
2005-06-02 14:14
2005.10.09
OpenGL портит виндовские хинты! Как бороться?


3-1124710267
Koala
2005-08-22 15:31
2005.10.09
Удаленный доступ к базе данных (FB 1.5)


1-1126873097
Ega23
2005-09-16 16:18
2005.10.09
Добавить Image к TTreeNode без TImageList


1-1126732753
Чебуратор
2005-09-15 01:19
2005.10.09
Снов StringGrid... :-)


4-1123502012
-c-st-s-
2005-08-08 15:53
2005.10.09
Контекст устройства для hBitmap