terça-feira, 22 de setembro de 2009

Apaga um diretório inteiro

{Use com cuidado, apaga sem pedir confirmação.
O ministério da saúde adverte:
O uso sem o devido cuidado pode causar demissão.}


Function ApagaDiretorio(Diretorio: String): Boolean;
var
ArqEstrutura: TshFileOpStruct;
begin
Result := False;
if not DirectoryExists(Diretorio) then
Exit;
Diretorio := ExcludeTrailingBackSlash(Diretorio);
FillChar(ArqEstrutura, SizeOf(ArqEstrutura), 0);
ArqEstrutura.wFunc := FO_DELETE;
ArqEstrutura.pFrom := PChar(Diretorio);
ArqEstrutura.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
Result := ((ShFileOperation(ArqEstrutura) = 0) and (not ArqEstrutura.fAnyOperationsAborted));
end;

Nenhum comentário:

Postar um comentário