Главная страница
    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.011 c
3-56444
dolmat
2003-10-29 15:46
2003.11.17
Создание вычисляемого поля


14-56843
VID
2003-10-28 13:00
2003.11.17
Админинг Windows 2000 (лок. машина)


14-56854
Sha-Man
2003-10-27 14:08
2003.11.17
Тут уже спрашивали, я знаю. Про ирландскую музыку.


3-56498
Vick
2003-10-27 18:23
2003.11.17
Пропадает коннект с сервером SQL


7-56920
ЗМВ
2003-09-10 15:51
2003.11.17
DLL Libraries





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