Главная страница
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.054 c
4-1124090761
O
2005-08-15 11:26
2005.10.09
WinIO


14-1124903150
Aldor
2005-08-24 21:05
2005.10.09
Ссылку на гимн Украины (mp3) кто-нибудь подскажет?


5-1102439020
hawkins
2004-12-07 20:03
2005.10.09
Ошибка в наследнике TStringGrid


2-1125154685
Иван Семенов
2005-08-27 18:58
2005.10.09
Как перебрать все компоненты на двух формах?


3-1124798024
Ландграф Павел
2005-08-23 15:53
2005.10.09
Копирование данных из одного .mdb в другой .mdb