2009-07-30 4 views
0

Je recherche une logique qui convertit une entrée utilisateur incorrecte en une entrée entière correcte. Par exemple, un utilisateur peut saisir par erreur des lettres dans une entrée entière et la logique modifie cette entrée pour la forme correcte (entier). Des idées?Logique pour corriger une entrée utilisateur incorrecte (VB.Net)

+2

vous voulez dire que si l'utilisateur de type "a" il retournerait 97? – Fredou

Répondre

3

Si vous voulez uniquement des valeurs numériques, vous pouvez utiliser un contrôle numérique à la place de la zone de texte (NumericUpDown si je me souviens bien). Sinon, vous pouvez écouter l'événement OnKeyDown ou OnKeyPress, "voir" ce qu'il y a dans l'argument (la clé tapée par l'utilisateur) et éventuellement changer son entrée. Par exemple, je suis en Italie et souvent les utilisateurs utilisent. ou, pour le séparateur décimal. Donc je traduis point à virgule pendant que l'utilisateur tape. De plus, quand un non-nombre est tapé, je place e.Cancel à true pour que rien ne soit ajouté au texte affiché.

1

Pour les erreurs de frappe, un BK tree est souvent utilisé, en conjonction avec Levenshtein Distance. Here est une bonne explication sur la façon dont cela est appliqué.

0

Pourquoi corriger une entrée incorrecte? Vous voudrez inviter l'utilisateur à entrer à nouveau les informations correctement et leur dire d'entrer un nombre entier.

Questions connexes