Supprimer un dossier [Résolu]

bobstien 39 Messages postés lundi 4 avril 2005Date d'inscription 1 mars 2007 Dernière intervention - 1 mars 2006 à 15:48 - Dernière réponse : sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention
- 1 mars 2006 à 18:01
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
Afficher la suite 

2 réponses

Répondre au sujet
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 1 mars 2006 à 16:06
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jlen100
sisi231 210 Messages postés mercredi 5 mars 2003Date d'inscription 29 mars 2013 Dernière intervention - 1 mars 2006 à 18:01
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sisi231

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.