Programación General > Visual Basic 6.0 e inferiores

 Re: Ayuda por Favor con este codigo

(1/1)

mexican:
Este codigo es para admita numeros, coma, punto y la tecla de retroceso pero cuando intento introducir el punto me pone la coma ¿que pasa?


Private Sub Text2_KeyPress(KeyAscii As Integer)

    Cadena = "0123456789.," + Chr(8)       'chr(8) = delete, es decir admitimos borrar
   
    If InStr(Cadena, Chr(KeyAscii)) = 0 Then
        KeyAscii = 0
    End If

    If KeyAscii = 46 Then
   
        KeyAscii = 44
       
    End If

End Sub

Brroz:
Hola Mexican

El código controla los carácteres que admite un TextBox llamado Text2. Se encuentra en el evento KeyPress que se desencadena cuando el usuario mantiene presionada una tecla sobre el control. Se recibe un parámetro (KeyAscii) que indica el código ascii del carácter que corresponde a la pulsación de la tecla.

En primer lugar se definen una serie de valores válidos para el textbox y se almacenan el la variable Cadena:

Cadena = "0123456789.," + Chr(8)

A continuación se usa la función Instr que devuelve la posición de un carácter en una cadena de texto. Se pregunta si el código de la tecla pulsada (KeyAscii) se encuentra entre los carácteres que se permiten (almacenados en Cadena) y en caso negativo (instr=0) se 'anula' la pulsación de la tecla (KeyAscii=0). A continuación se comprueba si el código de la tecla pulsada = 46 (carácter ,) y en caso afirmativo se sustituye por 44 (carácter .).

Suerte.

observador:
Osea que si no quieres que te cambie el punto por una coma, pues solo quitale el codigo

 
--- Código: Text ---    If KeyAscii = 46 Then        KeyAscii = 44    End If  
Que es el que al comprobar que se pulso la tecla equivalente al punto, pues lo cambia por una coma...

Saludos...

mexican:
Gracias por esta duda que me resolvieron

Navegación

[0] Índice de Mensajes

Ir a la versión completa