Soucis apres un deploiment

Résolu
DevGroupeMTT Messages postés 3 Date d'inscription lundi 12 octobre 2015 Statut Membre Dernière intervention 12 octobre 2015 - Modifié par DevGroupeMTT le 12/10/2015 à 15:00
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 - 12 oct. 2015 à 15:58
Salut,

J'ai créé un soft pour les joueurs de poker, le principe rentrée leurs données pour avoir un résultat.

Je déploie mon soft via click once sur un serveur gratuit

Le problème :

Quand les utilisateurs rentrent leurs données avec un point ou une virgule cela affiche une erreur "Ce ne sont pas des nombres"


Sauf que moi je n'ai pas cette erreur ?!


Voici le code de vérification des champs (c'est une class) :

Public Class Verif

Private _ChampAVerifier As Object
Private _Validation As String
Private _ColorChamp As Object
Private _Comfirm As Boolean
Private _Valeur As Double
Sub New(ByVal ChampAVerifier As Object)
_ChampAVerifier = New Object
_ChampAVerifier = ChampAVerifier

_Validation = New String("")

_ColorChamp = New Object
_ColorChamp = Color.White
_Comfirm = New Boolean()
End Sub

Public Sub Numeric()
_ChampAVerifier.text = Replace(_ChampAVerifier.text, ",", ".")
_ChampAVerifier.text = Replace(_ChampAVerifier.text, " ", "")

If _ChampAVerifier.text = "" Then
_Validation = "Un ou plusieurs champs sont vide !"
_ColorChamp = Color.FromArgb(255, 192, 192)
_Comfirm = False
ElseIf _ChampAVerifier.text Is Nothing Or Not IsNumeric(_ChampAVerifier.text) Then
_Validation = "Ce ne sont pas des nombres"
_ColorChamp = Color.FromArgb(255, 192, 192)
_Comfirm = False
Else
_Comfirm = True
_Valeur = New Double
_Valeur = _ChampAVerifier.text
End If

End Sub
Public Property Erreur() As String
Get
Return _Validation
End Get
Set(ByVal value As String)
_Validation = value
End Set
End Property
Public Property Confirm() As Boolean
Get
Return _Comfirm
End Get
Set(ByVal value As Boolean)
_Comfirm = value
End Set
End Property
Public Property ZoneTexteColor() As Object
Get
Return _ColorChamp
End Get
Set(ByVal value As Object)
_ColorChamp = value
End Set
End Property
Public Property Valeur() As Double
Get
Return _Valeur
End Get
Set(ByVal value As Double)
_Valeur = value
End Set
End Property


End Class


Chez l'utilisateur, les virgules sont bien remplacés comme les espaces .

Des idées ?

4 réponses

cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
12 oct. 2015 à 15:08
Bonjour,

a mon avis sur ton pc de developpement, c'est le point qui est séparateur décimal.

Sur le pc de l'utilisateur, c'est la virgule.

lorsque tu remplace la virgule par le point, chez toi pas de problème car 2.5 reste 2.5 et 2,5 devient 2.5 donc OK.

chez l'utilisateur même effet mais 2.5 ne veut rien dire puisque c'est 2,5 qui est le nombre deux et demi.

chez cet utilisateur 2.500 voudra dire 2500 et doit bien passer.

vas voir du coté de
CultureInfo.CurrentCulture


et détectes le signe que tu dois remplacer ou je pense en faisant un clone de la culture tu pourra faire un Parse de ton text directement.

Bonne journée
0
DevGroupeMTT Messages postés 3 Date d'inscription lundi 12 octobre 2015 Statut Membre Dernière intervention 12 octobre 2015
12 oct. 2015 à 15:12
thx je regarde de suite ;)

Je vous tiens au news
0
DevGroupeMTT Messages postés 3 Date d'inscription lundi 12 octobre 2015 Statut Membre Dernière intervention 12 octobre 2015
12 oct. 2015 à 15:42
donc probleme resolu pour la region francaise, je vais appronfondir le sujet pour permet au autre region de pouvoir s'en servir sans bug
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
12 oct. 2015 à 15:58
il faut a mon avis tester la validité du numérique avec le methode

Double.TryParse en lui passant comme paramètre le CultureInfo.CurrentCulture

ce qui va transformer ton texte entré avec la culture du pc (pavé numérique donne le point ou la virgule) en double, si elle renvoit false, tu considères que ce n'est pas un numérique.

Bonne journée
0
Rejoignez-nous