Форум: "Начинающим";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];
Внизпоиск и удаление пустых папок Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c