FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Configuración regional - Varias opciones
He revisado casi todos los hilos sobre este tema pero no obtengo un solución.
A ver si estoy en lo correcto: Cuando coloco las siguientes lineas de código en la creación de mi Main Form, funciona el ingreso de datos: Código:
ThousandSeparator := ','; DecimalSeparator := '.'; Application.UpDateFormatSettings := False; También encontre hacer una Unit ej. unPuntoComa Código:
unit unPuntoComa; interface Uses SysUtils; implementation initialization ThousandSeparator := ','; DecimalSeparator := '.'; end. También encontré, ubicar el siguiente código en la inicialización del DataModule, pero de la misma forma solo me funciona para el ingreso de datos. Código:
initialization ThousandSeparator := ','; DecimalSeparator := '.'; Código:
FormatFloat('#,###.#0 ',StrToFloat(AViewInfo.DisplayValue)) Ejemplo: Guardo el dato 120,000.15 y lo acepta En la base de datos esta como 120.000,15 Al leerlo, el string es 120.000,15 y no lo permite convertir a 120,100.15 para mostrarlo. Cual puede ser una solucion definitiva?. He visto que muchas personas tienen el mismo problema. Alguien tienen una solución. Por adelantado, muchas gracias por sus comentarios.
__________________
Cielos azules Última edición por Alexander fecha: 05-07-2005 a las 23:33:33. |
#2
|
||||
|
||||
Cita:
Cita:
Cita:
Suponiendo que AViewInfo sea el campo en cuestion, no sería más bien AViewInfo.Value??, al coger el valor, no pilla los separadores de millar, y evitas el problema. Yo el campo lo defino de tipo Float o Currency en la base de datos, y en la columna del DBGrid, asigno sus propiedades: DisplayFormat: = ',#0.00'; EditFormat := '#0.00' Observa que al editar, elimino el separador de miles. Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
||||
|
||||
Funciona a la perfección
Tienes toda la razón. Me funciona perfecto.
Coloqué en el DataModule el código Código:
initialization ThousandSeparator := ','; DecimalSeparator := '.'; Código:
FormatFloat('#,###.#0 ',StrToFloat(AViewInfo.DisplayValue)) Código:
FormatFloat('#,###.#0 ',AViewInfo.Value) Y ya me funciona muy bien. Haré el cambio en todo el programa. Muchas gracias por tomarte el tiempo de ayudarme. SUERTE Alexander
__________________
Cielos azules |
|
|
|