[VB6]-localization de mon application

-localization de mon application [VB6] - VB/VBA/VBS - Programmation

Marsh Posté le 07-06-2006 à 21:50:10    

Bonjour,
 
Je développe une application en VB6, et mon windows est configuré dans les paramètres régionaux à l'anglaise. C'est à dire que pour séparer les décimales de la partie entière il y a un point. Mais le problème c'est que mon application est destinée à des gens qui peuvent avoir leur Windows configuré comme le mien ou avec comme séparateur des décimales la virgule.
Et mon application plante lorsque l'ordinateur est dans le second cas.
 
Quelqu'un sait il comment dire au compilateur ou à l'application que l'on veut travailler à la manière anglaise ?
 
Merci

Reply

Marsh Posté le 07-06-2006 à 21:50:10   

Reply

Marsh Posté le 07-06-2006 à 22:05:39    

le mieux est de récupérer les paramètres régionaux de la machine destinée à recevoir l'application, et à adapter ton soft en conséquence. regarde du coté de GetLocaleInfo()
http://msdn.microsoft.com/library/ [...] s_34rz.asp


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 07-06-2006 à 22:48:32    

J'ai trouvé ceci dans setlocalinfo:LOCALE_SDECIMAL
 
Mais je ne sais pas comment ça marche. Ca peut forcer la machine utilisatrice à travailler avec des points et non des virgules ?
 
Je débute en VB :(

Reply

Marsh Posté le 07-06-2006 à 23:06:14    

ben c'est tout con :  
- d'abord, tu récupères l'identifiant de l'info locale de l'utilisateur avec GetUserDefaultLCID()
- puis tu transmets cet identifiant en paramètre de GetLocaleInfo, en spéficiant effectivement que tu veux récupérer le symbole décimal (LOCALE_SDECIMAL)
- tu stockes ce symbole dans une variable (il est placé par défaut dans le buffer que tu fournis en 3eme paramètre de GetLocaleInfo dans une variable de type String, pour le remettre en place à la fin de ton programme (pour ne pas écraser les paramètres régionaux déjà mis en place)
- puis tu forces le séparateur décimal comme tu le souhaites, via la fonction SetLocaleInfo()
- tu fais tes manips
- tu restaures l'ancien séparateur décimal, toujours via SetLocaleInfo
 
t'as un exemple ici :
http://vb.developpez.com/faq/?page [...] _regionaux


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 07-06-2006 à 23:39:41    

Merci beaucoup !!!
 
J'ai réussi à détecter le paramètre des décimales (pas dur j'ia recopié le code), mais pourrais tu être un peu plus explicite sur la fonction SetLocalInfo. J'ai compris son but mais je n'ai jamais utilisé d'API Windows...Donc niveau syntaxe exacte je ne suis pas doué.
 
Encore Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed