textbox me acepte solo numeros??

Iniciado por melielectra, 7 Octubre 2006, 06:53 AM

0 Miembros y 3 Visitantes están viendo este tema.

Angeldj27

La que yo siempre utilizo es esta funcion


Private Function Valor10(Tecla As Integer) As Integer
Dim StrValido As String
StrValido = "1234567890."
    If Tecla > 26 Then
        If InStr(StrValido, Chr(Tecla)) = 0 Then
            Tecla = 0
        End If
    End If
    Valor10 = Tecla
End Function



Y en el evento keypress del text la llamo


Private Sub txtCantidad_KeyPress(KeyAscii As Integer)
    Call Valor10(KeyAscii)
End Sub


siempre me ha funcionado bien

Saludos...


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

cobein

SetWindowLong(tutextbox.hWnd, GWL_STYLE, ES_NUMBER)
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

Karcrack

Aqui dejo un Snippet usando el Api GetWindowLong y SetWindowLong:

Código (vb) [Seleccionar]
Option Explicit
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Sub Form_Load()
    Call OnlyNumbers(Text1.hwnd)
End Sub

Public Function OnlyNumbers(ByVal lHwnd As Long) As Boolean
    Dim New_Style           As Long
    Dim Act_Style           As Long
   
    Act_Style = GetWindowLong(lHwnd, (-16)) 'Const GWL_STYLE As Long = -16
   
    If Not (Act_Style And &H2000&) Then 'Const ES_NUMBER As Long = &H2000&
        New_Style = (Act_Style Or &H2000&) 'Const ES_NUMBER As Long = &H2000&
        OnlyNumbers = SetWindowLong(lHwnd, (-16), New_Style) 'Const GWL_STYLE As Long = -16
    End If
End Function


Saludos ;)

Frikimaster

Cita de: Karcrack en 29 Noviembre 2008, 13:30 PM
Aqui dejo un Snippet usando el Api GetWindowLong y SetWindowLong:

Código (vb) [Seleccionar]
Option Explicit
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Sub Form_Load()
    Call OnlyNumbers(Text1.hwnd)
End Sub

Public Function OnlyNumbers(ByVal lHwnd As Long) As Boolean
    Dim New_Style           As Long
    Dim Act_Style           As Long
   
    Act_Style = GetWindowLong(lHwnd, (-16)) 'Const GWL_STYLE As Long = -16
   
    If Not (Act_Style And &H2000&) Then 'Const ES_NUMBER As Long = &H2000&
        New_Style = (Act_Style Or &H2000&) 'Const ES_NUMBER As Long = &H2000&
        OnlyNumbers = SetWindowLong(lHwnd, (-16), New_Style) 'Const GWL_STYLE As Long = -16
    End If
End Function


Saludos ;)

Disculpa, yo que soy nuevecito en esto...que es un snippet? :-[ :-[ , aunque entiendo que el codigo es para que acepte solo numeros...supongo que sera algun tipo de programa, pero podrias decirme que significa? Simple curiosidad de novato XD

Frikimaster
La musica de la logica nunca fallara al sonar la melodia de la verdad.

cobein

Snippet (programming)
From Wikipedia, the free encyclopedia
Snippet is a programming term for a small region of re-usable source code or text
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

Frikimaster

Console.Writeline ("Gracias");


Frikimaster
La musica de la logica nunca fallara al sonar la melodia de la verdad.

ricardovinzo

porque no se usa el operador asi:

Código (vb) [Seleccionar]
If IsNumeric(Text1.text) = False then
     msgbox("Hay letras")
else
     msgbox("No hay letras")
end if
3# Convocacion de Moderadores en Code Makers, entra!