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][Or not]Enregistrement du contenu de 2 ComboBox


Sujet :

MFC

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2002
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 31
    Points : 24
    Points
    24
    Par défaut [MFC][Or not]Enregistrement du contenu de 2 ComboBox
    Bonjour à tous.

    Je souhaiterais enregistrer le contenu de deux ComboBox dans un fichier texte ( tout simple ) que je viendrais ecrire lors de la fermeture de mon application et recharger lors de son ouverture.
    Y Aurait il des méthodes simples pour y parvenir ?
    Merci d'avance de vos suggetions.

  2. #2
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    un exemple tout simple:
    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
    36
    37
    38
     
    {
    		// test ecriture
    		CStdioFile file;
    	   if( !file.Open("bidon.txt", CFile::modeCreate
    		   | CFile::modeWrite | CFile::typeText ) )
    	   {
    	   #ifdef _DEBUG
    		  afxDump << "erreur d'ouverture fichier" << "\n";
    	   #endif   
    	   }
     
    	   CString str;
    	   for(int i=0;i<m_ListBox.GetCount();i++)
    	   {
    			m_ListBox.GetText(i,str);
    			str+="\n";
    			file.WriteString(str);
    	   }
    	   file.Close();
    }
    m_ListBox.ResetContent();// vidage listbox
    // test relecture
    CStdioFile file;
    if( !file.Open("bidon.txt", CFile::modeNoTruncate   
    | CFile::modeRead | CFile::typeText ) )
    {
    	#ifdef _DEBUG
    	afxDump << "erreur d'ouverture fichier" << "\n";
    	#endif   
    }
    file.SeekToBegin();
    CString str;
    while(file.ReadString(str))	
    {				
    	m_ListBox.AddString(str);
    }
    file.Close();

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2002
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 31
    Points : 24
    Points
    24
    Par défaut [MFC][Or not] Enregistrement du contenu de deux ComboBox
    Citation Envoyé par farscape
    salut,
    un exemple tout simple:
    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
    36
    37
    38
     
    {
    		// test ecriture
    		CStdioFile file;
    	   if( !file.Open("bidon.txt", CFile::modeCreate
    		   | CFile::modeWrite | CFile::typeText ) )
    	   {
    	   #ifdef _DEBUG
    		  afxDump << "erreur d'ouverture fichier" << "\n";
    	   #endif   
    	   }
     
    	   CString str;
    	   for(int i=0;i<m_ListBox.GetCount();i++)
    	   {
    			m_ListBox.GetText(i,str);
    			str+="\n";
    			file.WriteString(str);
    	   }
    	   file.Close();
    }
    m_ListBox.ResetContent();// vidage listbox
    // test relecture
    CStdioFile file;
    if( !file.Open("bidon.txt", CFile::modeNoTruncate   
    | CFile::modeRead | CFile::typeText ) )
    {
    	#ifdef _DEBUG
    	afxDump << "erreur d'ouverture fichier" << "\n";
    	#endif   
    }
    file.SeekToBegin();
    CString str;
    while(file.ReadString(str))	
    {				
    	m_ListBox.AddString(str);
    }
    file.Close();
    Dans ton exemple, comment pourrais je faire pour completer le fichier.txt par une clé ( style [CLE1] / [CLE2] ) et afin de permettre à l'appli de recharger tout ce qu'il y a sous [CLE1] dans ma combo 1 et tout ce qu'il y a sous [CLE2] dans ma combo 2 ?
    Idéalement mon fichier serais structuré comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [CLE1]
    chaine1
    chaine2
    chaine3
     
    [CLE2]
    chaine1
    chaine2
    chaine3
    chaine4

  4. #4
    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
    Points : 17 323
    Points
    17 323
    Par défaut
    re,
    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
     
    CString str,strClef;
       AfxGetApp()->WriteProfileString("Section",NULL,NULL);
       for(int i=0;i<m_ListBox.GetCount();i++)
       {
    		m_ListBox.GetText(i,str);
    		strClef.Format("%d",i);
    		AfxGetApp()->WriteProfileString("Section",strClef,str);		
       }
       str.Format("%d",m_ListBox.GetCount());
       AfxGetApp()->WriteProfileString("Section","Size",str);
     
       m_ListBox.ResetContent();// vidage listbox
     
       int nSize=atoi(AfxGetApp()->GetProfileString("Section","Size","0"));
       for(i=0;i<nSize;i++)
       {
    		strClef.Format("%d",i);		 
     
    m_ListBox.AddString(AfxGetApp()->GetProfileString("Section",strClef,""));
       }
    ce code genere un fichier ini dans le repertoire windows portant le nom de l"application.
    pour le changement du nom et emplacement par defaut voir post it faq
    ou utiliser les memes fonctions mais par les api 32 :
    WritePrivateProfileString
    GetPrivateProfileString


  5. #5
    Membre à l'essai
    Inscrit en
    Août 2002
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 31
    Points : 24
    Points
    24
    Par défaut [MFC][Or not] Enregistrement du contenu de deux ComboBox
    Citation Envoyé par farscape
    re,
    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
     
    CString str,strClef;
       AfxGetApp()->WriteProfileString("Section",NULL,NULL);
       for(int i=0;i<m_ListBox.GetCount();i++)
       {
    		m_ListBox.GetText(i,str);
    		strClef.Format("%d",i);
    		AfxGetApp()->WriteProfileString("Section",strClef,str);		
       }
       str.Format("%d",m_ListBox.GetCount());
       AfxGetApp()->WriteProfileString("Section","Size",str);
     
       m_ListBox.ResetContent();// vidage listbox
     
       int nSize=atoi(AfxGetApp()->GetProfileString("Section","Size","0"));
       for(i=0;i<nSize;i++)
       {
    		strClef.Format("%d",i);		 
     
    m_ListBox.AddString(AfxGetApp()->GetProfileString("Section",strClef,""));
       }
    ce code genere un fichier ini dans le repertoire windows portant le nom de l"application.
    pour le changement du nom et emplacement par defaut voir post it faq
    ou utiliser les memes fonctions mais par les api 32 :
    WritePrivateProfileString
    GetPrivateProfileString

    ça c'est le top !
    merci

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

Discussions similaires

  1. [MFC/vs2005] Comment enregistrer un CString dans CFile?
    Par hiko-seijuro dans le forum MFC
    Réponses: 4
    Dernier message: 17/05/2006, 08h58
  2. Réponses: 3
    Dernier message: 27/03/2006, 19h49
  3. [FTP] Enregistrement du contenu d'un répertoire
    Par tissard dans le forum Langage
    Réponses: 14
    Dernier message: 17/11/2005, 11h40
  4. Réponses: 11
    Dernier message: 22/06/2005, 11h04
  5. Enregistrer le contenu d'un TRichEdit en rtf ou doc
    Par Harry dans le forum Composants VCL
    Réponses: 4
    Dernier message: 04/10/2004, 11h47

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