cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 2013
-
1 oct. 2004 à 22:49
Picsou00759
Messages postés1Date d'inscriptiondimanche 6 décembre 2009StatutMembreDernière intervention 8 mars 2013
-
8 mars 2013 à 16:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Picsou00759
Messages postés1Date d'inscriptiondimanche 6 décembre 2009StatutMembreDernière intervention 8 mars 2013 8 mars 2013 à 16:19
Code très utile, je m'en suis déjà servis plusieurs fois et je t'en remercie.
C'est vraiment pratique pour le stockage de masse surtout, car stocker plusieurs miliers de valeurs dans un pauvre xml... alors qu'ici dans un .ini on à l'avantage de la taille mais aussi de la rapidité de création (c'est déjà plus simple de faire un .ini que de respecter toute la structure hyper restrictive du XML).
10/10 :D
lokovbf
Messages postés11Date d'inscriptionjeudi 1 septembre 2005StatutMembreDernière intervention 1 avril 2011 30 sept. 2010 à 17:12
sympa et bien conçu. les fichiers ini ont un avantage, c'est de pouvoir les modifier/editer avec notepad tres simplement et facilement (rien de plus simple que de rajouter une clé dans un ini). ce qui est moins le cas avec des fichiers xml. malgré qu'on puisse faire autrement avec xml, je considère que ce code a toput de mem un interet, si on préfère pour X raisons perso les fichiers ini pour stocker ses paramètres. il y aussi des situations ou le fichier ini est incontournable: par ex avec des vieux (mais neanmoins encore existants) scripts .bat qui utilisent ces fichiers
cs_yoannd
Messages postés305Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention10 août 20117 13 janv. 2010 à 02:17
@GooseIsGod : Merci ! Merci ! MERCI !!! Enfin quelqu'un de censé !!! rhaaaa... j'vous jure, des morceaux de code issus d'une branlette cérébrale, j'en vois tous les jours dans mon taf, et j'en ai plus que marre ! Ne sacrifions pas les performances pour une meilleur lisibilité, mais l'inverse est tout aussi vrai :) je vous laisse méditer là-dessus ^^
GooseIsGod
Messages postés2Date d'inscriptionjeudi 11 septembre 2003StatutMembreDernière intervention16 avril 2008 30 déc. 2009 à 17:24
Un petit UP juste pour donner une note et dire que la structure XML c'est bien si l'on en a besoin ... après 26 ans de développement informatique, s'il y a bien une chose que j'ai retenu c'est que les fonctions le plus simples sont souvent les meilleurs.
peug
Messages postés232Date d'inscriptionmercredi 25 octobre 2000StatutMembreDernière intervention 5 octobre 2012 8 oct. 2009 à 17:10
Nickel, je cherchais à code cela pour lire une configuration d'un ini existant... !
baldemic
Messages postés3Date d'inscriptionsamedi 8 novembre 2008StatutMembreDernière intervention16 décembre 2008 16 déc. 2008 à 16:04
Excelente source pour un débutant comme moi.
Note 10/10
Tout fonctionne nickel, mais je ne sais pas comment utiliser les fonctions "DeleteKey" et "SetKey".
J'ai envoyé un message privé, mais si quelqu'un connait...
Merci
themioux
Messages postés45Date d'inscriptiondimanche 29 mai 2005StatutMembreDernière intervention14 avril 2011 4 juin 2008 à 10:45
Bah le truc c'est que perso, j'ai tendance à coder comme un goret... J'ai découvert String.Empty il y a peu alors que ça fais plus d'un an que je code en asp.net :D
Dans un nouveau projet, je suis d'accord pour le Environment.NewLine (et même en règle générale d'ailleurs) et je pense souvent au cross platform (mon pc est sous windows, je travaille au taff sous windows, et les 2 seules choses qui me forcent à rester sous windows @home c'est le fait que ma carte télé fonctionne mal (hybride, c'est un peu la merde à faire fonctionner, bien que j'ai fais un tuto pour ca sous ubuntu) et le fait que mon ordinateur démarre 2 ou 3 fois nickel sous linux, et la quatrième, j'ai un bel écran noir, alors que je n'ai touché à aucune config... même en mode console), ainsi qu'à l'accessibilité des sites web et la compatibilité cross-browser (généralement je teste IE7 (parce que flême d'installer MultipleIE)/Firefox 2/Opera 9/Lynx et dès fois même konqueror et Evince sur une machine virtuelle. Enfin ça c'est coté perso, parce qu'au taff c'est "IE6 et compatiblité fonctionnelle avec Firefox" et vu les délais, vaut mieux pas trop que je joue la compatiblité à 100% :D
Tout ça pour dire : Environment.NewLine dès qu'aucune contrainte n'est posée :D
surfzoid
Messages postés463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 avril 2010 4 juin 2008 à 10:33
C'est vrai globalement tu as raison, mais dans ce contexte , fichier init, soit ont prends un fichier existant, donc cr?e sur l'OS, soit on le cr?e au premier lancement du soft, donc toujours sur l'OS existant.
Donc pour ?tre coh?rent dans tout les cas de figure il faut absolument utiliser environment.newline, car sinon tu sera en d?saccord avec l'OS sur lequel tourne le logiciel qui utilise cette classe.
Je suis plus linux + Mono et donc je pensse r?gulierement crossplatform lol :D :
http://sourceforge.net/projects/cs-obexftp/ http://sourceforge.net/projects/rpmspecmanager/ et je suis aussi la : http://mono-project.com/OpenSUSE_Build_Service lol :D
themioux
Messages postés45Date d'inscriptiondimanche 29 mai 2005StatutMembreDernière intervention14 avril 2011 3 juin 2008 à 18:04
Sauf que ce n'est pas forcément vrai...
Prenons windows pour exemple : suivant le fichier que tu ouvre, le NewLine c'est \r\n ou \n (sois dit en passant, il est normalement plus logique d'utiliser \r\n pour un retour à la ligne qu'un \n, car sinon, une imprimante pourrait ne pas faire de retour chariot et imprimer sa ligne suivante sous l'autre, mais en restant au même niveau sur la ligne)
Enfin bref, Environment.NewLine dépends de l'OS, mais un même fichier peut être utilisé sous 2 OS différents (exemple d'au dessus, Neverwinter Nights qui a un client Windows et une client Linux) et tu pourrait utiliser \n sur ton fichier sous Linux (car Environment.NewLine sous Linux doit renvoyer \n non ? je sais pas j'ai jamais testé :P) et pourtant, ton fichier .ini attends un \r\n
A mon avis, cette ligne est à adapter en fonction de l'utilisation du programme. Windows ? Linux ? Interportable ? Bridé à une machine ? Et sur mac ? (il n'y a que le \r :P)
surfzoid
Messages postés463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 avril 2010 3 juin 2008 à 17:12
private const string newline = "\r\n";
C'est mieux pour les autres OS :
private const string newline = Environment.NewLine;
:D
surfzoid
Messages postés463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 avril 2010 3 juin 2008 à 17:06
C'est exacte , j' ecrit ClamWinRT (sf.net) et je chercher justement cette classe puisque le logiciel ClamWin ne semble pas ecrit en .NET et utilise ce bon vieu fichier INIT, un peut comme sous unix/linux d'ailleurs lol :D rien que pour ?a 9/10, severe punition lol
themioux
Messages postés45Date d'inscriptiondimanche 29 mai 2005StatutMembreDernière intervention14 avril 2011 26 juil. 2007 à 11:27
Je remonte ce sujet pour dire que cette classe peut être trèèèès utilse...
Imaginons un instant que vous faites un programme qui utilise uniquement des fichiers ini... (et il y en a encore beaucoup... pour des raison de taille de transfert... un ini est beaucoup plus petit qu'un xml qui fais la même chose (vous voulez des exemples ? Folding@Home enregistre ses paramètres dans un fichier ini (déguisé en .cfg ^^), Neverwinter Nights (1) enregistre aussi ses paramètres dans des fichiers ini... et si je vous parles de ces 2 programmes, c'est que j'ai développé un configureur pour NWN en VB.Net (accès à certaines options invisibles dans l'interface de NWN), et un petit plugin pour LCDStudio qui permet de lire les infos de F@H)
Il y a aussi mame qui utilise du ini (et depuis plus récemment aussi du XML)... bref, le ini n'est pas mort
sharperton
Messages postés1Date d'inscriptiondimanche 1 janvier 2006StatutMembreDernière intervention 2 janvier 2006 2 janv. 2006 à 08:33
Bel exemple de la programmation. Les fichiers ".ini" c'est la réalité des environnements d'aujourd'hui (et encore pour certain temps), il est inutile de discuter. Le programme n'utilise pas les fonctions win32 (comme http://www.codeproject.com/csharp/ReadWriteXmlIni.asp) et c'est un plus.
On pourrait y ajouter les méthodes
public string[] GetSections()
public string[] GetSection(string section)
...et ça serait parfait ;-)
cs_thebigboss
Messages postés216Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention12 avril 20172 10 déc. 2005 à 17:24
Moi je vais commencer par regarder ton fichier car les .ini ca semble accessible à tout le monde. Je passerai peut-être ensuite au xml (que je ne connais pas du tout).
Merci en tous cas pour ton fichier
cs_pietou
Messages postés16Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention 6 mai 2008 12 août 2005 à 15:42
Là, ça fait tout! XML, ini, config, et registry
Une classe par type et une démo bien faite.
Donc, un 7/10.
cs_Light Angel
Messages postés48Date d'inscriptiondimanche 9 mai 2004StatutMembreDernière intervention 1 janvier 2005 2 janv. 2005 à 18:25
Franchement, je trouve que ce code était celui qu'il manquait pour ceux qui sont comme moi allergique a l'XML (déja, quand on l'a apprit qu'il fallait commenter les codes C# avec du Xml ...) Bref, pour faire court : 10/10
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 201114 9 déc. 2004 à 16:17
certes...
:o))
cs_yoannd
Messages postés305Date d'inscriptionlundi 7 janvier 2002StatutMembreDernière intervention10 août 20117 9 déc. 2004 à 15:10
Moi je trouve que ce code est bien. D'accord, l'utilisation de classe sérialisées est très pratique et très interessant, mais il arrive parfois que l'on veuille récupérer les paramêtres d'une autre application, plus ancienne, et que celle-ci utilise des fichiers ini... ce code n'est donc pas forcément inutile comme le laissait entendre gg00xiv.
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 201114 5 oct. 2004 à 11:07
cela dis...
l'idée est bonne...
pour les grands mere ;o))))
je plaisante.... :o))))
bucherb
Messages postés412Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention13 août 2007 5 oct. 2004 à 11:07
J'ai déjà vu ta source, et si jamais pour t'en convaincre tu peux lire les autres commentaires ;-)
Arthenius
Messages postés1182Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention 6 septembre 201114 5 oct. 2004 à 11:04
j'avais poster un code qui permet (entre autre) de genere un xml qui peut servir de fichier ini....
avec un objet serializable....
c bien pratique....et très simple d'utilisation...
tu creer un objet...une structure par exemple...
tu la rempli de données...
tu genere le fichier xml....
et voilou....
voir le code sur le bouton OK(pour l'ecriture du fichier) et sur le form load (pour la lecture...)
gg00xiv
Messages postés656Date d'inscriptionmercredi 22 août 2001StatutMembreDernière intervention11 mars 200513 4 oct. 2004 à 11:32
lol, j'adore !!!
bucherb
Messages postés412Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention13 août 2007 4 oct. 2004 à 09:02
Pour la petite histoire, je me suis pas pris la tête, et puis si qqun préfère utiliser les fichiers ini que le XML, comme ça il peut ;-)
Ma grand mère par exemple, je pense pas qu'elle sache utiliser le XML mdr, alors qu'un fichier INI c'est tellement simple.
gg00xiv
Messages postés656Date d'inscriptionmercredi 22 août 2001StatutMembreDernière intervention11 mars 200513 3 oct. 2004 à 13:54
Sincérement, non.
La tu t'es pris la tête à coder un gestionnaire de fichiers ini, alors que ceux existant pour XML sont bien plus élaborer et déjà intégrés au Framework.NET.
bucherb
Messages postés412Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention13 août 2007 3 oct. 2004 à 07:31
On est tout a fait d'accord sur ce point, mais pas tout le monde maitrise encore cette technologie, alors le fichier ini pour faire de petites variables modifiables très facilement reste encore le plus facile a utiliser.
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 1 oct. 2004 à 22:49
J'ai pas testé ton code, mais disons que le temps n'est plus tellement au fichier .ini mais plutôt à l'xml, non?
8 mars 2013 à 16:19
C'est vraiment pratique pour le stockage de masse surtout, car stocker plusieurs miliers de valeurs dans un pauvre xml... alors qu'ici dans un .ini on à l'avantage de la taille mais aussi de la rapidité de création (c'est déjà plus simple de faire un .ini que de respecter toute la structure hyper restrictive du XML).
10/10 :D
30 sept. 2010 à 17:12
13 janv. 2010 à 02:17
30 déc. 2009 à 17:24
8 oct. 2009 à 17:10
16 déc. 2008 à 16:04
Note 10/10
Tout fonctionne nickel, mais je ne sais pas comment utiliser les fonctions "DeleteKey" et "SetKey".
J'ai envoyé un message privé, mais si quelqu'un connait...
Merci
4 juin 2008 à 10:45
Dans un nouveau projet, je suis d'accord pour le Environment.NewLine (et même en règle générale d'ailleurs) et je pense souvent au cross platform (mon pc est sous windows, je travaille au taff sous windows, et les 2 seules choses qui me forcent à rester sous windows @home c'est le fait que ma carte télé fonctionne mal (hybride, c'est un peu la merde à faire fonctionner, bien que j'ai fais un tuto pour ca sous ubuntu) et le fait que mon ordinateur démarre 2 ou 3 fois nickel sous linux, et la quatrième, j'ai un bel écran noir, alors que je n'ai touché à aucune config... même en mode console), ainsi qu'à l'accessibilité des sites web et la compatibilité cross-browser (généralement je teste IE7 (parce que flême d'installer MultipleIE)/Firefox 2/Opera 9/Lynx et dès fois même konqueror et Evince sur une machine virtuelle. Enfin ça c'est coté perso, parce qu'au taff c'est "IE6 et compatiblité fonctionnelle avec Firefox" et vu les délais, vaut mieux pas trop que je joue la compatiblité à 100% :D
Tout ça pour dire : Environment.NewLine dès qu'aucune contrainte n'est posée :D
4 juin 2008 à 10:33
Donc pour ?tre coh?rent dans tout les cas de figure il faut absolument utiliser environment.newline, car sinon tu sera en d?saccord avec l'OS sur lequel tourne le logiciel qui utilise cette classe.
Je suis plus linux + Mono et donc je pensse r?gulierement crossplatform lol :D :
http://sourceforge.net/projects/cs-obexftp/
http://sourceforge.net/projects/rpmspecmanager/
et je suis aussi la : http://mono-project.com/OpenSUSE_Build_Service
lol :D
3 juin 2008 à 18:04
Prenons windows pour exemple : suivant le fichier que tu ouvre, le NewLine c'est \r\n ou \n (sois dit en passant, il est normalement plus logique d'utiliser \r\n pour un retour à la ligne qu'un \n, car sinon, une imprimante pourrait ne pas faire de retour chariot et imprimer sa ligne suivante sous l'autre, mais en restant au même niveau sur la ligne)
Enfin bref, Environment.NewLine dépends de l'OS, mais un même fichier peut être utilisé sous 2 OS différents (exemple d'au dessus, Neverwinter Nights qui a un client Windows et une client Linux) et tu pourrait utiliser \n sur ton fichier sous Linux (car Environment.NewLine sous Linux doit renvoyer \n non ? je sais pas j'ai jamais testé :P) et pourtant, ton fichier .ini attends un \r\n
A mon avis, cette ligne est à adapter en fonction de l'utilisation du programme. Windows ? Linux ? Interportable ? Bridé à une machine ? Et sur mac ? (il n'y a que le \r :P)
3 juin 2008 à 17:12
C'est mieux pour les autres OS :
private const string newline = Environment.NewLine;
:D
3 juin 2008 à 17:06
26 juil. 2007 à 11:27
Imaginons un instant que vous faites un programme qui utilise uniquement des fichiers ini... (et il y en a encore beaucoup... pour des raison de taille de transfert... un ini est beaucoup plus petit qu'un xml qui fais la même chose (vous voulez des exemples ? Folding@Home enregistre ses paramètres dans un fichier ini (déguisé en .cfg ^^), Neverwinter Nights (1) enregistre aussi ses paramètres dans des fichiers ini... et si je vous parles de ces 2 programmes, c'est que j'ai développé un configureur pour NWN en VB.Net (accès à certaines options invisibles dans l'interface de NWN), et un petit plugin pour LCDStudio qui permet de lire les infos de F@H)
Il y a aussi mame qui utilise du ini (et depuis plus récemment aussi du XML)... bref, le ini n'est pas mort
2 janv. 2006 à 08:33
On pourrait y ajouter les méthodes
public string[] GetSections()
public string[] GetSection(string section)
...et ça serait parfait ;-)
10 déc. 2005 à 17:24
Merci en tous cas pour ton fichier
12 août 2005 à 15:42
Là, ça fait tout! XML, ini, config, et registry
Une classe par type et une démo bien faite.
Donc, un 7/10.
2 janv. 2005 à 18:25
9 déc. 2004 à 16:17
:o))
9 déc. 2004 à 15:10
5 oct. 2004 à 11:07
l'idée est bonne...
pour les grands mere ;o))))
je plaisante.... :o))))
5 oct. 2004 à 11:07
5 oct. 2004 à 11:04
avec un objet serializable....
c bien pratique....et très simple d'utilisation...
tu creer un objet...une structure par exemple...
tu la rempli de données...
tu genere le fichier xml....
et voilou....
voir le code sur le bouton OK(pour l'ecriture du fichier) et sur le form load (pour la lecture...)
le tout ce trouve la :
http://www.csharpfr.com/code.aspx?id=23015
4 oct. 2004 à 11:32
4 oct. 2004 à 09:02
Ma grand mère par exemple, je pense pas qu'elle sache utiliser le XML mdr, alors qu'un fichier INI c'est tellement simple.
3 oct. 2004 à 13:54
La tu t'es pris la tête à coder un gestionnaire de fichiers ini, alors que ceux existant pour XML sont bien plus élaborer et déjà intégrés au Framework.NET.
3 oct. 2004 à 07:31
1 oct. 2004 à 22:49
Enfin, c'est ce que je peux te conseiller!