Accueil > Forum > > > > textbox nombre
textbox nombre
mercredi 1 juillet 2009 à 11:50:14 |
textbox nombre

Sunnydelight
|
Bonjour, Alors voila j'ai un petit problème avec un programme que j'ai fais. Le principe est tel que : L'utilisateur vient saisir un nombre dans une textBox, puis un autre nombre dans une autre TextBox. Ensuite il vient cliquer sur un bouton_click. Dans ce bouton click je fais : Si a<b alors j'affiche un message dans une MsgBox. J'ai bien déclaré mes variables a et b en public pour quelles soient utilisées par toutes les procédures. Et fait dans la procédure de chaque TextBox : a = Cint(TextBox.Text) et b = Cint(TextBox.Text) afin de convertir une chaine en nombre. Mon programme fonctionne tres bien, mais le seul hic c'est que dés que je tape un caractère, au lieux d'un chiffre ou un espace bref un caractère alors le programme plante. J'ai lu qu'il fallait filtres les infos pour ne pas tenir compte de donnée qui n'est pas rapport avec le code. Mais comment le faire? Merci Bye +++
|
|
mercredi 1 juillet 2009 à 12:36:59 |
Re : textbox nombre

hellangel777
|
Bonjour,
Avant d'effectuer ton traitement (a<b) il faut que tu test si les champs sont de type numérique.
Dim numericCheck As Boolean testVar1 = Cint(TextBox1.text) testVar2 = Cint(TextBox2.text) if IsNumeric(testVar1) = True then If IsNumeric(testVar2) = True then 'Traitement else msgbox "La valeur dans la zone 2 n'est pas numérique !" textbox2.text = vbnullstring textbox2.text.setfocus end if else msgbox "La valeur dans la zone 1 n'est pas numérique !" textbox1.text = vbnullstring textbox1.text.setfocus end if
A toi d'adapter.... Bon courage
HellAngel777 Les machines ne font pas d'erreurs Heureusement nous sommes humains
|
|
mercredi 1 juillet 2009 à 12:45:46 |
Re : textbox nombre

PCPT
|
salut,
tu peux adapter le code ci-dessous pour simplement forcer la saisie numérique http://www.codyx.org/snippet_textbox-numerique-seulement_53.aspx#139
++
|
|
mercredi 1 juillet 2009 à 13:22:13 |
Re : textbox nombre

Sunnydelight
|
Ok, je vais essayer sa ce soir alors, et merci pour les conseils !
Bye +++
|
|
mercredi 1 juillet 2009 à 19:04:22 |
Re : textbox nombre

ghuysmans99
|
Plus facile d'utiliser la solution par APIs proposée par PCPT ... 
|
|
jeudi 2 juillet 2009 à 00:53:34 |
Re : textbox nombre

Sunnydelight
|
Bonsoir tous le monde, Alors j'ai adapter le texte pour la toute première réponse et visual ne reconnait pas setfocus ou il me met un message d'erreur. J'ai pourtant bien déclarer les variables mais rien a faire. J'ai tester le code en API mais c'est encorre pire, je pense que je ne dois pas le recopier au bon endroit. Je suis débutant, c'est peut être pour sa que je bloc sur des choses de ce type, bref .J'apprends avec vb.net pour les nuls c'est tres bien mais il y a quelques infos comme le problème que j'énonce qui n'est pas assez approfondie. Quand je cherche sur le net il y a des morceaux de code énorme juste pour dire NON au lettre ou caractère, j'aurai pas pensé lol. J'ai donc adapté mon code et je voulais avoir votre avis. Voici mon code et qui fonctionne correctement, la partie clear me permettre d'éviter toute saisie de caractère evitant ainsi les beugs. Dites moi si la façon de faire est mauvaise. Je me suis inspiré du site : [ Lien ]Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChangedIfNot IsNumeric(TextBox1.Text) ThenTextBox1.Clear() ' MsgBox("Veuillez entrer un nombre !") beug l'affiche une seconde fois au second clik sur OKEndIfEndSub Bonne soirée
|
|
jeudi 2 juillet 2009 à 01:41:28 |
Re : textbox nombre

PCPT
|
Réponse acceptée !
ta méthode n'est pas bonne non : *tu testes toute la zone à chaque pression, alors que logiquement, tu as déjà "presque tout testé" à la pression précédente *si l'utilisateur fait une simple faute de frappe? 123465789g arrivé au g, tout sera vidé
tu as pris un exemple VB6 alors que tu es en VB.NET
je viens de traduire le lien de tout à l'heure
copie le code ci-dessous dans un module (projet > ajouter un module) que tu nommeras "modNumericBox", et applique l'exemple indiqué en section "remarques"
' TEXTBOX NUMERIQUE SEULEMENT ' http://www.codyx.org/snippet_textbox-numerique-seulement_53.aspx#2382 ' Posté par [ PCPT ] le 02/07/2009
Module modNumericBox Private Const ES_NUMBER As Integer = &H2000 Private Const GWL_STYLE As Integer = -16 <System.Runtime.InteropServices.DllImportAttribute("user32.dll", SetLastError:=True)> _ Private Function GetWindowLong(ByVal hwnd As IntPtr, ByVal nIndex As Integer) As Integer End Function <System.Runtime.InteropServices.DllImportAttribute("user32.dll", SetLastError:=True)> _ Private Function SetWindowLong(ByVal hwnd As IntPtr, ByVal nIndex As Integer, ByVal dwNewLong As Integer) As Integer End Function
Public Sub SetTextBoxNum(ByRef Obj As Object) If (TypeOf Obj Is System.Windows.Forms.TextBox) Then SetWindowLong(Obj.Handle, GWL_STYLE, GetWindowLong(Obj.Handle, GWL_STYLE) Or ES_NUMBER) End If End Sub End Module '---------------------------------------------------------------- 'Remarques : 'dans le form_load : 'modNumericBox.SetTextBoxNum(TextBox1) 'modNumericBox.SetTextBoxNum(TextBox2) ' 'selon les paramètres de votre projet et la version de VS, lors de la saisie d'une valeur non numérique, une popup (tooltip) exclamation apparaitra voici un aperçu du résultat depuis VS2008

++
|
|
jeudi 2 juillet 2009 à 19:31:27 |
Re : textbox nombre

Sunnydelight
|
Alors j'ai fais comme tu m'a expliqué et sa tourne comme sur des roulettes! Je suppose que le code dans le module faut pas chercher à trop comprendre toutes les lignes car la j'ai ren appris de ce genre pour le moment?
Il y a encorre un beug, quand l'utilisateur ne tape rien et fait entrée mais c'est un autre problème, je me débrouillerai.
Merci pour l'aide.
|
|
jeudi 2 juillet 2009 à 19:42:14 |
Re : textbox nombre

PCPT
|
(pense à valider la ou les bonnes réponses si le problème est résolu) " Je suppose que le code dans le module faut pas chercher à trop comprendre " bin à part ce code, je ne vois pas quel autre code tu pourrais avoir envie de comprendre dans ce cas :) ....
une textbox est une fenêtre, avec un style c'est windows qui le gère par chance, windows gère plusieurs styles on lui demande donc juste d'ajouter à la textbox le message enpêchant la saisie autre que numérique, définie par la constante ES_NUMBER demande si c'est pas clair
" quand l'utilisateur ne tape rien et fait entrée " à toi de vérifier que les zones ne sont pas vides, lors du _click (ou du _keypress enter)
if (TextBox1.TextLength>0) andalso (TextBox2.TextLength>0) then TONCODE endif
++
|
|
vendredi 3 juillet 2009 à 11:42:31 |
Re : textbox nombre

Sunnydelight
|
Tu plaisantes quand tu dit c'est le seul code à comprendre ? lol . Comme je disais je débute et pour le moment il y a pas mal de terme et d'expression que je ne connais pas comme par exemple :
Private Const ES_NUMBER As Integer = &H2000 Private Const GWL_STYLE As Integer = -16
ou
<System.Runtime.InteropServices.DllImportAttribute("user32.dll", SetLastError:=True)> _
Les valeurs attribués, l'utilisation de certaine nomination "DLLImportAttribute" et pas mal de partie. Je suppose que cela viendra avec le temps du moin gespere, la le livre pour les nuls m'a beaucoup aidé mais il ne parle pas de ce genre de problème ou de manière de l'écrire.
Je pense me diriger vers le livre visual basic.net étape par étape, sa l'air d'etre un livre assez complet.
Merci en tout cas pour votre aide.
|
|
Cette discussion est classée dans : bouton, textbox, programme, nombre, vient
Répondre à ce message
Sujets en rapport avec ce message
Limiter nombre de charactere saisie textbox via bouton [ par olobo ]
Bonjour!Voila j'ai un petit soucis j'aimerais limiter la saisie dans une TextBox a 4 charatère la commande est donc TxtBox.MaxLength = 4 Cependant ce
affichage textbox [ par titil64 ]
bonjour a tous alors je vous explique mon truc je travaille sous vba excel j'ai deux userformdans la premiere 20 texbox20label un bouton de commande "
Enregistrement dans un textbox - VB 2008 [ par ggdavidgg ]
Bonjour à tous ! J'ai créé un programme et une des parties de ce programme me pose un problème. Quand l'utilisateur cliquerait sur un bouton, cela pro
[déplacé VB.NET -> CPP] lancer un exécutable par un bouton en c++ [ par nimont010 ]
salutje suis face a un petit problèmeje veux lancer un programme a partir un d'autre programme par un click sur un bouton et le travail c'est fais en
Option Boutton / bouton option [ par psgman25 ]
Salut,Tout d'abord je vous éxplique ma situation Je suis en stage et je dois crée un mini programme pour facilité des calculs...J'utilise un PC avec W
Affecter a des textbox des valeur par hasar!! [ par mond14 ]
Salut,svp je fait un programme en vb.net2008 et j'ai besoin de votre aide.par-exemple on un 3 textbox et un bouton et je veux que si on clic sur ce b
Equation dans une TEXTBOX [ par DESMOULIN ]
J'ai fait un programme pour résoudre une équation du second degré (par exemple) en VB6 .Mais celle-ci est dans le programme, ce qui m'oblige à arreter
Récupérer le nombre de caractères saisis dans un textbox et l'afficher dans un autre textbox [ par nasilo ]
Bonjour,J'ai crée userform et limité le nombre de caractères saisis dans un textbox avec maxlenght. Je ne trouve pas le code qui me permettrait de réc
VB.NET [ par HELLOKITTYYY ]
Je travaille sur vb.Net. J'ai deux pages asp, l'une contient un textbox et un bouton, et la deuxième contient un textbox. Quel code vb je dois mettre
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|