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

Windows Forms Discussion :

Problème pour les fichiers de configuration


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Par défaut Problème pour les fichiers de configuration
    Bijour,

    donc, comme il me l'a été suggéré, je suis allé utiliser ce tuto : http://nico-pyright.developpez.com/t...#Laddappconfig pour faire un fichier de configuration.

    Voici le code dans mon fichier de configuration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <configuration>
      <appSettings>
        <add key="nom" value=""/>
      </appSettings>
    </configuration>
    Ensuite, je veux modifier la value du champ "nom" quand l'utilisateur clique sur un bouton et d'après le tuto', je dois utiliser ce code là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    string nom = ConfigurationManager.AppSettings["nom"];
    Console.WriteLine("{0} - {1}", prenom, nom);
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    config.AppSettings.Settings.Remove("nom");
    config.AppSettings.Settings.Add("nom", "Nouveau nom");
    config.Save(ConfigurationSaveMode.Modified);
    ConfigurationManager.RefreshSection("appSettings");
     
    prenom = ConfigurationManager.AppSettings["nom"];
    Console.WriteLine("{0} - {1}", nom);
    Mais j'ai plusieurs erreurs générées, chaque fois la même :
    Le nom "ConfigurationManager" n'existe pas dans le contexte actuel.
    J'ai pourtant bien ajouté la référence à mon projet...

    Quelqu'un voit d'où cela peut venir ?

    Merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Par défaut
    tu as bien le using System.Configuration; et ajouter la reference a ton projet?

  3. #3
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Je vais me répéter, mais tant pis

    Vu que ton besoin est simple et standard, je te conseille d'utiliser la méthode simple et standard, qui en plus propose un designer directement intégré à Visual Studio et fourni un accès fortement typé à tes settings.

    Dans ton cas, ce sont les items de ta combo que tu veux mettre dans le ficheir de config : pour cela, il te suffit de
    • aller dans les propriétés de ton projet
    • dans la grille de l'onglet paramètre, rajouter un paramètre, lui donner un nom (disons "Truc", et dire qu'il est du type System.Collections.Specialized.StringCollection, et lui donner sa valeur par défaut.
    • Préciser que la portée est "Utilisateur" et non pas application. En gros, les paramètres Application sont propre à toute l'appli, et ne peuvent être changés qu'à la main en éditant le fichier de config, alors que les paramètres users peuvent être modifiés via code (et chaque utilsateur différent de l'appli a son propre fichier de paramètres user)
    • Dans ton code, tu peux lire et écrire TonNamespace.Properties.Settings.Truc ; il te suffit de faire TonNamespace.Properties.Settings.Save() pour écrire tes modifs dans le fichier de config
    • et comme il n'est pas possible de directement binder via le designer de form la propriété Items de la combo, il te suffit dans ton code d'écrire taCombo.DataSource = TonNamespace.Properties.Settings.Truc.
    Voilà, en gros

  4. #4
    Membre très actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Par défaut
    Citation Envoyé par skunkies Voir le message
    tu as bien le using System.Configuration; et ajouter la reference a ton projet?
    J'avais la référence mais j'avais pas vérifié que l'using avait été ajouté :/
    Maintenant ça marche, merci.

    Citation Envoyé par Guulh Voir le message
    [*]Dans ton code, tu peux lire et écrire TonNamespace.Properties.Settings.Truc ; il te suffit de faire TonNamespace.Properties.Settings.Save() pour écrire tes modifs dans le fichier de config[*]et comme il n'est pas possible de directement binder via le designer de form la propriété Items de la combo, il te suffit dans ton code d'écrire taCombo.DataSource = TonNamespace.Properties.Settings.Truc.[/LIST]Voilà, en gros
    Ca ne marche pas :S
    Quand j'essaie ça je ne peux que marquer MonNamepace.Properties.Settings et après mon paramètre n'apparait pas dans la liste déroulante.

    Petite question supplémentaire : une fois que j'ai créé mon paramètre, 'faut que je clique sur Synchroniser ou Afficher le code ?
    Enfin de toute façon quand j'essaie de le synchroniser, j'ai ce message d'erreur qui s'affiche :
    Aucun fichier user.config n'a été trouvé aux emplacements suivants :
    Et y'a pas d'emplacements marqués en plus lol

    PS : Et oui désolé de t'avoir fait répéter Gulth mais ça marchait pas alors j'ai trouvé l'autre solution plus simple mais maintenant autant que j'essaie les deux pour voir laquelle est vraiment mieux.

  5. #5
    Membre très actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Par défaut
    Nan c'est bon j'ai trouvé, en fait c'est pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fiche_De_Poste.Properties.Settings.Truc
    mais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fiche_De_Poste.Properties.Settings.Default.Truc
    Et là effectivement grâce à ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Fiche_De_Poste.Properties.Settings.Default.test.Add(text_realisation); // text_realisation est une variable dans laquelle je stock le nom de l'utilisateur
    cb_test.DataSource = Fiche_De_Poste.Properties.Settings.Default.test; // cb_test est ma comboBox
    Fiche_De_Poste.Properties.Settings.Default.Save();
    ça marche, mais pas complétement, j'ai deux soucis :

    1) Dans ma comboBox, le nom s'affiche bien mais j'ai également un "1" qui s'affiche dans cette dernière
    2) Si je ferme l'appli', quand je la rouvre les données de la comboBox sont plus là, donc le Save() marche pas.

    Ah là là l'informatique, ça marche jamais du premier coup !

    Merci de votre aide.

  6. #6
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Avant de faire Save(), il faut que tu affectes à Truc la liste des objets contenus dans ta combo.

    Je te laisse le soin de convertir Items dans le bon type pour le mettre dans Truc

  7. #7
    Membre très actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Par défaut
    Effectivement ça marche mieux, juste deux petites questions.

    La première, j'ai ça comme code dans mon bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Fiche_De_Poste.Properties.Settings.Default.test2.Add(text_realisation);
                cb_test.DataSource = Fiche_De_Poste.Properties.Settings.Default.test2;
                Fiche_De_Poste.Properties.Settings.Default.test2.Add(System.Convert.ToString(cb_test.Items));
                Fiche_De_Poste.Properties.Settings.Default.Save();
    Est-ce qu'il n'y a pas quelque chose en trop ?

    La seconde, dans mon Form1.Load j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cb_test.DataSource = Fiche_De_Poste.Properties.Settings.Default.test2;
    Et donc à l'ouverture du .exe, il y a la liste des noms déjà saisis dans la comboBox, cependant il contient aussi autre chose :
    System.Windows.Forms.ComboBox+ObjectCollection
    pour chaque nouveau nom inscrit.
    Comment j'enlève ça ?

    Merci d'avance.

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

Discussions similaires

  1. [PHP 5.0] problème de stockage pour les fichier uploder
    Par diblasio dans le forum Langage
    Réponses: 2
    Dernier message: 09/08/2010, 23h47
  2. Problème avec les fichiers ".frx" pour les formulaires!
    Par charly75 dans le forum Général VBA
    Réponses: 2
    Dernier message: 19/08/2009, 16h35
  3. [encoding] Problème pour les fichiers XML avec notepad
    Par lehamster dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 21/11/2006, 15h56
  4. Les fichiers de configuration de comptes avec Samba
    Par tomnie dans le forum Réseau
    Réponses: 4
    Dernier message: 18/03/2004, 08h30
  5. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44

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