Soucis apres un deploiment [Résolu]

DevGroupeMTT 3 Messages postés lundi 12 octobre 2015Date d'inscription 12 octobre 2015 Dernière intervention - 12 oct. 2015 à 14:22 - Dernière réponse : cgandco 219 Messages postés mercredi 26 octobre 2011Date d'inscription 22 juin 2017 Dernière intervention
- 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 ?
Afficher la suite 

4 réponses

cgandco 219 Messages postés mercredi 26 octobre 2011Date d'inscription 22 juin 2017 Dernière intervention - 12 oct. 2015 à 15:08
0
Merci
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
DevGroupeMTT 3 Messages postés lundi 12 octobre 2015Date d'inscription 12 octobre 2015 Dernière intervention - 12 oct. 2015 à 15:12
0
Merci
thx je regarde de suite ;)

Je vous tiens au news
DevGroupeMTT 3 Messages postés lundi 12 octobre 2015Date d'inscription 12 octobre 2015 Dernière intervention - 12 oct. 2015 à 15:42
0
Merci
donc probleme resolu pour la region francaise, je vais appronfondir le sujet pour permet au autre region de pouvoir s'en servir sans bug
cgandco 219 Messages postés mercredi 26 octobre 2011Date d'inscription 22 juin 2017 Dernière intervention - 12 oct. 2015 à 15:58
0
Merci
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

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.