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

Вниз

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

 
perat ©   (2006-03-19 19:14) [0]

хочу написать программу, которая находила бы все пустые папки в заданной родительской и удаляла бы их.


 
Джо ©   (2006-03-19 19:15) [1]


> хочу написать программу,

Бог помощь.


 
palva ©   (2006-03-19 19:15) [2]

Очень нужная программа. Надеюсь, будет freeware.


 
perat ©   (2006-03-19 19:26) [3]

хочу написать программу, которая находила бы все пустые папки в заданной родительской и удаляла бы их. Подскажите, пожалуйста, как определить содержит ли папка файлы и подпапки?


 
palva ©   (2006-03-19 19:32) [4]

Можно попробовать удалить. Если удалилась (функция вернет хороший код), значит была пустая.


 
Dmitrij_K   (2006-03-19 19:33) [5]

bol := False;
if FindFirst("c:\papka\*.*",faAnyFile,SearchRec)=0 then
 repeat
   if (SearchRec.Name<>".") and (SearchRec.Name<>"..") then
   begin
     bol := True;
     Break;
   end
 until FindNext(SearchRec)<>0;
FindClose(SearchRec);
if not bol then ShowMessage("Papka PUSTAYA")


 
perat ©   (2006-03-22 15:08) [6]

var
 Form1: TForm1;
 dir,c:string;
 bol:boolean;
 SearchRec:TSearchRec;
 i:integer;
implementation

{$R *.nfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
dir:=edit1.Text;
if DirectoryExists(dir) then find;
end;

procedure TForm1.find;
begin
bol := False;
memo1.Lines.Clear;
memo2.Lines.Clear;
 if FindFirst(dir+"\*.*",faAnyFile,SearchRec)=0 then
repeat
  if (SearchRec.Name<>".") and (SearchRec.Name<>"..") then
  begin
    bol := True;
    if AnsiContainsText(SearchRec.Name,".") then
    memo2.Lines.add(SearchRec.Name)
    else
    memo1.Lines.add(SearchRec.Name);
  end
until FindNext(SearchRec)<>0;
FindClose(SearchRec);
   str(memo1.Lines.count,c);
   memo3.Lines.add(dir+" ("+c+")");
if bol then begin
 label1.Caption:="Папка не пуста";
 if memo1.Lines.Count>0 then begin
   dir:=dir+"\"+memo1.Lines[0];
   find
 end
 else revers;
end
else begin
 label1.caption:="Папка пуста";
 RmDir(dir);
 memo3.lines.Add("del> "+dir);
 revers;
end;
end;

procedure Tform1.revers;
var b:boolean;
begin
 if length(dir)>=length(edit1.Text) then
 begin
   i:=length(dir);
   b:=false;
   repeat
     dec(i);
     if dir[i]="\" then begin
       dir:=copy(dir,1,i-1);
       b:=true;
     end;
   until (i<3) or (b=true);
 memo3.lines.Add("reverse> "+dir);
 find;
 end
 else memo1.Lines.add("end")
end;

есть вот такая структура 1\2\3 - папка в папке, файлов нет.
после удаления папки 1\2\3, появляется ошибка доступа к 1\2. Никак не пойму в чем дело. еще раз жму ОК и тогда удаляется 1\2 но появляется ошибка доступа к 1. В чем дело?



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

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

Наверх




Память: 0.48 MB
Время: 0.031 c
2-1143091143
Nsk3D
2006-03-23 08:19
2006.04.09
Filter


1-1141626217
set45465
2006-03-06 09:23
2006.04.09
Исключительные ситуации


2-1143223901
ЧиЧиЧи
2006-03-24 21:11
2006.04.09
Как можно создать объект?


2-1143203978
tort
2006-03-24 15:39
2006.04.09
Как обработать событие?


8-1131196465
Toxa_ua
2005-11-05 16:14
2006.04.09
Конус под углом - OpenGL