IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Valider les Variables d'Environnement


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :

    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. 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.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    euh y a plus simple pour changer le séparateur de décimal
    et du coup y a des chances que ca marche directement ...

    My.Application.Culture.CurrentCulture.NumberFormat.NumberDecimalSeparator = "."
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Par défaut
    euh ok, j'vais essayé, mais c'est quoi l'import à effectuer pour avoir accès à

    My.Application.Culture.CurrentCulture ??

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    aucun
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    si ca marche pas cherche dans system.threading ou system.windows.forms.form

    si avacec application.culture ca marche pas, essaye sur le thread en cours ou la class form en cours ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Par défaut
    aucun de ces imports fonctionne, Studio me conseil de remplacer

    My.Application.Culture.CurrentCulture par : CultureInfo

    Mais à l'exécution, il me jette un innerException...

Discussions similaires

  1. [Free Pascal] Comment gérer les variables d'environnement
    Par TheBigMac dans le forum Free Pascal
    Réponses: 4
    Dernier message: 15/04/2006, 11h32
  2. Comment modifier les variables d'environnement ?
    Par Jean-Jacques Engels dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2005, 22h42
  3. Les variables d'environnement
    Par stoyak dans le forum Développement OS X
    Réponses: 11
    Dernier message: 04/11/2005, 12h02
  4. les variables d'environnement
    Par micknic dans le forum Linux
    Réponses: 8
    Dernier message: 25/04/2005, 14h30
  5. [.NET]Modifier les variables d'environnement dans...
    Par GusS dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 09/02/2005, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo