Ver Mensaje Individual
  #2  
Antiguo 09-06-2008
SSoft SSoft is offline
Miembro
 
Registrado: dic 2007
Posts: 13
Reputación: 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