Moomoon07
Messages postés223Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention 5 mai 2014
-
1 juin 2006 à 09:13
EmacLi -
5 nov. 2006 à 12:20
Je souhaiterais enregistrer des chaines de caractères dans app.config (ex : chemin de la base de données, taux de TVA ...) et pouvoir les récupérer.
Quelqu'un peut il m'aider ?
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 2 juin 2006 à 09:10
pourquoi n'utilises-tu pas l'assistant fourni par visual studio 2005 ?
Scope, 2 valeurs : Application, User
Si tu mets Application : les valeurs sont propres à l'application, par exemple connexion à la base de donnée...
Si tu mets User : les valeurs sont propres à l'utilisateur, ca peut être le positionnement de la fenêtre, un mot de passe...
pour utiliser l'assistant : clic droit sur le projet, Properties et onglet Settings
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 1 juin 2006 à 09:37
Salut,
Normalement, le fichier de config devrait être en lecture seul. Avec le framework 2 il y a des outils pour aller écrire dedans, mais je te conseille de faire un autre fichier de sauvegarde pour garder une certaine logique (App.config n'est pas fait pour sauver des options d'utilisateur...)
Moomoon07
Messages postés223Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention 5 mai 2014 1 juin 2006 à 09:54
C'est dans une question précédente que quelqu'un m'a dit d'utiliser app.config, et qu'il était fait pour ca. Au départ je voulais utiliser un fichier.txt et stocker mes chaine dedans grace à l'indice du numéro de ligne.
Moi ce que je veux c'est que mon programme crait un fichier quel qu'il soit à son 1er lancement, et qu'il stocke des chaines de caractères qui sont rentré dans un formulaire.
Au lancement suivant, il récupère ces chaines en lecture.
Est ce que tu peux me donner un exemple de création de fichier config, et d'écriture de 1 ou 2 paramètres, puis un exemple de lecture ?
private void StockerChaine(string Chaine, string chemin du fichierconfig, string ou int NomduParametre)
// crée le fichier config si inexistant
// stocke la chaine dans fichierconfig
private string RecupererChine(string chemin du fichierconfig, string ou int NomduParametre)
// retourne la chaine stockée sous NomduParametre
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 1 juin 2006 à 10:06
Salut,
Je pense que tu as dû mal comprendre la réponse.
Si ton application a besoin de constantes (qui ne changeront donc jamais, ou alors occasionellement manuellement) alors tu as besoin d'un fichier de config.
Dans ce cas, tu livres ton application avec le fichier déjà crée (et au pire des cas, l'utilisateur peut aller modifier les valeurs manuellement dans le fichier).
Si par contre, tu penses mettre des options dans ton programme, et qu'il faut les sauver (par exemple chaque fois que l'utilisateur quitte le programme) alors ce n'est pas un fichier de config du type app.config que tu as besoin, mais d'un autre fichier (pas text comme tu le propose, mais plutôt Xml).
Alors, dans quel cas tu es ?
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 1 juin 2006 à 10:24
Heu c'est moi qui t'ai conseillé Moomoon07 et je confirme... utilise un fichier de config, c'est fait pour ça.
Voila la procédure :
- Dans ton projet, choisis : "Ajouter un nouvel élément", puis choisi "Fichier de configuration (settings files en VO)", qui va te créer un fichier MesSettings.settings
- Ensuite, double clic sur cet élement pour l'ouvrir, ca t'ouvre un designer spécial : Tu peux ajouter de nouveau parametre, par exemple :
-Name : "MyConnectionStirng",
-Type : string,
-Scope : application
-Value : "blablabla"
ensuite pour y accéder depuis le code, il te suffit d'appeler le parametre comme cela :
MesSettings.MyConnectionString
(si tu n'a pas accès a "MesSettings", ouvre le fichier MesSettings.designer.cs et regarde si c'est bien le nom de la classe qu'il a généré, et vérifie le namespace pour voir si tu dois rajouter un using...)
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 1 juin 2006 à 10:31
Heu je viens de relire les posts au dessus.. et je me pose une question :
- Tu veux stocker des paramètres (modifiables ou non par l'utilisateur, peu importe) dont tu connais déja le nombre et le type?
- Ou tu veux stocker des données, de différents types/nombre à chaque utilisation ?
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 1 juin 2006 à 10:41
Ma fois, chacun sa vision des choses et sa façon de programmer, mais la tienne semble à priori passablement différente de la mienne !
Moi je trouve qu'il est bon de séparer les deux types de configurations qui sont relativement différentes : un fichier de configuration type xml qui est constamment modifé (en fonction de l'utilisateur, très simple à faire avec la Serialization), et l'app.config (xml aussi d'ailleurs) réservé à des fins plus spécifiques et qui ne doit généralement pas être modifié (ou peu souvent).
Maintenant évidemment tu peux à nouveau prétendre tout le contraire puisque dans le framework 2 y'a des classes pour écrire dedans...
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 1 juin 2006 à 10:46
Bah disons que je n'ai jamais vu nul part que les fichier de config ne devait pas etre modifié ou peux souvent... et comme y'a tout ce qui fait pour s'en servir et de facon encore plus simple qu'en serialisant (ce qui est deja on ne peux plus simple on est d'accord), pourquoi se priver... mais bon ca depend de ce qu'il veut faire : si c'est stocker le paramétrage / les options de son appli c'est ce que je ferai, si c'est pour stocker des données qui ne sont pas de la config, mais des données quelquonque, alors je ferai effectivement comme tu le conseil : passer pas la sérialisation dans un fichier xml (mais j'ai le souvenir d'avoir lu sur son premier post qu'il voulait stocker des parametres... je ne suis plus tres sur)
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 1 juin 2006 à 10:55
Oui on débat :)
Je viens d'aller voir ton lien sebmafate... Je suis donc le seul a utiliser les "fichiers de configuration" pour stocker ma configuration ? J'ai vraiment du louper un truc la...
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 1 juin 2006 à 11:03
Sûrement pas le seul, mais c'est aussi une habitude qui est restée étant donné qu'avec le framework 1 on ne pouvait pas écrire dedans (la question ne se posait même pas ).
Moi je trouve bien de faire une différence entre les deux fichiers mais bon, chacun son truc quoi...
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 1 juin 2006 à 12:22
On peut utiliser le fichier de configuration pour les données personelles, l'élément AppSettings et la pour ça, les sections de configuration aussi, d'ailleurs VS les utilise ( Properties.Settings.. ).. Après si on préfère on peut aussi faire son propre fichier XML.
Moomoon07
Messages postés223Date d'inscriptionmercredi 31 mai 2006StatutMembreDernière intervention 5 mai 2014 1 juin 2006 à 15:28
Wouah ! je devrais regarder les réponses plus souvent moi ... désolé, je suis un NewBe du forum !
Merci pour toutes ces réponses, je pense que ca va bien m'aider !
Ce que j'ai fait en fait c'est un formulaire avec des textbox où les utilisateurs de mon logiciel (chacun sur un ordi différent et qui ont une base de données commune, donc un chemin d'accès différent) peuvent taper le chemin de la base de données, et le chemin du dossier contenant mes documents types (word et excel). Ce que je veux c'est que ces chemins (sous forme de chaines de caractères donc) soient sauvegardés dans un fichier config que mon prog crée a son 1er lancement s'il n'existe pas, et par la suite les récupères à son lancement pour accéder à la base de données. De plus je voudrais stocker quelques variables telles que des frais de port ou le taux de TVA, de manière a ce que ces valeur soient dynamique, et qu'on ne soit pas obligé d'éditer le code source pour les modifier (on sait jamais, la TVA peut changer un jour ... )
Mais y a t'il un "using" à utiliser ? Parce que VisualStudio me dit que MonFichier n'existe pas dans le contexte courant. (Mon fichier de config s'appelle pourtant bien MonFichier.config, et je le retrouve bien dans mon explorateur de solutions.