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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
3-48399
rh
2003-08-26 12:39
2003.09.15
Записать текущую дату


3-48435
Quest
2003-08-25 11:54
2003.09.15
Ado -> Excel ... смена формата ячейки


14-48709
PVOzerski
2003-08-19 11:12
2003.09.15
Какой сотовый телефон выбрать


14-48794
Pindos
2003-08-26 00:23
2003.09.15
Сервер не найден!!!


3-48477
Andrew
2003-08-22 15:21
2003.09.15
Работа с DBF (DBase, FoxPro) , без BDE