binouse1305
Messages postés17Date d'inscriptionmercredi 22 septembre 2004StatutMembreDernière intervention30 janvier 2008
-
4 avril 2007 à 15:35
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
7 mai 2007 à 09:15
Salut !
Je recherche comment modifier le séparateur décimal qui se trouve dans les options régionales, au démarrage de mon application.
J'ai essayé ceci : System.Globalization.NumberFormatInfo.CurrentInfo.NumberDecimalSeparator = ",";
mais la classe CurrentInfo est en lecture seule et il m'indique l'erreur correspondante.
Je voudrais faire la même chose pour le symbole monétaire.
donsabras
Messages postés6Date d'inscriptiondimanche 6 mars 2005StatutMembreDernière intervention 7 mai 2007 3 mai 2007 à 20:21
Dans la doc crosoft de setlocaleinfo, il y a un fichier include indiqué (je me souviens plus lequel) il suffit de regarder dedans pour voir les defines qui vont bien ;-)
En plus avec goofle tu peux trouver ces inbfos , même si il fautr les adapter un peu.
Bonne continuation
binouse1305
Messages postés17Date d'inscriptionmercredi 22 septembre 2004StatutMembreDernière intervention30 janvier 2008 4 avril 2007 à 16:58
Merci mais dans mon application il y'a des tests sur System.Globalization.NumberFormatInfo.CurrentInfo.NumberDecimalSeparator
donc dans l'idéal j'aimerai réellement changer les options régionales pas uniquement pour mon application.
Est-ce possible ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
binouse1305
Messages postés17Date d'inscriptionmercredi 22 septembre 2004StatutMembreDernière intervention30 janvier 2008 5 avril 2007 à 10:13
WMI ?
Pour des raisons x ou y ces paramètres sautent et se reconfigurent avec "$" en symbole monétaire et le séparateur décimal ".". Nous souhaiterions donc via l'application modifier ces paramètres.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 8 avril 2007 à 19:29
Salut,
Regarde du côté de SetLocaleInfo.
Par contre ne pas utiliser cette méthode dans une application dans le but de changer les paramètres définis par l'utilisateur, une application qui me fait ce coup là signe son arrêt de mort, et je ne dois pas être le seul :-)
Donc si cette modification des 2 paramètres est le souhait de l'utilisateur, ne pas modifier ce choix et traiter les informations avec une modification n'affectant que le code de l'application.
Si ça se fait réellement tout seul, une application sur la machine utilise peut être SetLocaleInfo pour forcer ce changement.................
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 8 avril 2007 à 19:52
Ba celle là je m'en souviens parce que j'ai lu quelquechose qui disait de ne pas l'utiliser il y a quelques temps, pour les raisons citées :-)
Et puis pour une fois que le nom est assez parlant :p
donsabras
Messages postés6Date d'inscriptiondimanche 6 mars 2005StatutMembreDernière intervention 7 mai 2007 2 mai 2007 à 09:38
Vous supposez ici que l'application est grand public.
Il y a des cas ou il est souhaitable que l'application applique des réglages tels que le remplacement de la virgule par un point pour le séparateur décimal. C'est le cas des application professionnelles industrielles pour le PPC.
thread.CurrentThread.CurrentCulture
ne concerne que le thread en cours et il serait vraiment pénible de respécifier l'ensemble des settings pour chaque thread de chaque application.
Svp n'assomez pas les développeurs avec des dogmes, chacun reste responsable de ce qu'il fait, tout particulièrement dans le domaine des applications métier.
Pour en revenir à la question initiale du topic:
SetLocaleInfo (LANF_DEFAULT, LOCALE_SDECIMAL,".") devrait faire l'affaire .
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 6 mai 2007 à 02:18
La précision de l'environnement Compact Framework aurait été bienvenue :-)
Moi ce que j'en dit... sauf si les appareils sont exclusivement dédiés à cette tâche, attend toi à quelques remontées utilisateur plus ou moins virulentes si le déploiement de ton application les obligent à utiliser un '.' à la place de leur ',' habituelle dans leurs applications dont le comportement n'est pas censé être modifié.
Et non, je ne suppose pas que l'application est grand public, un utilisateur est un utilisateur.
Et le concept de chacun est responsable de ce qu'il fait est un peu erroné : les problèmes seront pour celui qui sera chargé de la maintenance, qui ne sera pas forcément celui qui a développer.
Ensuite le problème ne se pose sans doute pas (encore) en environnement mobile, mais le changement de ce type de paramètre doit probablement être désactivable : utiliser ce genre de chose sur une appli desktop destinée à tourner sur des postes en entreprise où les utilisateurs sont en général assez limités est plutôt risqué.
C'est la même chose que pour ce bon vieux problème du "j'écris tout dans le répertoire d'installation", ce qui donne de splendides résultats en terme d'utilisation concurente de l'application par plusieurs utilisateurs, de problèmes de sécurité et de confidentialité, de sauvegarde...
Sans parler du risque de mort violente pour celui qui devra aller annoncer ça à celui/ceux qui gèrent le parc du client.
Enfin bref si tu utilises cette solution, documente là bien histoire d'être en mesure de se souvenir rapidement de son existance durant la phase de maintenance.
donsabras
Messages postés6Date d'inscriptiondimanche 6 mars 2005StatutMembreDernière intervention 7 mai 2007 7 mai 2007 à 02:13
Hum, j'avoue ne pas avoir tout suivi dans ce raisonnement...
Ma remarque ne s'applique qu'aux PPC dans un environnement applicatif métier dédié et destiné à un utilisateur unique.
C'est la raison pour laquelle je continue à affirmer que les dogmes trouvent leurs limites et ici c'est bien le cas.
Nos utilisateurs itinérants ont parfois besoin de réinstaller l'ensemble de leur logiciel (oubli de laisser en charge pendant leurs congés ou longs week end, changement d'heure d'été etc ...)
Les gars de la maintenance nous bénissent de patcher les données de configuration "en dur", cela leur évite à cette occasion quelques miliers d'appels (notre application est déployée sur 300 PPC en europe).
Voilà, j'espère que c'est plus clair et que personne ne va mourir