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

Вниз

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

 
wdsergius   (2003-09-02 12:35) [0]

Добрый день всем всем всем.
Подскажите пожалуйста, как удалить программно любой каталог???
Пробовал с помощью функции
RemoveDir(const Dir:string):boolean;
не получается, просто возвращает False и всё тебе !!!
и каталог на месте , и файлов в нём нема и удаляемый, а не удаляется !!!!!!! Чё делать !!!
Подскажите пожалуйста !!!


 
Мал0й   (2003-09-02 12:40) [1]

Function MyRemoveDir(sDir : String) : Boolean;
var

iIndex : Integer;

SearchRec : TSearchRec;

sFileName : String;


begin
Result := False;

sDir := sDir + "\*.*";

iIndex := FindFirst(sDir, faAnyFile, SearchRec);

while iIndex = 0 do


begin


sFileName := ExtractFileDir(sDir)+"\"+SearchRec.Name;

if SearchRec.Attr = faDirectory then


begin


if (SearchRec.Name <> "" ) and (SearchRec.Name <> ".") and (SearchRec.Name <> "..") then MyRemoveDir(sFileName);


end


else


begin


if SearchRec.Attr <> faArchive then FileSetAttr(sFileName, faArchive);

if NOT DeleteFile(sFileName) then ShowMessage("Could NOT delete " + sFileName);


end;


iIndex := FindNext(SearchRec);


end;


FindClose(SearchRec);

RemoveDir(ExtractFileDir(sDir));

Result := True;


end;


 
Мал0й   (2003-09-02 12:41) [2]

Или

uses ShellApi;
...
var sh : SHFILEOPSTRUCT;
begin
...

sh.Wnd := Application.Handle;

sh.wFunc := FO_DELETE;

sh.pFrom := "c:\\test\0";

sh.pTo := nil;

sh.fFlags := FOF_NOCONFIRMATION or FOF_SILENT;

sh.hNameMappings := nil;

sh.lpszProgressTitle := nil;



SHFileOperation (sh);

...



Надо путь писать : c:\\test\dfg
Чтобы вначале "\\" было...иначе не будет удалять диры из корня
Взято с Vingrad.ru http://forum.vingrad.ru


 
Андрей Сенченко   (2003-09-02 12:49) [3]

Дело было не в бобине ...

begin
Mkdir("C:\88");
If RemoveDir("C:\88") Then Showmessage ("ok");
end;


Только что отработало - мама не горюй.

Проверь FindFirst-ом эту директорию в плане найти там скрытые файлы.



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

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

Наверх





Память: 0.45 MB
Время: 0.015 c
3-48424
Кирилл
2003-08-25 16:25
2003.09.15
Ув. мастера, Как определить размер записи?


1-48608
Кирилл
2003-09-04 15:55
2003.09.15
Как не обрабатывать строку


14-48776
Hawk2
2003-08-26 11:14
2003.09.15
Документация по Ассемблеру


1-48566
Man
2003-08-27 21:21
2003.09.15
вызов одинаковых окон МДИ приложения


1-48503
Bumer
2003-09-02 17:37
2003.09.15
добавить объект





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