Главная страница
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.038 c
2-1143224598
Locke
2006-03-24 21:23
2006.04.09
замена формы на картинку


2-1143386444
AlexanderMS
2006-03-26 19:20
2006.04.09
Сочетание клавиш


3-1140172014
VitGun
2006-02-17 13:26
2006.04.09
Проблемы с сохранением изменений.


1-1140178876
NightLord
2006-02-17 15:21
2006.04.09
Окно программы как панель задач


2-1143133012
Kolan
2006-03-23 19:56
2006.04.09
Что значит public var?