Delphi, supprimer le dossier avec le contenu

quand j'ai des sous-dossier dans le dossier - ce code n'est pas de supprimer des dossiers... Est-il une erreur?

procedure TForm.Remove(Dir: String);
var
  Result: TSearchRec; Found: Boolean;
begin
  Found := False;
  if FindFirst(Dir + '\*', faAnyFile, Result) = 0 then
    while not Found do begin
      if (Result.Attr and faDirectory = faDirectory) AND (Result.Name <> '.') AND (Result.Name <> '..') then Remove(Dir + '\' + Result.Name)
      else if (Result.Attr and faAnyFile <> faDirectory) then DeleteFile(Dir + '\' + Result.Name);
      Found := FindNext(Result) <> 0;
    end;
  FindClose(Result); RemoveDir(Dir);
end;
En aparté, ce code peut être écrit avec un répétez jusqu'à ce que la boucle et ainsi éviter la nécessité pour le Found variable locale.
Aussi, c'est un peu drôle que Found est false si un fichier a été trouvé, et true si un fichier n'a pas été trouvé...
Si aucune des réponses ci-dessous résolu votre problème, vous devez l'accepter en cliquant sur la coche à gauche de la réponse. Si plus d'une réponse résolu votre problème, choisir la "meilleure" à accepter.
Certains de dup: stackoverflow.com/questions/16336761/..., stackoverflow.com/questions/11798783/...

OriginalL'auteur Emi | 2011-04-19