Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2008
SSoft SSoft is offline
Miembro
 
Registrado: dic 2007
Posts: 13
Poder: 0
SSoft Va por buen camino
Obtener carácter de separación decimal

Hola a todos!
Usé la variable DecimalSeparator del truco recomendado en Trucomanía, así como la función que alli se presenta sin resultados, solo me faltó probar el API de Windows GetNumberFormat, pero no se cómo usarlo. Necesito esto pues programé una aplicación en D7 con DBExpress que puede ser usada con máquinas con distintas cofiguraciones, separador punto o bien, coma, y quisiera que tuviera un comportamiento similar al IBExppress: lee el punto del teclado numérico, lo transforma en coma, luego de dar TAB, lo vuelve a transformar en punto. Gracias.

SSoft.
Responder Con Cita
  #2  
Antiguo 09-06-2008
SSoft SSoft is offline
Miembro
 
Registrado: dic 2007
Posts: 13
Poder: 0
SSoft Va por buen camino
Resuelto

Cita:
Empezado por SSoft Ver Mensaje
Hola a todos!
Usé la variable DecimalSeparator del truco recomendado en Trucomanía, así como la función que alli se presenta sin resultados, solo me faltó probar el API de Windows GetNumberFormat, pero no se cómo usarlo. Necesito esto pues programé una aplicación en D7 con DBExpress que puede ser usada con máquinas con distintas cofiguraciones, separador punto o bien, coma, y quisiera que tuviera un comportamiento similar al IBExppress: lee el punto del teclado numérico, lo transforma en coma, luego de dar TAB, lo vuelve a transformar en punto. Gracias.

SSoft.
Hola again!

Resolví de la siguiente forma:

procedure TwndCampos.FormKeyPress(Sender: TObject; var Key: Char);
function SepDec: string;
var
FormatSettings: TFormatSettings;
begin
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, FormatSettings);
Result := FormatSettings.DecimalSeparator;
end;

begin //Main
inherited;
if ActiveControl is TDBEdit then
if Key = '.' then
Key := SepDec[1];
end;


Luego en el evento SetText del campo, cambio la coma por punto!!!
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
!! Coversion Binario a Decimal y de Decimal codigo ascii BuRtOn Varios 4 14-03-2008 04:13:11
Obtener la parte decimal de un campo money mbelda MS SQL Server 4 08-02-2008 16:10:21
file of, caracter de separación jonmendi Varios 12 09-06-2006 17:27:19
Obtener la posición de un caracter en una cadena Javi2 Varios 3 09-06-2005 09:08:06
Obtener parte entera, decimal repo Firebird e Interbase 3 07-10-2004 22:10:25


La franja horaria es GMT +2. Ahora son las 03:45:36.


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