![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление [D7, WinXP]
Kor@l © (2004-04-03 19:37:00)Всем здарово мастера подскажите мне плз как удаоить папку
со всеми вложенными в неё файлами и папками.
%заранее спасибо%
DVM (2004-04-04 20:41:00) [1]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;
Vit@ly (2004-04-04 20:38:00) [2]Решение есть на UDDF.
Сегодя поздно, завтра постараюсь выслать (выложить).
Kor@l (2004-04-04 18:51:00) [3]
> Anatoly Podgoretsky
va8r
s:String;
sh:TSHFileOpStruct;
begin
s:=extractfilepath(application.ExeName)+ComboBox2.Text;
sh.Wnd:=Application.Handle;
sh.wFunc:=FO_DELETE;
sh.pFrom:=PChar('D:\1..');
sh.pTo:=nil;
sh.fFlags:=FOF_NOCONFIRMATION;
sh.hNameMappings:=nil;
sh.lpszProgressTitle:=nil;
SHFileOperation(sh);
вот кароче пишу такой код
и если папка пуста то усё спакойно удаляеться ,а если в ней вложин какой то фаил или даже пустая папка то не чего не выходит
говарит что не указан путь до вложеной папки или файла.
Anatoly Podgoretsky (2004-04-03 21:42:00) [4]А как ты хочешь с диалогом или без, так и делай.
Kor@l (2004-04-03 21:33:00) [5]
> Anatoly Podgoretsky
а разве диалога не выдаёт она
Anatoly Podgoretsky (2004-04-03 19:52:00) [6]ShFileOperation