Показать сообщение отдельно
  #7  
Старый 12.01.2007, 11:09
Аватар для CAHbKA
CAHbKA CAHbKA вне форума
Новичок
 
Регистрация: 10.01.2007
Сообщения: 66
Репутация: 10
По умолчанию

Цитата:
Сообщение от iMaGi
алгоритм...


function IsDirEmpty(sDirPath: String): Boolean;
var
fs: TSearchRec;
begin
Result := True;
sDirPath:= IncludeTrailingPathDelimiter(sDirPath);
if FindFirst(sDirPath+ '*.*', faAnyFile, fs) = 0 then
repeat
if (fs.Name <> '.') and (fs.Name <> '..') then
begin
Result := False;
FindClose(fs);
Exit;
end;
until FindNext(fs) <> 0;
FindClose(fs);
end;

....
if isDirEmpty(Path) then
RmDir(Path);
Если я тебя понял то ты хочеш удалить папку тогда...
Самый легкий способ используй этот код ShellAPI
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  SHFileOpStruct : TSHFileOpStruct;
  From : array [0..255] of Char;
begin
  SetCurrentDirectory( PChar( 'C:\' ) );
  From := 'Test1.tst' + #0 + 'Test2.tst' + #0 + #0;{Сдесь приведен пример удаление 2 файлов тебе просто надо в кавычках написать путь к примеру для удаления папки  'c:\555\новая папка'+#0+'c:\555\DVD'+#0+#0 удаляет папку и ее содержимое}
  with SHFileOpStruct do
  begin
    Wnd := Handle;
    wFunc := FO_DELETE;
    pFrom := @From;
    pTo := nil;
    fFlags := 0;
    fAnyOperationsAborted := False;
    hNameMappings := nil;
    lpszProgressTitle := nil;
  end;
  SHFileOperation( SHFileOpStruct );
end;
--------------------------------
Если надо чтоб пользователь не выбирал действия поставь в
fFlags:=OF_NOCONFIRMATION {Отвечает для всех операций вместог пользователя Да}
Если надо удалить в корзину то пиши в флаге FOF_ALLOWUNDO
--------
Список и описание для флага операций
FOF_ALLOWUNDO Если возможно, сохраняет информацию для возможности UnDo.
FOF_CONFIRMMOUSE Не реализовано.
FOF_FILESONLY Если в поле pFrom установлено *.*, то операция будет производиться только с файлами.
FOF_MULTIDESTFILES Указывает, что для каждого исходного файла в поле pFrom указана своя директория - адресат.
FOF_NOCONFIRMATION Отвечает "yes to all" на все запросы в ходе опеации.
FOF_NOCONFIRMMKDIR Не подтверждает создание нового каталога, если операция требует, чтобы он был создан.
FOF_RENAMEONCOLLISION В случае, если уже существует файл с данным именем, создается файл с именем "Copy #N of..."
FOF_SILENT Не показывать диалог с индикатором прогресса.
FOF_SIMPLEPROGRESS Показывать диалог с индикатором прогресса, но не показывать имен файлов.
FOF_WANTMAPPINGHANDLE Вносит hNameMappings элемент. Дескриптор должен быть освобожден функцией SHFreeNameMappings.
Ответить с цитированием