![]() |
Como cambiar "." por "," !!!
Hola a todos, me gustaria una pequeña ayuda, que es cuando presiono la tecla "." del teclado numerico, me aparezca en el tedit ,(coma), todo esto es a base de que quiero ingresar unos nros. con decimales, y es medio incomodo tener que presionar el boton de la coma del teclado, XQ presionando el .(punto) del teclado numerico no me reconoce como decimal.
Espero que hayan entendido mi pregunta... desde ya muchas gracias..... |
Cambiar coma por punto o punto por coma... una simple búsqueda en los foros te devolverá la solución, se ha tratado tantas veces :)
|
Un ejemplo:
Un Saludo. |
La función FillSpacesLeft, la he creado yo mismo, la añado para más claridad.
Un Saludo. |
Creo que negrokau se refiere a cuando se pulsa la tecla.
En el evento keypress
|
Cita:
Creo que no es necesario que en cada valor cambies el punto por una coma. Talvez bastaría con cambiar la variable de configuración regional que determina el separador de punto decimal. La variable global es DecimalSeparator. Si el valor de esa variable es el punto, tu programa empezará a reconocer el punto como separador decimal. Hacer lo que quieres hacer introduce Bugs futuros en los programas. Estos casos ya se han visto muy a menudo acá en el club. Haz una búsqueda de escenarios dónde los desarrolladores se quejan de "mi programa funciona perfecto, pero no en X computadora...". La mayoría de los casos, es por no respetar las configuraciones regionales. La solución que te propuse anteriormente es sólo superficial. No abarca todos los escenarios. Por ejemplo, que pasaría si un usuario escribe una coma en lugar de un punto como separador decimal? La solución propuesta por mí fallaría. Es por esta razón, que todas las funcionalidades que utilicen y manipulen de una u otra forma la configuración regional, tienen que implementarse con mucho cuidado para no introducir Bugs futuros. Saludos! |
Hola.
Coincido con Chris. Cuando el usuario presiona un punto espera ver un punto y no una coma, no sea cosa que llame al técnico o cambie el teclado :). Una alternativa a cambiar el valor de DecimalSeparator es, realizar el cambio en la asignación:
Saludos. |
Desde luego, aunque la pregunta de negrokau fuese hacer el cambio al presionar la tecla '.', creo que casi todos tenemos alguna función del tipo: CambiarPuntoPorComa, CambiarComaPorPunto, etc.
|
Cita:
Cita:
Saludos :) |
Cita:
Yo lo que hago es, como apunta el amigo Chris, ajustar la configuración regional a mi gusto al abrir el programa y problema resuelto, igual no es la solución más técnica pero es simple y efectiva. Saludos |
Me sumo a Casimiro Notevi y aparte se comprueba si ya existe la coma, si es un edit que utilice número decimales.
Un saludo. |
Cita:
|
Cita:
Un Saludo. |
Cita:
Saludos |
Cita:
No, en mi caso es sólo en el keypress del formulario, si el 'sender' es un tipo de campo entonces se cambia. Controlarlo en cada edit sería una barbaridad. |
Cita:
|
Cita:
Es preferible usar un componente edit que permita controlar directamente lo que se teclea. |
Cita:
(iba a poner solo dos ok pero esto no me deja, no soy tan pesado :D) |
Cita:
|
Cita:
Ya lo estoy reduciendo bastante, pero bastante. Antes utilizaba componentes de terceros desde la versión 3.0 y al pasar a la versión 5.0 ya no valian por incompatibilidad y te dejaban tirado, desde ese momento, aprendi a no utilizar componentes de terceros y sólo los que traia el propio delphi, me las ingeniaba para salir adelante Soy chapada a la antigua, yo me lo guiso yo me lo como. Un saludo. |
| La franja horaria es GMT +2. Ahora son las 08:26:30. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi