Soyez le premier à donner votre avis sur cette source.
Snippet vu 7 798 fois - Téléchargée 38 fois
' A mettre dans un modul au chargement du prog Public Declare Function SetLocaleInfo Lib "kernel32" _ Alias "SetLocaleInfoA" _ (ByVal Locale As Long, _ ByVal LCType As Long, _ ByVal lpLCData As String) As Long Public Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long Public SDecSep As String Public LCID As Long Dim iNumber As Single Dim X__ID As Long iNumber = Val("1.1") SDecSep = Mid(iNumber, 2, 1) If SDecSep <> "." Then 'si vous voulez forcez le "." sinon "," si vous voulez forcez "," LCID = GetSystemDefaultLCID() X__ID = SetLocaleInfo(LCID, 14, ".") 'et pour remettre le séparateur qu'il y avait à l'ouverure du prog If SDecSep <> "." Then X__ID = SetLocaleInfo(LCID, 14, SDecSep)
Merci encore pour ces quelques lignes claires.
VB.Net en tout cas, on peut lui faire ignorer les paramètres régionaux, j'ai testé avec les 3 lignes suivantes, mon application ne plante plus, preuve qu'elle interpréte bien les nombres avec ".", et mon panneau de config me sort bien le Français avec la "," :
Imports System.Globalization
Imports System.Threading
Thread.CurrentThread.CurrentCulture = New CultureInfo("en-us")
A faire en début de programme (Main ou Load de la première forme). Ici on lui force la culture américaine avec le "." et tous les autres paramètres, mais on peut aussi faire plus subtil en créant une variable CultureInfo et en la modifiant à loisir !
@+
Benoît 'Mutos' ROBIN
http://spacesims.hoshikaze.net
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.