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éer un répertoire


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut [MFC] créer un répertoire
    yo à tous,

    j'ai cherché dans la FAQ et sur le forum mais je n'ai pas trouvé (enfin si, j'ai trouvé un topic qui apparamment était le même que celui-ci, mais le lien n'était pas valide).

    voilà le bin's. j'ai un bouton 'ouvrir fichier', j'aimerais me positionner directement dans un répertoire précis (ça c'est fait), mais je ne suis pas sur qu'il existe. s'il n'existe pas j'aimerais le créer et/ou spécifier à l'utilisateur que le répertoire n'existe pas.

    comment que c'est-y qu'on fait ça?

    merci

    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
    30
    31
    32
    33
    34
    35
    void CTab3::OnTab3BtnFileopen9() 
    {
    	// TODO: Add your control notification handler code here
    	CFileDialog OpenFileDlg(TRUE,
    						"*.cap",
    						"",
    						 OFN_EXTENSIONDIFFERENT 
    						|OFN_HIDEREADONLY 
    						|OFN_NONETWORKBUTTON 
    						|OFN_OVERWRITEPROMPT,
    						"CAP Files (*.cap)|*.cap||",
    						this);
    	// Initialisation du répertoire de départ
    	OpenFileDlg.m_ofn.lpstrInitialDir = ".\\config";
     
    	// Affichage de la fenêtre Ouverture et capture le résultat
    	if (OpenFileDlg.DoModal()==IDOK)
    	{
    		// Récuparation du nom et du path du fichier sélectionné
    		CString csFile = OpenFileDlg.GetFileName();
    		CString csPath = OpenFileDlg.GetPathName();
     
    		if((_access(csPath,0))!=-1)
    		{
    			if((_access(csPath,4))!=-1)
    			{
     				// Conversion du nom du fichier: LPCTSTR --> CString --> const char *
    				LPCTSTR lpszFile(csFile);
    				string	sFile(lpszFile);
    				const char * chFile = sFile.c_str();
    				m_editTab3FichierDefaut.SetWindowText(chFile);
    			}
    		}
    	}
    }

  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 répertoire, CreateDirectory(...)

  3. #3
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    Aaaaaaaaaaaaaaaaah mais oui ! je ne m'en souvenait plus. je l'ai vu ya pas longtemps sur le forum c'te commance.
    merci

    et pour vérifier si un répertoire existe ou non?

  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
    je crois que tu peux utiliser GetFileAttributes, à confirmer

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    la meme chose et tu testes que GetLastError()==ERROR_ALREADY_EXISTS

  6. #6
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    je me lève et je confirme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	// Initialisation du répertoire de départ
    	if (GetFileAttributes(".\\config") == FILE_ATTRIBUTE_DIRECTORY)
    	{
    		OpenFileDlg.m_ofn.lpstrInitialDir = ".\\config";
    	}
    	else AfxMessageBox("le répertoire n'existe pas");
    si c'est différent de FILE_ATTRIBUTE_DIRECTORY, alors c'est un fichier ou ça n'existe pas.

    Merci bien

  7. #7
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    Citation Envoyé par farscape
    salut,
    la meme chose et tu testes que GetLastError()==ERROR_ALREADY_EXISTS
    à quoi sert le GetLastError()? je n'ai pas très bien compris dans la doc.
    quel genre d'erreur pourrait se produire ici?

  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
    en fait, si tu crées ton répertoire et qu'il existe pas, pas d'erreur
    mais si tu crées ton répertoire et qu'il existe, GetLastError te renvoie ERROR_ALREADY_EXISTS

    Farcape te proposait cette solution, créer automatiquement le repertoire, et dans le cas de cette erreur (ERROR_ALREADY_EXISTS), ca voulait dire qu'il existait déjà

  9. #9
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    aaaaaaaaaaaah ok, j'avions pas compris

    merci à tous les 2

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MFC] Créer dynamiquement une classe
    Par vanitom dans le forum MFC
    Réponses: 9
    Dernier message: 11/12/2004, 13h23
  2. MFC - créer une ligne de séparation
    Par Amphitryon dans le forum MFC
    Réponses: 4
    Dernier message: 25/11/2004, 16h54
  3. Comment créer un répertoire en asp
    Par PrinceMaster77 dans le forum ASP
    Réponses: 11
    Dernier message: 28/10/2004, 16h31
  4. [MFC]Créer une DLL BIS
    Par Furtif_00 dans le forum MFC
    Réponses: 5
    Dernier message: 28/06/2004, 14h48
  5. Réponses: 4
    Dernier message: 13/05/2004, 13h15

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