Главная страница
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.028 c
15-1142443871
Silica
2006-03-15 20:31
2006.04.09
C++


15-1142518033
Чапаев
2006-03-16 17:07
2006.04.09
Порекомендуйте материнку под Athlon64 X2


15-1142790487
Суслик
2006-03-19 20:48
2006.04.09
Прокси


2-1143021945
Lexa11_2002
2006-03-22 13:05
2006.04.09
Динамические массивы


3-1140091873
Alexey V.
2006-02-16 15:11
2006.04.09
Как мне достучаться до базы btrieve?