plop3000
Messages postés135Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention 7 avril 2012
-
8 juin 2007 à 11:37
plop3000
Messages postés135Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention 7 avril 2012
-
8 juin 2007 à 15:46
Bonjour à tous,
Je souhaite faire un fichier de configuration pour une application. Je l'ai fait et j'arrive bien à récupérer les valeurs qui se trouvent dans ce fichier mais je ne parviens pas à écrire dans ce fichier.
Mon but serait de regarder si dans ce fichier il y a déjà une ligne (prenons comme exemple la ligne suivante : <
addkey="maCle
"
value="maValeur
"
/>
Si cette ligne n'existe pas, je voudrais l'ajouter à mon fichier app.config, et si cette ligne existe déjà, je voudrais "simplement" modifier le champ valeur. J'ai donc penser faire une fonction qui permettent d'écrire dans le fichier de configuration mais je n'y parviens pas. La structure de ma fonction est la suivante :
private
void EcrireDansConfig(
String cle,
String val){
//Rajoute ou modifie (si deja present) une ligne dans
//le fichier de config, ayant pour cle "cle" et pour
//Si la ligne ayant pour cle "cle" n'existe pas, il faut
//totalement creer la ligne
if (config.Sections[cle] ==
null){
//là je ne vois pas comment faire
}
//Sinon, il faut seulement changer l'ancienne valeur
//par la nouvelle valeur "val"
else{
//Suppression de l'ancienne ligne
???
//Creation de la nouvelle
???
}
}
Voila, j'espère avoir bien expliqué le problème.
Merci pour votre aide
A voir également:
Une erreur s'est produite lors du chargement des informations. (either no configuration (ovhconfig or runtime), or the current configuration is not valid (please, double check the module's requirement) (as a reminder, the global configuration is used for module). (configuration found: php 7.0))
SharpMao
Messages postés1024Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 7 juin 201069 8 juin 2007 à 11:41
Hello,
Si tu travailles avec VS2005, tu as deux types d'entrées dans le fichier de config : User et Application.
La différence se situe essentiellement dans le fait que les types User peuvent être modifiés très facilement.
Exemple pour une propriété nommée Test et de type string
Properties.Settings.Default.Test = "Une nouvelle valeur";
Properties.Settings.Default.Save();
Amicalement, SharpMao
"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
plop3000
Messages postés135Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention 7 avril 20121 8 juin 2007 à 11:53
Merci pour ta réponse SharpMao
Oui je travaille sous VS2005. Le fait de faire : Properties.Settings.Default.Test = "Une nouvelle valeur";
me changerait directement mon fichier de configuration App.config ?
J'ai essayé ton code mais j'ai l'erreur "le nom properties n'existe pas", comment faut il le définir ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
plop3000
Messages postés135Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention 7 avril 20121 8 juin 2007 à 15:00
Je voudrais utiliser les fonctions classiques des fichiers de config pour garder la même façon de travailler pour la lecture ET pour l'écriture d'un fichier de config... Par exemple pour la lecture, j'ai fais la fonction suivante (qui fonctionne sans problème) :
private
String LireDansConfig(
String nomDuChamp){
//récupere dans le fichier de config,
//la valeur du champ nomDuChamp et la retourneSystem.Configuration.
Il n'existe donc pas de fonction "similaires" pour écrire dans le fichier de config ??? Ce serait étonnant tout de même... Mais c'est vrai qu'après recherches, on trouve facilement de la doc sur la lecture d'un fichier de config, mais pour l'écriture dans ce dernier je ne trouve rien de comparable.
Quelqu'un connaitrait une technique ou un lien sur lequel me diriger ?
plop3000
Messages postés135Date d'inscriptionmercredi 23 mai 2007StatutMembreDernière intervention 7 avril 20121 8 juin 2007 à 15:46
Ok merci, j'en prend note, mais pour l'instant je ne sais pas encore si le champ que j'aurai à récupérer sera une "vraie" date ou si se sera un string qui ressemble à une date