Смысл в этом, хотя написать можно оптимальнее (это я оочень давно писал):
| Код | Procedure deldir(dir : String); Var Found : integer; SearchRec : TSearchRec; f,fdir:textfile; begin If dir[length(dir)]<>'\' then dir:=dir+'\'; Found := FindFirst(dir+'*.*', faAnyFile, SearchRec); while Found = 0 do begin if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then begin If fileexists(dir+SearchRec.Name) then begin try Filesetattr(dir+SearchRec.Name,0); Assignfile(f,dir+SearchRec.Name); {$I-} erase(f); {$I+} except; end; end else If directoryexists(dir+SearchRec.Name) then deldir(dir+SearchRec.Name); end; Found := sysutils.FindNext(SearchRec); end; FindClose(SearchRec); try removedir(dir); except end; end;
| |