Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1143059740
Georgiy
2006-03-22 23:35
2006.04.09
InitializeAcl SECURITY_ATTRIBUTES крутые вопросы


1-1141294068
caries
2006-03-02 13:07
2006.04.09
Как вычислить разницу в датах?


15-1142350792
Vlad
2006-03-14 18:39
2006.04.09
А кто-нибудь знает, новый закон о рекламе вступил в силу?


1-1141375130
mss
2006-03-03 11:38
2006.04.09
Как это сделать


15-1142937681
__DATA__
2006-03-21 13:41
2006.04.09
Изменить максимальное число подключений к серверу win2k3





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский