Valider les Variables d'Environnement
Bonjour à tous,
Je cherche à valider les variables d'environnements :
je suis en train de concevoir une appli en VB .net dans laquelle j'effectue un certain nombre de calculs sur les Double.
Cependant, j'ai un problème avec mon séparateur décimal qui dans la langue francaise est calé sur la virgule alors que j'aurais besoin d'un point.
j'ai trouvé sur le net, un bout de code, qui permet de changer le séparateur décimal :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Integer, ByVal LCTYPE As Integer, ByVal lpLCData As String, ByVal cchData As Integer) As Integer
Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Integer, ByVal LCTYPE As Integer, ByVal lpLCData As String) As Integer
Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Integer
'Déclaration de la constante séparateur décimal
Private Const LOCALE_SDECIMAL = &HE
Public Property DecimalSeparator() As String
Get
Dim nLength As Integer
Dim nLocale As Integer
nLocale = GetUserDefaultLCID()
nLength = GetLocaleInfo(nLocale, LOCALE_SDECIMAL, vbNullString, 0) - 1
DecimalSeparator = Space$(nLength)
GetLocaleInfo(nLocale, LOCALE_SDECIMAL, DecimalSeparator, nLength)
End Get
Set(ByVal value As String)
Dim nLocale As Integer
If value <> DecimalSeparator Then
If value = "." Or value = "," Then
nLocale = GetUserDefaultLCID()
SetLocaleInfo(nLocale, LOCALE_SDECIMAL, value)
End If
End If
End Set
End Property |
Ainsi, dans la fenêtre de démarrage de mon appli, j'effectue un :
Code:
DecimalSeparator = "."
Le problème qui se pose est le suivant :
le changement du séparateur, n'est pas effectif dans le processus en cours, du coup, mon appli plante. :bug: Et ce n'est qu'au redémarrage de l'appli que les changements sont pris en compte.
Je recherche donc un moyen de valider les variables d'environnement pour le processus en cours (et même pour tous les autres pendant qu'on y est)
Je vous remercie d'avance de votre aide.