Вниз
Скачать: CL | DM;

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

← →
Funnymind   (2004-05-06 05:17) [0]

Как насильно удалить папку со всеми вложенными в нее файлами.
Буду благодарен за множество вариантов...


← →
miwa ©   (2004-05-06 05:25) [1]

1. SHFileOperation + F1
2. FindFirst+FindNext+FindClose+DeleteFile + F1


← →
Delphin ©   (2004-05-06 11:54) [2]

Сначало удаляешь всё сожержимое из папки, а потом и саму папку, необходимые
команды тебе написал miwa ©   (06.05.04 05:25) [1]


← →
Романов Р.В. ©   (2004-05-06 12:00) [3]


> Сначало удаляешь всё сожержимое из папки

SHFileOperation удаляет все сразу вместе с содержимым.


← →
uuuh   (2004-05-06 12:17) [4]

Предлагаю старый девовский способ удалить рекурсивно все содержимое а потом и саму папку.


← →
DVM ©   (2004-05-06 12:22) [5]

function DeleteDirectory(const Path: string): boolean;
var
 FD : TWin32FindData;
 FH : THandle;
 PartialResult:Boolean;
 LPath:string;
begin
 Result := true;
 if Path="" then exit;
 if not(DirExists(Path)) then exit;
 LPath:=Path;
 FH := FindFirstFile( PChar( Path + "*.*" ), FD );
 repeat
   PartialResult := True;
   if (FH<>INVALID_HANDLE_VALUE) and (FD.cFileName <> string(".")) and
                                              (FD.cFileName<>string("..")) then
     if (FILE_ATTRIBUTE_DIRECTORY and FD.dwFileAttributes) <> 0 then
       PartialResult := DeleteDirectory(Path + FD.cFileName + "\")
     else
       if PartialResult then
             begin
               PartialResult := SetFileAttributes(PChar(Path + FD.cFileName),
                                                        FILE_ATTRIBUTE_NORMAL);
               if PartialResult then PartialResult := DeleteFile(Path + FD.cFileName);
             end;
   if not PartialResult then
     begin
       Result := False;
       Break;
     end;
 until FindNextFile(FH,FD) = false;
 FindClose(FH);
 if Result then
 begin
   Result := SetFileAttributes(PChar(LPath), FILE_ATTRIBUTE_NORMAL);
   if Result then
   begin
     {$IOCHECKS OFF}
     RmDir(LPath);
     {$IFDEF IOCHECKS_ON}
     {$IOCHECKS ON}
     {$ENDIF IOCHECKS_ON}
     Result := IOResult = 0;
   end;
 end;
end;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
1-1083759816
Ann_k
2004-05-05 16:23
2004.05.23
Delphi &amp; Excel


1-1083658334
Ivolg
2004-05-04 12:12
2004.05.23
Запехнуть в exe


1-1084265286
webAve
2004-05-11 12:48
2004.05.23
Мастера! Помогите решить проблему:


14-1082923620
Piter
2004-04-26 00:07
2004.05.23
Победа Кличко


1-1083932811
Magician
2004-05-07 16:26
2004.05.23
Как добавить картинку в DrawGrid




   Наверх