IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

mon dossier ne se supprime pas si son chemin est dans une variable


Sujet :

MFC

  1. #1
    Membre confirm�
    Femme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2009
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 36
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Mai 2009
    Messages : 164
    Par d�faut mon dossier ne se supprime pas si son chemin est dans une variable
    bonjour,

    tout d'abord, pardon pour l'intitul�.. je savais pas quoi mettre...

    voici mon probleme...

    je parcours tous les dossiers depuis un r�pertoire pr�cis. Si un dossier est vide, je le supprime grace � cette methode:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    bool CTemp::ViderRepertoire( LPCTSTR repertoire, bool suppressionDefinitive /*= true*/ )
    {
     
    	if (PathFileExists(repertoire))
    	{
    		SHFILEOPSTRUCT sh;
    		sh.hwnd = NULL;
    		sh.wFunc = FO_DELETE;
    		sh.pFrom = repertoire;
    		sh.pTo = NULL;
    		sh.fFlags = FOF_NOCONFIRMATION|FOF_SILENT;
    		if(!suppressionDefinitive)
    			sh.fFlags |= FOF_ALLOWUNDO;
    		sh.fAnyOperationsAborted = FALSE;
    		sh.lpszProgressTitle = NULL;
    		sh.hNameMappings = NULL;
     
    		return (SHFileOperation(&sh)==0);
     
     
    	}
    	else 
    	{
    		AfxMessageBox("repertoire inexistant");
    		return 0;
    	}
     
    }
    appel:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    ViderRepertoire(ModifierChemin(path));
    o� ModifierChemin va en fait transformer tous les "\" en "\\"

    bon mon probl�me est que de cette facon, mon dossier n'est pas supprim�, alors que si je mets le chemin en dur: ex "C:\\temp\\program files" bah l� �a marche.

    j'ai utilis� cett exemple mais si je l'appelle de cette facon:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    CString chemin= "C:\\temp\\program files";
    ViderRepertoire(chemin);
    �a marche pas non plus...

    quelqu'un pourrait m'expliquer pourquoi??

    mercii

  2. #2
    Membre confirm�
    Femme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2009
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 36
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Mai 2009
    Messages : 164
    Par d�faut
    bon apr�s de nombreuses recherche.. j'en suis venue au fait que, vu que le parametre de ViderRepertoire est un LPCSTR (oui j'ai modifier) et que la variable que j'entre est un CString et bien ca bug.. (alors que normalemnt la conversion se fait toute seule).. MAIS LA... surement avec le
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    sh.pFrom = repertoire;
    bah c'est pas reconnu... enfin je pars de cette hypothese... cependant.. j'arrive pas a convertir mon CString en LPCSTR... si quelqu'un pourrai me renseigner...

    merci

  3. #3
    Membre �prouv�
    Avatar de TheGzD
    Homme Profil pro
    Ing�nieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Ing�nieur/ Docteur en Informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327

  4. #4
    Membre confirm�
    Femme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2009
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 36
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Mai 2009
    Messages : 164
    Par d�faut
    Citation Envoy� par TheGzD Voir le message
    deja essay�

    j'ai essay�
    -getbuffer
    -(LPCSTR)(LPCTSTR)
    -(LPCSTR)

    ca marche pas.. et quand je remplace mon parametre LPCSTR par un CString
    et que je met
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    sh.pFrom = (LPCSTR)repertoire;
    le sh.pFrom il contient bien le chemin.. mais ca supprime toujours pas..

  5. #5
    Membre actif
    Inscrit en
    Octobre 2008
    Messages
    56
    D�tails du profil
    Informations personnelles :
    �ge : 37

    Informations forums :
    Inscription : Octobre 2008
    Messages : 56
    Par d�faut
    Dans ton post pr�c�dent tu avais un TCHAR intercal� :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    	int s = strlen(repertoire);
    	TCHAR * rep = new TCHAR[strlen(repertoire)+2];
    	strcpy(rep, repertoire);
    	rep[strlen(repertoire)+1] = '\0';
    avant

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    	SHFILEOPSTRUCT sh;
    (...)
    	sh.pFrom = rep;
    que tu n'as plus maintenant.

    Pourquoi avoir abandonn� la conversion en TCHAR?

  6. #6
    Membre confirm�
    Femme Profil pro
    D�veloppeur Web
    Inscrit en
    Mai 2009
    Messages
    164
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 36
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Mai 2009
    Messages : 164
    Par d�faut
    je l'ai abandonn� parce qu'elle marchait encore moins (ca veut dire que m�me le chemin plac� en dur ca marchait pas)


    RESOLUTION du probleme!!
    J'ai cr�� ma propre m�thode de suppression! c'est beaucoup plus simple que de se prendre la t�te avec ca.

    Bon c'est pas moi qui l'a cr�� c'est mon tuteur lol mais bon en fait c'est pas une m�thode tr�s compliqu�e.

    voila
    merci pour ceux qui ont bien voulu me r�pondre.

    Bonne journ�e

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [PB ODBC] Ce serveur n'existe pas ou son acc�s est refus�
    Par meufeu dans le forum MS SQL Server
    R�ponses: 3
    Dernier message: 28/12/2015, 18h02
  2. R�ponses: 1
    Dernier message: 07/05/2014, 18h27
  3. R�ponses: 8
    Dernier message: 19/07/2010, 15h50
  4. chercher les contr�les dans un usf lorsque son nom est dans une variable
    Par Jean-Pierre49 dans le forum Macros et VBA Excel
    R�ponses: 6
    Dernier message: 22/04/2008, 08h14
  5. R�ponses: 5
    Dernier message: 07/11/2007, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo