Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-04-2013
river_1 river_1 is offline
Miembro
 
Registrado: may 2010
Posts: 55
Poder: 14
river_1 Va por buen camino
Error con numeros y decimales

Buenas , tengo una aplicacion diseñada en Delphi 7 y BD SQL. Tengo problemas al poner el exe con mi cliente en la parte del desplegado de los numeros , les explico :

Con mi cliente los DBedit y los valores numericos del grid aparecen asi 45,50 cuando deberia de ser asi 45.50 , se pensaria que la configuracion regional del equipo estuviera en otro pais diferente a Mexico que es la que yo ocupo pero todo esta configurado bien , de hecho en la BD se almacenan bien los valores con el punto decimal correcto.

Solo pasa con el desplegado en mi programa y solo con el cliente, tambien lo raro es que todas las aplicaciones del equipo funcionan muy bien, esto es la primera vez que pasa y no tengo la menor idea el porque lo hace.
A alguien le ha pasado?.
De antemano gracias.
Responder Con Cita
  #2  
Antiguo 19-04-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola river_1.
Cita:
...se pensaria que la configuracion regional del equipo estuviera en otro pais diferente a Mexico que es la que yo ocupo pero todo esta configurado bien
Sin embargo tiene toda la pinta de ser por la configuración regional... Podes comprobar que país (abreviatura) y separador decimal tiene configurado el S.O. del equipo:
Código Delphi [-]
...
function GetLocaleInformation(lcType : LCTYPE) : string;
var
  buffer  : PChar;
  cchData : Integer;
begin
  cchData := GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, lcType, 0, 0);
  GetMem(buffer, cchData);
  try
    Result:='';
    if GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, lcType, buffer, cchData) > 0 then
      Result := buffer;
  finally
    FreeMem(buffer);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('País: ' + GetLocaleInformation(LOCALE_SABBREVCTRYNAME)+#10+
              'Separador decimal: '+GetLocaleInformation(LOCALE_SDECIMAL));
end;
...
Cita:
Con mi cliente los DBedit y los valores numericos del grid aparecen asi 45,50 cuando deberia de ser asi 45.50
Aunque no es aconsejable, si queres que siempre el separador decimal sea el punto, independientemente de la configuración regional, al inicio de tu aplicación podes hacer:
Código Delphi [-]
  Application.UpdateFormatSettings := False;
  DecimalSeparator := '.';

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 21-04-2013
river_1 river_1 is offline
Miembro
 
Registrado: may 2010
Posts: 55
Poder: 14
river_1 Va por buen camino
Gracias

Gracias ecfisa por tomarte el tiempo de contestar a mi pregunta , esas pruebas solo las puedo realizar con el cliente porque solo con esa maquina me da el problema. De hecho compare la configuracion regional de mi maquina con la del cliente y tenemos la misma configuracion regional no hay ninguna diferencia, la unica es que el tiene windows 7 a 64 bits y el mio es windows 7 a 32.

La otra es que en la BD se almacenan los valores de manera correcta aun cuando el cliente captura por ejemplo el numero 45,50, en la BD se almacena bien 45.50. Tambien todas las demas aplicaciones le funcionan de manera correcta y no le quiero mover a su configuracion porque todo su equipo esta funcionando de manera correcta.

Lamentablemente no puedo hacer nada con mi maquina ya que a mi me funciona bien y nunca habia tenido ese problema con mis programas.

Algo que no sea configuracion de windows esta pasando y no se que es ?? Alguna otra recomendacion en lo que se llega el LUnes para hacer las pruebas que me sugeriste??
Gracias...
Responder Con Cita
  #4  
Antiguo 21-04-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
El problema que tienes aparenta de todas a todas ser lo que te comenta nuestro amigo ecfisa. Yo me he encontrado a veces que ordenadores con una configuración regional en teoría correcta me daban el mismo problema así que te aconsejaría hacer una prueba en el cliente con las instrucciones que te menciona para forzar el decimal a punto.

Código Delphi [-]
Application.UpdateFormatSettings := False;
DecimalSeparator := '.';

Saludos
__________________
Be water my friend.
Responder Con Cita
  #5  
Antiguo 21-04-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola river_1.
Cita:
Empezado por river_1 Ver Mensaje
tenemos la misma configuracion regional no hay ninguna diferencia, la unica es que el tiene windows 7 a 64 bits y el mio es windows 7 a 32.
Haber empezado por eso!

Revisa este enlace, creo que se trata de un caso similar al tuyo: Decimalseparator y thousandseparator en Windows 7 64 bits home premium.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 24-04-2013
river_1 river_1 is offline
Miembro
 
Registrado: may 2010
Posts: 55
Poder: 14
river_1 Va por buen camino
Ya quedo señores , con la opcion de Restablecer en la configuracion regional se arreglo...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
mostrar números decimales lucas05 Varios 5 07-12-2011 16:40:58
Numeros con más de 18 decimales HySTD Varios 1 21-08-2008 21:10:32
mostrando numeros decimales ercrizeporta Varios 2 01-07-2007 21:05:24
Imprimir NÚmeros Sin Decimales jadelphi Varios 2 12-04-2005 12:07:21
Numeros Decimales en RAVE Prophoenix Impresión 1 25-02-2004 02:54:01


La franja horaria es GMT +2. Ahora son las 22:41:08.


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
Copyright 1996-2007 Club Delphi