BIMSOFTWARE.MX GStarCAD - Software CAD 2d/3d
Canales de Ingeniería Civil en:
Whatsapp / Telegram
Whatsapp / Telegram
Visual basic 6.0 (Texto numerico)
Hola a todos, soy novato en esto de la programacion asi que me saltan varias dudas cada vez mas. El problema es q tengo una caja de texto en la cual quiero solo permitir que se pueda escribir solo numeros (no texto), pero si la coma (decimal) pero a la vez que se pueda escribir una sola coma, pq en caso de error de tipeo se incluya otra coma, el programa se cae. Cualquier tipo de ayuda se agradece.
- ReneM
- Moderador
- Mensajes: 871
- Registrado: Vie Ago 19, 2005 1:55 pm
- Ubicación: Santiago - Chile
- Contactar:
Hola, puedes comenzar con este código:
Fuente: página de Guillermo "el Guille" Som: http://www.elguille.info/
Código: Seleccionar todo
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
KeyAscii = 0 ' Para que no "pite"
SendKeys "{tab}" ' Envía una pulsación TAB
ElseIf KeyAscii <> 8 Then ' El 8 es la tecla de borrar (backspace)
' Si después de añadirle la tecla actual no es un número...
'If Not IsNumeric("0" & Text1.Text & Chr(KeyAscii)) Then
' Corrección informada por: José Treviño (21/Sep/2001)
If Not IsNumeric(Chr(KeyAscii)) Then
' ... se desecha esa tecla y se avisa de que no es correcta
Beep
KeyAscii = 0
End If
End If
End Sub
el codigo q me enviaste esta correcto, pero lo malo es q no puedo escribir ninguna coma decimal. Los que necesito es colocar una coma decimal, pero solamente una coma, pq en caso de colocar otra el pregrama se cae. gracias
- cesar_mvp82
- Usuario Intermedio
- Mensajes: 47
- Registrado: Mar May 29, 2007 11:02 am
- Ubicación: riobamba
Hola jcguerrar, te adjunto un ejemplo en visual basic 6.0. Para que funcione bien tienes que cambiar el la configuración regional el separador decimal a punto (.); si lo quieres ocupar con coma (,) solo tienes que cambiar en el código:
If KeyAscii <> 8 And KeyAscii <> 46 And (KeyAscii < 48 Or KeyAscii > 57) Then
If KeyAscii <> 8 And KeyAscii <> 44 And (KeyAscii < 48 Or KeyAscii > 57) Then
44 es el código ASCII de coma (,); fíjate la diferencia entre las instrucciones Val() y Cdbl. Espero haberte ayudado, Saludos
If KeyAscii <> 8 And KeyAscii <> 46 And (KeyAscii < 48 Or KeyAscii > 57) Then
If KeyAscii <> 8 And KeyAscii <> 44 And (KeyAscii < 48 Or KeyAscii > 57) Then
44 es el código ASCII de coma (,); fíjate la diferencia entre las instrucciones Val() y Cdbl. Espero haberte ayudado, Saludos
- Adjuntos
-
Texto solo numeros.rar
- (1.51 KiB) Descargado 118 veces
-
- Información
-
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados