Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.17;
Скачать: CL | DM;

Вниз

Удаление каталога с содержимым   Найти похожие ветки 

 
Karburator   (2003-09-03 16:20) [0]

Не смог найти функцию удаления каталога со всем содержимым, пришлось написать, но каталоги почему-то не удаляются. Логически вроде правильно. нифига не понимаю. Help me!!!

мой код:
function TForm1.DirDel(path: string): integer;
var SearchRec: TSearchRec;
Begin
if findfirst(path+"\*", faAnyFile, SearchRec)=0 then
if (SearchRec.Name[1]<>".") then
if FileExists(path+"\"+SearchRec.Name) then DeleteFile(path+"\"+SearchRec.Name)
else if SetCurrentDir(path+"\"+SearchRec.Name) then DirDel(path+"\"+SearchRec.Name);
while findnext(SearchRec)=0 do
if (SearchRec.Name[1]<>".") then
if FileExists(path+"\"+SearchRec.Name) then DeleteFile(path+"\"+SearchRec.Name)
else if SetCurrentDir(path+"\"+SearchRec.Name) then DirDel(path+"\"+SearchRec.Name);
findclose(SearchRec);
if not removedir(path) then showmessage("""+path+ "" - незя удалить");
end;


 
han_malign ©   (2003-09-03 16:41) [1]

>if FileExists(path+"\"+SearchRec.Name)
- if((SearchRec.Attr and faDirectory)=0)

>if SetCurrentDir(path+"\"+SearchRec.Name)
- ай молодца - заблокировал каталог и удивляется что он не удаляется... Совершенно лишнее, ведь указывается длинный путь <path+"\"+SearchRec.Name>.

З.Ы.>if (SearchRec.Name[1]<>".")
- между прочим ".dot" - вполне нормальное имя файла(каталога), хотя я сам так всегда делаю(зная что у меня таких нет).

З.З.Ы. А чтобы не писать два раза одинаковый набор набор операция, увеличивая размер кода - используют repeat until


 
Anatoly Podgoretsky ©   (2003-09-03 17:15) [2]

Зачем писать, есть же готовая в системе - SetFileOperation


 
som   (2003-09-04 13:14) [3]

http://www.codenet.ru/progr/delphi/quest040.php


 
Verg ©   (2003-09-04 17:26) [4]

Эта функция есть в комплекте RxLib (unit FileUtil)

function ClearDir(const Path: string; Delete: Boolean): Boolean;


 
Song ©   (2003-09-06 18:58) [5]

ShFileOperation()



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

Текущий архив: 2003.11.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
1-56651
Cosinus
2003-11-05 11:54
2003.11.17
Вопрос по массивам данных


1-56689
Poof-poof
2003-11-08 00:55
2003.11.17
Проблема с математикой :)


4-56952
vic_vm
2003-09-20 16:05
2003.11.17
Как предотвратить загрузку Dll в определенный процесс


3-56520
Шурик Ш
2003-10-27 17:13
2003.11.17
Sos me! Не понимаю, где ошибка...


11-56554
Forest
2003-02-22 21:53
2003.11.17
А почему в Private не могу писать? Использую KOL.