Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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: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 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.069 c
6-1145631768
M@D
2006-04-21 19:02
2006.09.10
Error (INDY)


1-1154094328
Piter
2006-07-28 17:45
2006.09.10
Как скопировать компонент в run-time?


5-1139313370
Нулевой
2006-02-07 14:56
2006.09.10
Как добавить BS_FLAT в BitBtn и GroupBox, CheckBox.


2-1156245231
XTD
2006-08-22 15:13
2006.09.10
Если нет коннекта выдать свое сообщение (indy)


15-1155485344
Карелин Артем
2006-08-13 20:09
2006.09.10
Интуиция. Ну нет в ней логики. А чем она вызвана?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский