Visual Basic - RESTRINGIR TEXTBOX A INGRESAR SOLO NUMEROS

Life is soft - evento anual de software empresarial
 
Vista:

RESTRINGIR TEXTBOX A INGRESAR SOLO NUMEROS

Publicado por BEX4 (119 intervenciones) el 31/07/2002 23:33:21
COMO LO HAGO !??!?!?!
LOS CODIGOS QUE ME DIERON NO FUNCIONAN
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:RESTRINGIR TEXTBOX A INGRESAR SOLO NUMEROS

Publicado por felipe (74 intervenciones) el 01/08/2002 00:28:24
mira no tengo aqui el VB, pero te voy a tratar de ayudar :

Sub Text1_Keypress(KeyAscii As Integer)
If KeyAscii < Asc(0) or Keyascii > Asc("9") Then
If KeyAscii <> 8 Then ' este es el Backspace
KeyAscii = 0
End If
End If
End Sub

como funciona :

cuando presionas una tecla en el campo textbox este llama a este evento (Keypress) todas las teclas tienen valores ( Ascii), lo que tienes que hacer es filtrar cuales quieres y cuales no eso es todo, para agregar puntos o comas para decimales tienes que abilitar solamente que te las accepte ( poniendo mas If y sabiendo que codigos Ascii corresponden )

Tienes que investigar un poco mas, yo no te voy a dar en bandeja

Saludos desde Chile

Felipe

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:RESTRINGIR TEXTBOX A INGRESAR SOLO NUMEROS

Publicado por POLA (522 intervenciones) el 01/08/2002 10:02:55
Te envío a tu correo un pequeño código que espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:RESTRINGIR TEXTBOX A INGRESAR SOLO NUMEROS

Publicado por adolfo (45 intervenciones) el 01/08/2002 11:26:34
Hola BEX4
Te digo como lo hago yo:
Primero has de declarar un par de funciones de la API en un módulo o en el mismo forumulario (yo lo tengo en un módulo aparte porque lo uso en varios formularios):

Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Public Const GWL_STYLE = (-16)
Public Const ES_NUMBER = &H2000&

Luego tengo un rutina en el mismo módulo:

Public Sub SoloNumerico(txt As TextBox)
Dim Estilo As Long
Estilo = GetWindowLong(txt.hwnd, GWL_STYLE)
SetWindowLong txt.hwnd, GWL_STYLE, Estilo Or ES_NUMBER
End Sub

Ahora lo que tienes que hacer es en el evento form_load del formulario escribir:

SoloNumerico Text1

Espero que te sirva y si no avisa. Un saludo, Adolfo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar