Only Numbers

Posted by: Mornse

Only Numbers - 09/02/02 07:49 PM

How could I make it possible for users to only enter numbers into a text box? Is it possible for it to just not display letters period? Or how would I just make a messagebox giving an error if they did enter a letter and hit enter?
Posted by: SilentRage

Re: Only Numbers - 09/03/02 02:37 AM

Here's the easiest and most effective way:

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Const GWL_STYLE = -16
Const ES_NUMBER = &H2000&

SetWindowLong Text1.hwnd, GWL_STYLE, GetWindowLong(Text1.hwnd, GWL_STYLE) Or ES_NUMBER
Posted by: Predator

Re: Only Numbers - 09/03/02 07:51 AM

hmm, no idea about that one SR, this one is without api and is also very simple

a little example:

Code:
Private sub textbox_keypress(keyAscii as Integer)
   If (KeyAscii < 48 or KeyAscii > 57) and Keyascii <> 8 Then 
      'messagebox here
      Keyascii = 0
      'ascii value 8 = backscpace (when they entered a wrong number  :) )
   End if
End sub
Posted by: Predator

Re: Only Numbers - 09/03/02 07:52 AM

argh, ok just delete this one
I did wanted to correct something and accidenlty clicked on reply with a quote
Posted by: SilentRage

Re: Only Numbers - 09/03/02 06:05 PM

I fixed your post Predator so that the <'s and >'s are displayed properly.

Yes, I still use that technique to outlaw various characters. Did you learn that technique from my whois code? I made a textbox in it only accept domain-relevent characters.

But yeah, try out my technique predator. The characters besides numbers and the backspace are blocked at the source. It's more efficient. Besides, that, you can use other styles to make it all upper case letters or lowercase. Maybe more, I can't remember all the edit box styles.
Posted by: Predator

Re: Only Numbers - 09/03/02 09:35 PM

Na, i did learn this technique at school, cause we did learn to use vb and databases, so sometimes it was really necesarry to use it, and since we didn't learn any api calls...

Maybe your code is the best solution, but for people not familiar with api it might be a problem (don't know if Mornse is familiar with it) so i gave a little alternative
Posted by: Mornse

Re: Only Numbers - 09/04/02 02:10 AM

Well, I've used API before, but I wouldn't say I'm really familiar with it. I dislike using it cause I'm lazy and don't like using/understanding all that code cause I like to understand the code I use. I'll probably just use pred's example because I understand it all. Thanx for the help guys.
Posted by: SilentRage

Re: Only Numbers - 09/04/02 02:21 AM

bah humbug. cheap, cheap excuse! but oh well, what pred described is definately a technique worth learning though.