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 :

[MFC] cr�ation d'un nouveau fichier sous vc++


Sujet :

MFC

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut [MFC] cr�ation d'un nouveau fichier sous vc++
    Bonjour,

    Quelle est la fonction qui permet de cr�e un dossier qui doit contenir diff�rent fichier qui sont cr�e ult�rieurement?

    Je n'ai rien trouv� pour l'instant, si une �me charitable veut bien �clairer ma lanterne..

    merci

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    Pour cr�er un repertoire, CreateDirectory

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    merci pour ton aide, par contre, j'ai regarder dans les tuto pour voir comment on test si un dossier existe mais la fonction qui est donn� (opendir()) n'est pas reconnu en c++, je crois que c'est du PHP. Comment je peut faire alors pour tester si mon dossier existe?

    merci

  4. #4
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if (GetFileAttributes(path) & FILE_ATTRIBUTE_DIRECTORY)

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    voila ce que j'ai fais:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
     
    if (!(GetFileAttributes(chemin) & FILE_ATTRIBUTE_DIRECTORY))
    	{
    		CreateDirectory(chemin,NULL);
    	}
    mais le compilateur ne rentre jamais dans la boucle condition, que le dossier existe ou pas...

    j'ai essay� plusieurs solutions mais rien n'y fais, et m�me avec l'aide je ne comprend pas comment utiliser cette fontion de test!

    Pourrais-tu me faire une br�ve explication de ce que je doit faire?

    merci beaucoup.

  6. #6
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    Citation Envoy� par Rafoo
    voila ce que j'ai fais:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
     
    if (!(GetFileAttributes(chemin) & FILE_ATTRIBUTE_DIRECTORY))
    	{
    		CreateDirectory(chemin,NULL);
    	}
    mais le compilateur ne rentre jamais dans la boucle condition, que le dossier existe ou pas...

    j'ai essay� plusieurs solutions mais rien n'y fais, et m�me avec l'aide je ne comprend pas comment utiliser cette fontion de test!

    Pourrais-tu me faire une br�ve explication de ce que je doit faire?

    merci beaucoup.
    Que vaut "chemin" ?
    GetFileAttributes(chemin) & FILE_ATTRIBUTE_DIRECTORY) teste le chemin et si c'est un r�pertoire, il rentre dans la condition.

    Donc, ton programme est bon. Si le r�pertoire n'existe pas, alors je le cr��.

    Par contre, il doit forc�ment rentrer dedans, si le r�pertoire n'existe pas. C'est pour ca qu'il faudrait connaitre la valeur de chemin. (n'as-tu pas oublier de doubler les \)

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    ma variable chemin vaut :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    chemin ="C:\\Documents and Settings\\rdigiusto.VARIOPTIC\\Bureau\\test\\"+lot;
    lot d�tient le nom du r�pertoir � cr�e s'il n'existe pas...

    Sans le '!' il ne rentre jamais dans la condition et avec le '!' il y rentre a chaque fois!!

    moi pas comprendre quoi pas marcher...?!?

  8. #8
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    chemin est un char * ? string ? CString ?

    si tu rentres dans la boucle en enlevant le ! c'est que le r�pertoire existe

    tu as essay� de tracer en debug ?

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    ma variable chemin est un CString.

    Et j'ai en fait tester mon programme dans les deux cas suivant:

    - Avec le dossier existant
    - Sans le dossier.

    mais sans le '!', en tra�ant avec le debugger, le compilateur ne rentre pas dans la boucle.

    avec le '!', le compilateur rentre � chaque fois dans la boucle, que le dossier existe ou pas...

    bizzard, non?

  10. #10
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    je te propose de faire un test simple

    en admettant que ton windows soit install� sur c:\winnt

    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
    if (GetFileAttributes("c:\\winnt") & FILE_ATTRIBUTE_DIRECTORY)
    {
        MessageBox(NULL, "C:\\winnt existe", "", 0);
    }
    else
    {
        MessageBox(NULL, "C:\\winnt n'existe pas", "", 0);
    }
     
    if (GetFileAttributes("c:\\winnt2") & FILE_ATTRIBUTE_DIRECTORY)
    {
        MessageBox(NULL, "C:\\winnt2 existe", "", 0);
    }
    else
    {
        MessageBox(NULL, "C:\\winnt2 n'existe pas", "", 0);
    }
    le but �tant de voir que winnt existe, et pas winnt2

  11. #11
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    J'ai essay� ton test et j'ai les deux message... winnt existe et winnt2 existe!!

    Je ne comprend pas pourquoi, c'est trop bizzard......

  12. #12
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    je t'avouerai que je sais pas trop l�.

    Je te propose alors d'utiliser une autre solution
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    	WIN32_FILE_ATTRIBUTE_DATA attr;
    	if (GetFileAttributesEx("c:\\winnt", GetFileExInfoStandard, &attr))
    		if (attr.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    			MessageBox(NULL, "C:\\winnt existe", "", 0);
    		else
    			MessageBox(NULL, "C:\\winnt n'est pas un repertoire", "", 0);
    	else
    		MessageBox(NULL, "C:\\winnt n'existe pas", "", 0);

  13. #13
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    Alors maintenant, il me dit que 'winnt n'existe pas'!!!

    c'est la 4�me dimension!!!

  14. #14
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    euh ... il existe bien ?

    que renvoit GetLastError() ?

  15. #15
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    je viens de modifier ton code pour l'adapter au mien, et cette nouvelle version marche tr�s bien... Alors pourquoi il n'a pas trouv� winnt je ne sais pas (j'ai fais une recherche sur le c: et j'ai pas trouv� de winnt!!!), mais l'important c'est que �a marche dans mon code...

    merci beaucoup pour ton aide.

  16. #16
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Il n'a pas trouv� C:\WinNT car chez toi, Windows n'est pas install� dans ce dossier... (Il est probablement install� dans C:\Windows)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  17. #17
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    135
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 135
    Par d�faut
    h� voui!!!

    donc tout va bien dans le meilleur des mondes!!!

    merci � toutes les personnes qui trouve du temps pour r�pondre aux questions aussi farfelu que les miennes.

    et merci nico-pyright(c), tu m'a tir� une grosse �pine du pied.

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

Discussions similaires

  1. R�ponses: 3
    Dernier message: 16/05/2011, 21h57
  2. Mod�le WPF introuvable lors de cr�ation d'un nouveau projet sous VS2008
    Par Chakalaka dans le forum Windows Presentation Foundation
    R�ponses: 2
    Dernier message: 07/02/2010, 17h49
  3. Cr�ation d'un nouveau Header sous JSP
    Par zaoueche dans le forum Tomcat et TomEE
    R�ponses: 9
    Dernier message: 11/01/2010, 15h56
  4. Compacter une BD = cr�ation d'un nouveau fichier
    Par mimir123 dans le forum Mod�lisation
    R�ponses: 2
    Dernier message: 16/05/2008, 20h32
  5. [DOM] probl�me de cr�ation d'un nouveau fichier XML
    Par nonna dans le forum Format d'�change (XML, JSON...)
    R�ponses: 6
    Dernier message: 29/04/2008, 10h48

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