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

Вниз

Полное удаление каталога   Найти похожие ветки 

 
me2   (2003-03-21 11:31) [0]

Народ, подскажите как полностью удалить каталог, а не помещать его в корзину?


 
stone ©   (2003-03-21 11:35) [1]

Shift+Del


 
me2   (2003-03-21 11:40) [2]

Нет, я имею ввиду программно


 
AlexKr   (2003-03-21 13:19) [3]

SHFileOperation и <F1>


 
me2   (2003-03-21 13:28) [4]

Что, никто не знает?. Народ, проснитесь!!!


 
Clickmaker ©   (2003-03-21 13:40) [5]

AlexKr (21.03.03 13:19)
SHFileOperation и <F1>


Народ проснулся. А вот ты, похоже, еще нет :-)


 
Leran2002 ©   (2003-03-21 13:48) [6]

Во когдато написал, мож подойдет:

{var
List:TStringList;}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
procedure MyClearDir(MyPath:string;DelFolder:boolean);
var
SR:TSearchRec;
begin
MyPath:=Trim(MyPath);
if MyPath="" then exit;

if not DirectoryExists(MyPath) then exit;

if MyPath[Length(MyPath)]<>"\" then MyPath:=MyPath+"\";

if FindFirst(MyPath+"*.*",faAnyFile,SR)=0 then
repeat
if (SR.Name<>".")and(SR.Name<>"..") then
if DelFolder and((SR.Attr and faDirectory)<>0) then begin
MyClearDir(MyPath+SR.Name,true);
// List.Add("Папка удалена: "+MyPath+SR.Name);
RemoveDir(MyPath+SR.Name);
end
else if (SR.Attr and faDirectory)=0 then
// List.Add("Файл удален: "+MyPath+SR.Name);
sysutils.DeleteFile(MyPath+SR.Name);
until FindNext(SR)<>0;
sysutils.FindClose(SR);
end;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Все что закоментарено - для проверки правильности работы...


 
andrey_pst ©   (2003-03-21 13:49) [7]

procedure TForm1.DeleteDirs(Dir : string);
var
sr : TSearchRec;
begin
if FindFirst(Dir + "\*.*", faAnyFile, sr) = 0 then
begin
repeat
if (sr.Attr and faDirectory) <> faDirectory then
begin
if (sr.Attr and faArchive) = faArchive then
FileSetAttr(Dir + "\" + sr.Name, faArchive);
DeleteFile(Dir + "\" + sr.Name);
end
else
if (sr.Name <> "..") and (sr.Name <> ".") then
DeleteDirs(Dir + "\" + sr.Name);
until FindNext(sr) <> 0;
FindClose(sr);
RemoveDir(ExtractFileDir(Dir + "\"));
end;
end;



 
Романов Р.В. ©   (2003-03-21 14:02) [8]

или досовская команда rd через shellexecute


 
me2   (2003-03-21 16:20) [9]

У меня получилось так
procedure TMainForm.DeleteDirectoryTree(AHandle: THandle;
AFromDir: string);
var
SHFileOPStruct: TSHFileOPStruct;
begin
with SHFileOPStruct do
begin
Wnd := AHandle;
wFunc := FO_DELETE;
pFrom := PChar(AFromDir);
pTo := nil;
fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION or FOF_SIMPLEPROGRESS;
fAnyOperationsAborted := False;
hNameMappings := nil;
lpszProgressTitle := nil;
end;
SHFileOperation(ShFileOpStruct);
end;


 
Intell ©   (2003-03-23 17:58) [10]

В примере стираются все файлы в каталоге и сам каталог. (Пример заподлянки, удаляется
каталог "Games" на диске C:\)



procedure TForm1.Button1Click(Sender: TObject);
var
DirInfo: TSearchRec;
r: integer;
begin
r := FindFirst("C:\Games\*.*", FaAnyfile, DirInfo);
while r = 0 do
begin
if ((DirInfo.Attr and FaDirectory <> FaDirectory) and
(DirInfo.Attr and FaVolumeId <> FaVolumeID)) then
if DeleteFile(pChar("C:\Games\" + DirInfo.Name))= false then
ShowMessage("Unable to delete: C:\Games\"+DirInfo.Name);
r := FindNext(DirInfo);
end;
SysUtils.FindClose(DirInfo);
if RemoveDirectory("C:\Games\") = false then
ShowMessage("Unable to delete directory: C:\Games\");
end;

sergein@nojabrsk.ru



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
3-6373
prihod
2003-03-14 16:11
2003.04.03
Вопрос по структуре БД FoxPro


14-6680
Prov
2003-03-18 16:30
2003.04.03
Помогите. Что ето за функция ?


1-6551
Dim!S
2003-03-21 10:53
2003.04.03
Как проиграть avi файл, зашитый в программу


7-6824
Pakshin A. S.
2003-02-11 11:50
2003.04.03
Очистка корзины...


14-6758
Eugenex
2003-03-14 10:47
2003.04.03
WMI SDK !!!