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

VC++ .NET Discussion :

Ecrire dans un fichier .ini


Sujet :

VC++ .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut Ecrire dans un fichier .ini
    Bonjour,

    j'utilise depuis peu Visual c++ 2008 Express Edition afin de développer une petite appli en c++.

    J'ai besoin d'écrire 2 informations dans un fichier Ini, sauf que je ne m'en sors pas pour utiliser la classe CWinApp.

    que dois je déclarer pour l'utiliser?

    sur la faq j'ai trouvé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CWinApp::WriteProfileString 
    BOOL WriteProfileString( LPCTSTR lpszSection, LPCTSTR lpszEntry, LPCTSTR lpszValue );
    Mais si je tape bêtement ma méthode "WriteProfileString" avec les bons arguments, ca ne fonctionne pas. Donc je suppose que je dois déclarer cette class CWinapp?

    merci par avance

  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
    CWinApp c'est en MFC qui n'existe pas dans la version express

    Regarde plutot celle-ci : http://msdn.microsoft.com/en-us/libr...04(VS.85).aspx

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    Merci!

    j'ai donc fait un essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private: System::Void button_WriteFichier_Click(System::Object^  sender, System::EventArgs^  e) {
     
    			 WriteProfileString("ConfigRoot","Source","test");
     
     
    		 }
    Par contre, un message d'erreur m'est retourné:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     error C2664: 'WriteProfileStringW'*: impossible de convertir le paramètre 1 de 'const char [11]' en 'LPCWSTR'
    1>        Les types pointés n'ont aucun rapport entre eux*; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
    J'en conclut donc qu'il ne comprend pas que ce sont des valeurs de type string que j'ai passé en paramètre.

  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
    tu es en unicode, utilise la macro TEXT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WriteProfileString(TEXT("ConfigRoot"),TEXT("Source"),TEXT("test"));

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    merci

    Depuis , j'ai évolué un peu le code et je veux que le dernier paramètre soit non plus inscrit en "dur" dans l'appel de la méthode, mais que ca passe par une variable.

    Donc j'ai déclaré :

    et quand j'appelle ma méthode j'utilise donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private: System::Void button_WriteFichier_Click(System::Object^  sender, System::EventArgs^  e) {
     
    			 WriteProfileString(TEXT("ConfigRoot"),TEXT("SourceRoot"),TEXT(DossierSource));
    			 WriteProfileString(TEXT("ConfigRoot"),TEXT("CibleRoot"),TEXT(DossierCible));
     
    		 }
    Par contre j'ai un message d'erreur du fait de la macro TEXT, ce message est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error C2065: 'LDossierSource'*: identificateur non déclaré
    La j'avoue je seche...

    Merci d'avance

  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
    TEXT fonctionne pour les chaines "tapées en dur", là, c'est une String de .Net, il faut que tu la convertisses en w_char * si t'es en unicode, sinon en char*

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

Discussions similaires

  1. [WD11] Ecrire dans un Fichier .INI
    Par hanitax dans le forum WinDev
    Réponses: 5
    Dernier message: 29/01/2012, 17h00
  2. Ecrire dans un fichier ini
    Par gazelle dans le forum Langage
    Réponses: 1
    Dernier message: 13/06/2007, 13h45
  3. lire et ecrire dans les fichiers INI sans MFC
    Par skeltryx dans le forum C++/CLI
    Réponses: 10
    Dernier message: 24/04/2007, 09h03
  4. ecrire dans un fichier .ini
    Par warubi dans le forum C++
    Réponses: 4
    Dernier message: 08/01/2007, 20h11

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