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

Как удалить папку?   Найти похожие ветки 

← →
Neket   (2006-08-20 18:51) [0]

Как удалить папку вместе с содержимым?
Если использовать RMDir то возможно удаление только в том случае если папка пустая.


← →
Dmitrij_K   (2006-08-20 18:58) [1]

Ищи функцию SHFileOperation shellapi.pas


← →
Neket   (2006-08-20 19:10) [2]

А можно поподробнее а то там в SHELAPi только описание этой функции для DLL.


← →
Neket   (2006-08-20 19:18) [3]

Наро помогите. Срочно нада.


← →
ffo ©   (2006-08-20 19:30) [4]


>  Как удалить папку?


На вот тебе

Удаление каталога со всем содержимым
function DeleteDir(Dir  : string)  : boolean;
Var
Found  : integer;
SearchRec : TSearchRec;
begin
 result:=false;
 if IOResult<>0 then ;
 ChDir(Dir);
 if IOResult<>0 then begin
  ShowMessage("Не могу войти в каталог: "+Dir); exit;
 end;
 Found := FindFirst("*.*", faAnyFile, SearchRec);
 while Found = 0 do
 begin
  if (SearchRec.Name<>".")and(SearchRec.Name<>"..") then
   if (SearchRec.Attr and faDirectory)<>0 then begin
    if not DeleteDir(SearchRec.Name) then exit;
   end else
    if not DeleteFile(SearchRec.Name) then begin
     ShowMessage("Не могу удалить файл: "+SearchRec.Name); exit;
    end;
   Found := FindNext(SearchRec);
 end;
 FindClose(SearchRec);
 ChDir(".."); RmDir(Dir);
 result:=IOResult=0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteDir("C:\WINDOWS\Рабочий стол\123");
end;


← →
Neket   (2006-08-20 19:37) [5]

Спасибо огромное. Очень помог.


← →
DprYg ©   (2006-08-20 21:10) [6]



← →
DprYg ©   (2006-08-20 21:11) [7]

Извиняюсь. function Delete(const FileName: string): integer;
var
 SHF: TSHFileOpStruct;
begin
  with SHF do begin
   Wnd := 0;
   pFrom := PChar(FileName);
   pTo := nil;
   wFunc := FO_DELETE;
   fFlags := FOF_ALLOWUNDO;
 end;
 Result := SHFileOperation(SHF);
 if Result<>0 then
   if SHF.fAnyOperationsAborted
     then Result := 1
     else Result := 2;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Delete("...");
end;


← →
ffo ©   (2006-08-20 22:18) [8]


> DprYg

А почему бы и нет. И себе перепишу



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

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



Память: 0.46 MB
Время: 0.03 c
15-1155793834
Ega23
2006-08-17 09:50
2006.09.10
С Днём рождения! 17 августа


2-1155950019
Mrakk
2006-08-19 05:13
2006.09.10
Открыть каталог в opendialog


15-1155186777
Bless
2006-08-10 09:12
2006.09.10
Даешь Бали! (практически не оффтоп)


2-1155981044
C@N
2006-08-19 13:50
2006.09.10
NMSMTP и Mail.ru


5-1139238792
webpauk
2006-02-06 18:13
2006.09.10
Показать поля БД




   Наверх