| Код | {Удаление пустой директории Чтобы удалить пустую директорию с помощью delphi достаточно обратиться к функции removedir. function removedir(const dir: string): boolean; Эта функция возвращает true если директория, указанная в единственном параметре, передаваемом в функцию, успешно удалена, в противном случае функция возвратит false. Часто возникает необходимость удалить непустую папку, содержащую не только файлы, но и другие вложенные папки. Для этого была написана пользовательская функция, удаляющая папку со всеми файлами и поддиректориями. Вот она:} function myremovedir(sdir : string) : boolean; var iindex : integer; searchrec : tsearchrec; sfilename : string; begin result := false; sdir := sdir + '*.*'; iindex := findfirst(sdir, faanyfile, searchrec); while iindex = 0 do begin sfilename := extractfiledir(sdir)+''+searchrec.name; if searchrec.attr = fadirectory then begin if (searchrec.name <> '' ) and (searchrec.name <> '.') and (searchrec.name <> '..') then myremovedir(sfilename); end else begin if searchrec.attr <> faarchive then filesetattr(sfilename, faarchive); if not deletefile(sfilename) then showmessage('could not delete ' + sfilename); end; iindex := findnext(searchrec); end;
findclose(searchrec);
removedir(extractfiledir(sdir)); result := true; end;
//А сейчас пример использования этой функции:
procedure tform1.button1click(sender: tobject); begin if myremovedir('c:testdir') then showmessage('Директория успешно удалена') else showmessage('Не получается удалить директорию'); end;
|
|