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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
14-56890
VEG
2003-10-23 17:31
2003.11.17
БЕДСТВУЮ!!!


6-56797
DrFox
2003-09-19 19:25
2003.11.17
Как использовать Socket


9-56430
Holocaust
2003-05-12 12:07
2003.11.17
Увеличение изображения


1-56702
iNew
2003-11-05 11:44
2003.11.17
Как в StringGrid программно изменить длину одной из колонок?


3-56511
Stratos
2003-10-28 01:07
2003.11.17
Выбор записей с приоритетом





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский