Supprimer un dossier

Résolu
Signaler
Messages postés
38
Date d'inscription
lundi 4 avril 2005
Statut
Membre
Dernière intervention
1 mars 2007
-
Messages postés
207
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
29 mars 2013
-
Bonjour, dans mon programme j'utilise Mk_dir pour créer un dossier et j aimerais savoir comment faire pour suprimmer un dossier. Merci d'avance

2 réponses

Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
12
salut c'est RmDir qu'il faut utiliser:

procedure RmDir(const S: string); overload;



procedure RmDir(P: PChar); overload;





Description



RmDir supprime le sous-répertoire avec le chemin spécifié par S ou P.

attention

Si ce chemin n'existe pas, s'il n'est pas vide, ou s'il s'agit du répertoire en cours, une erreur d'E/S se produit.



@+

jlen
Messages postés
207
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
29 mars 2013
5
Si je peux me permettre et si on parle bien de Windows :

dans l'aide de Delphi je vois :

Efface un répertoire vide existant.


Unité


RemoveDir

SysUtils


Catégorie


routines de gestion de fichiers


function RemoveDir(const Dir: string): Boolean;


Description


Appelez RemoveDir pour supprimer le répertoire spécifié par le paramètre Dir. La valeur renvoyée est à true si un répertoire a été effacé, false si une erreur s'est produite. Le répertoire doit être vide pour pouvoir être supprimé.

Pour un répertoire non vide on peut par exemple utiliser la fonction "maison" suivante :

procedure DeleteDir (dir :string);// efface un dossier mm plein
var
lpFileOp:TSHFILEOPSTRUCTA;
TabFrom:array[0..255] of char;
i:integer;
begin
//effacement du dossier
if directoryexists(dir) then
begin
For i:=0 to length(dir)-1 do TabFrom[i]:=dir[i+1];
TabFrom[length(dir)]:=#0;
TabFrom[length(dir)+1]:=#0;


lpFileOp.Wnd:=hwnd(0);
lpFileOp.wFunc:=FO_DELETE; // l'action sera un effacement
lpFileOp.pFrom:=TabFrom; // contient le ou les fichiers /dossiers à recopier
lpFileOp.pTo:='';
lpFileOp.fFlags:=FOF_NOCONFIRMATION+FOF_SILENT;
SHFileOperation(lpFileOp); // procède à l'effacement


end;
end;

après avoir ajouté ShellAPI à la clause uses, cette fonction est inspirée du tut suivant :

http://www.phidels.com/php/index.php3?page=../php/pagetelechargementzip.php3&id=152

il y a d'autres méthodes de plus bas niveau.

Quand à la création de dossier j'utilise CreateDir de FileCtrl.

Mais si tu parlais d'Unix dis-le moi.

A noter que d'autres méthodes (tjrs en Windows) consistent à utiliser Shellexecute pour lancer des commandes telles que del ou deltree par exemple.

Cordialement.

SISI231