Canales de Ingeniería Civil en: *Whatsapp* / *Telegram*

Visual basic 6.0 (Texto numerico)

Para hablar sobre Software (Windows, Linux, Mac), Hardware, Herramientas y Equipos Electronicos.
Responder
jcguerrar
Usuario Principiante
Usuario Principiante
Mensajes: 6
Registrado: Lun Sep 07, 2009 6:20 pm

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.
Avatar de Usuario
ReneM
Moderador
Mensajes: 871
Registrado: Vie Ago 19, 2005 1:55 pm
Ubicación: Santiago - Chile
Contactar:
Chile

Hola, puedes comenzar con este código:

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
Fuente: página de Guillermo "el Guille" Som: http://www.elguille.info/
jcguerrar
Usuario Principiante
Usuario Principiante
Mensajes: 6
Registrado: Lun Sep 07, 2009 6:20 pm

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
Avatar de Usuario
cesar_mvp82
Usuario Intermedio
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
Adjuntos
Texto solo numeros.rar
(1.51 KiB) Descargado 85 veces
Responder

Volver a “Computacion y Tecnologia”

  • Información