CLASSE D'ECRITURE/LECTURE DE FICHIER CONFIG

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 20 oct. 2005 à 16:55
zone45 Messages postés 58 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 19 juillet 2014 - 27 avril 2010 à 13:58
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34267-classe-d-ecriture-lecture-de-fichier-config

zone45 Messages postés 58 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 19 juillet 2014
27 avril 2010 à 13:58
Comment je peut faire la serialisation d'une ArrayList dans Windows Form Avec Csharp ?????????????????????
bucherb Messages postés 412 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 août 2007
9 nov. 2005 à 10:24
A mon avi tu rempli un DataSet avec tes données de config, et ensuite tu fais un WriteXML et c'est nickel lol
mastercatz Messages postés 193 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 12 août 2010
24 oct. 2005 à 11:45
J'aurais voulu avoir un avis sur une chose, je vais essayer d'implementer plusieurs sous-niveaux mais je m'interroge encore sur la facon de proceder. Serait-ce plus pratique pour un programmeur d'utiliser par exemplele SaveParam avec un chemin genre :
CF.SaveParam("HEHE", "10", "TEST/Sub1/Sub2/");
ou alors plus un fonctionnement sous forme de collection genre :
CF.SubRubrique(1).SubRubrique("Sub1").Parametres("Option1").Value
La 2nde m'aparait plus compliquée à coder et je ne sais pas si ca sera vraiment plus utile. Quel est votre avis ?
kbumbazz Messages postés 26 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 7 mars 2006
21 oct. 2005 à 10:30
Si tu utilises un Serialiser XML c'est tout aussi lisible.

Bonne journée.
mastercatz Messages postés 193 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 12 août 2010
21 oct. 2005 à 10:25
Oui je comprends bien ce que tu veux dire.
Mais le but de cette classe est bien de servir à enregistrer des options dans un fichier tout en restant lisible par n'importe quel editeur de texte et ce bien que le fichier est du meme genre que app.config. Ce qui a mon avis peut etre un avantage. Par exemple un administrateur pourait modifier a volonté les parametres de configuration et les utilisateurs se serviraient du fichier comme un app.config classique.
Apres pour ce qui est de ta source je ne sais pas trop quoi dire, je ne connais pas du tout la Serialization et les Storage mais des que j'ai un moment j'essayerais d'implémenter ta classe et voir comme elle fonctionne.
kbumbazz Messages postés 26 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 7 mars 2006
21 oct. 2005 à 10:13
Salut : MASTERCATZ

Si tu regardes les API du framework, le fichier app.config n'est accessible au travers des ConfigurationSettings.AppSettings qu'en lecture seule et la raison est simple :
La définition de cette fonctionnalité est l'idée de fournir a un logiciels des Paramètres de Configuration et non des paramètres d'Options (donc modifiables.)

Je t?invite à voir cette source pour plus d'info. http://www.csharpfr.com/code.aspx?ID=30157

Ce que tu fais fonctionne bien mais n'est pas « conceptuellement » correct.

Si tu veux plus d'info n'hésite pas.

Au plaisir.
mastercatz Messages postés 193 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 12 août 2010
20 oct. 2005 à 17:51
Ok je comprends. Je vais bosser la dessus et desactiver cette lecture seule ^^
Merci.
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
20 oct. 2005 à 17:47
Ce que je voulais dire, c'est que dans un fichier .config, tu peux avoir
<system.diagnostics>
<switches>

<switches />
<system.diagnostics />

Donc des sous-niveaux dans l'arborescence.

Pour une prochaine version, tu pourrais gerer ces sous-niveaux. (Ce serait pratique, et c'etait la l'interet de l'exemple, pour gerer ces dits switches qui permettent d'activer / desactiver l'ecriture d'elements de debuggage par exemple)

Ah oui, sinon, n'oublies pas de desactiver une lecture seule eventuelle du fichier config ;)
mastercatz Messages postés 193 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 12 août 2010
20 oct. 2005 à 17:40
c'est vrai je ne m'en était pas apercu.
Par contre je vois pas ou tu veux en venir avec les Trace .....
tu pourais developper ton idée stp ?
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
20 oct. 2005 à 17:13
Sinon, une petite idée, tu devrais creer un constructeur qui ne prenne pas de paramètre, et qui ouvre (ou crée) automatiquement un fichier tonappli.exe.config.
Et si cela pouvait gérer + de sous-niveaux ce serait bien (par exemple, pour activer / desactiver des <switches> de Trace dans <system.diagnostics>)
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
20 oct. 2005 à 16:55
Je comprends pas trop pourquoi tu fais le meme test (File.Exists) dans Open et dans le constructeur.
Enleve celui du constructeur, laisse juste celui d'Open. Ainsi si le fichier n'existe pas, il sera créé.
Rejoignez-nous