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 :

Adaptation automatique du logiciel aux caractéristiques régional du PC


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut Adaptation automatique du logiciel aux caractéristiques régional du PC
    Bonjour à tous,

    J'ai un petit souci avec un logiciel qui crée et utilise des fichiers formaté en csv afin de visualisé des courbes.

    Mon souci c'est qu'il se peut que le logiciel qui enregistre les csv soit avec un OS anglais. Du coup les données dans le csv sont avec des points au lieu de virgule: 15.5 au lieu de 15,5.

    Donc lorsque je veux visualiser les courbes sur un autre PC qui est en français j'ai une exception qui se crée lors de la conversion de string en double.

    Y a t'il un moyen d'automatiser cette détection pour que la conversion fonctionne qu'elle que soit le type de caractéristique régional sur lequel le logiciel tourne. Conversion qui marche aussi bien avec les points que les virgules

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Il faut que le logiciel qui crée le fichier CSV le fasse toujours avec la même culture (anglais par exemple) et décode toujours avec la même.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    value.ToString(CultureInfo.CreateSpecificCulture("en-GB"))
     
    double number = Double.Parse(value, CultureInfo.CreateSpecificCulture("en-GB"));
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Membre éprouvé Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 931
    Par défaut
    Merci, je connaissait pas, par contre le logiciel est en 2 parties, la 1ère est un logiciel adapté et modifié pour récupérer les données et les enregistrés en csv, il est crée en VB6. La 2éme partie et en .net pour l'utilisation de zedgraph.

    Par contre avec cette méthode, je vois pas comment affecter les doubles à mes paramètres, car par exemple Zedgraph attend des doubles pour les points, il faut qu'il est le bon format. Je me trompe peut être, et même surement, mais si je force la création d'un double en format US, zedgraph lui tournant sur un PC FR il va le prendre comment le double avec le point?

    Dans un 1er temps j'ai crée une rustine mais personnelement je trouve pas sa beau car j'aime pas utilisé les exceptions pour faire mon programme.

    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
     
    Private Function ConvertStringToDouble(ByVal ln As String) As Double
            Dim Point As Boolean
            Try
                If InStr(ln, ".") > 0 Then
                    Point = True
                Else
                    Point = False
                End If
                ConvertStringToDouble = Convert.ToDouble(ln)
            Catch ex As Exception
                If Point Then
                    ln = Replace(ln, ".", ",")
                Else
                    ln = Replace(ln, ",", ".")
                End If
                ConvertStringToDouble = Convert.ToDouble(ln)
            End Try
        End Function
    Je vais voir si je peut modifier le VB6 dans pour être sur de la localisation.

Discussions similaires

  1. Réponses: 9
    Dernier message: 27/02/2010, 21h15
  2. Réponses: 2
    Dernier message: 15/01/2010, 17h52
  3. Réponses: 2
    Dernier message: 15/01/2010, 17h52
  4. Réponses: 2
    Dernier message: 15/01/2010, 17h52
  5. adaptation automatique aux résolutions
    Par Caritan dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/05/2005, 08h53

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