puntos y comas - decimales
Hola a todos!
Tengo un problema, estoy implementando una aplicación con Delphi y tengo el siguiente problema: Delphi, por defecto, utiliza el punto (.) para separar los decimales, en cambio Windows en castellano, por defecto, utiliza (,) para para separar los decimales. Entonces cuando utilizo un StrToFloat() o un FloatToStr() me da problemas. Lo que tengo que hacer es cambiar la configuración de windows para que utilice el punto para separar los decimales. El problema es que la aplicación, una vez hecha, si la quiero pasar a algún compañero, se tiene que cambiar la configuració de Windows... lo cual es una chapuza. Alguien sabe cómo solucionarlo? Muchas gracias. |
Al contrario de lo que pensás, las aplicaciones de delphi leen el separador decimal de la configuración de windows.
Si no queres basarte en dicha configuración, podes manipular directamente el valor de la variable DecimalSeparator de la unidad SysUtils (no recomendable si no sabes lo que haces). Hasta luego. ;) |
Hola,
Me extraña esto, porque se supone que Delphi utiliza cierta variable "DecimalSeparator", que digo yo inicializará con el valor que esté usándose en el sistema. No sé. Digo que me extraña, porque para evitar los problemas que refieres, supongo que usa la variable mencionada (entre otras variables y técnicas, claro), pero, si es como dices... pues chico, no sé... |
Lo que puedes hacer es jugar con la variable DecimalSeparator (char), aquí se almacena el separador decimal de windows.
Yo lo que hago es lo siguentes : 1.- En la introdución de texto : Capturo la tecla pulsada y si la tecla es '.' o ',' la cambio por DecimalSeparator. 2.- En el StrToFloat : si DecimalSeparator = ',' haces un StringReplace y cambias la ',' por el '.'. Espero te sirva. Un saúdo. |
¡Qué lento!, aquí el que no corre vuela, se me adelanto jachguate y dec :p.
Un saúdo. |
Otra cosa
¿Alguien sabe cómo hacer que alpulsar el punto del teclado numérico aparezca una como?
|
Es lo que te comento en el post anterior.
En el evento OnKeyPress del componente comprueba el valor del parmetro key, si key = "." entonces lo cambias por ",". Yo lo que hago es controlar si key = '.' o ',' y lo cambio por DecimalSeparator. Un saúdo. |
en "MI" aplicacion decido como se veran los numeros, por eso al final de la unit principal le agrego
Fuente: este club. |
La franja horaria es GMT +2. Ahora son las 03:27:12. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi