Programación General > Visual Basic 6.0 e inferiores
Re: Punto del teclado numerico
Gerard:
Hola, mi aplicación está trabajando con €uros, y para escribir los numeros utilizo el teclado numerico. El problema es el siguiente: En los €uros, el decimal se hace con "," y en el teclado numerico hay "." , queria saber si hay algun codigo para que cuando escribas el punto (solo teclado númerico) se escriba una ","
Espero que me ayuden. Muchas Gracias:) :adios:
acalanto:
Yo sólo he encontrado una solución a este problema lo cual no quere decir que existan otras.
Primer Paso: Determinar el tipo de separador decimal que tiene configurado el Sistema Operativo. (Puedes hacerlo con un format de cualquier valor decimal y analizar si pone '.' o ',')
En los formularios selecciona KeyPreview a TRUE y en el evento KeyDown puedes captar si han tocado el punto decimal o la coma y cambiarlo de acuerdo a la necesidad de cada momento.
Es un poco engorroso pero funciona y es la única forma en la que puedo tratar tan penosa deficiencia en los objetos de Microsoft.
Espero que te resulte útil.
Un saludo
-Acalanto-
chiaravel:
El amigo Acalanto me gano de mano, pero hace falta una aclaracion adicional.
Es cierto... hay que usar el evento KEYDOWN, ya que te va a permitir capturar el codigo de la tecla oprimida.
Esto es fundamental ya que este evento tiene como parametro implicito KEYCODE.
Bien...
En respuesta a tu necesidad de determinar si el "." pulsado es el del teclado numerico, o el "." del teclado comun, te cuento que ...
KeyCode=190 (Teclado Alfabetico)
KeyCode=110 (Teclado Numerico)
Entonces si quieres programar el "." del teclado numerico, simplemente deberas colocar un IF en el evento KeyDown de cualquier objeto.
IF KEYCODE=110 then
msgbox("Uds. pulso el . del teclado numerico")
End If
Espero que esto sea lo que necesitabas.
Suerte
Gerard:
Bueno, gracias por su ayua, pero lo que yo quiero, és lo siguiente (perdonen no haberme explicado con claridad;)):
Estoy en el "Text1", y pulso el punto del teclado numerico. Logicamente, en el text1, aparecerá el caracter ".", pues en vez de aparecer el "." lo que quiero es que aparezca ",". Es decir, hacer una sustitución de esa tecla.
Espero que ahora i lo entiendan:)
chiaravel:
Solo falta un dato mas y tenes todo listo.
en el evento Keydown simplemente cuando detectas que se pulso el "." del teclado numerico, forzas la coma.
Ejemplo
Private sub text1_keydown(KeyCode As Integer, Shift As Integer)
if keycode=110 then
keycode=asc(",")
end if
Y listo... esto fuerza a la aplicacion a interpretar el "." del teclado numerico, como si el operador hubiera pulsado la ",".
Suerte
Navegación
[#] Página Siguiente
Ir a la versión completa