Supprimer un dossier [Résolu]

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

Votre réponse

2 réponses

Meilleure réponse
Messages postés
1651
Date d'inscription
samedi 10 juillet 2004
Dernière intervention
25 juillet 2014
1 mars 2006 à 16:06
3
Merci
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

Merci jlen100 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de jlen100
Meilleure réponse
Messages postés
210
Date d'inscription
mercredi 5 mars 2003
Dernière intervention
29 mars 2013
1 mars 2006 à 18:01
3
Merci
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

Merci sisi231 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

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.