Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Obtener carácter de separación decimal (https://www.clubdelphi.com/foros/showthread.php?t=57199)

SSoft 07-06-2008 16:19:15

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.

SSoft 09-06-2008 15:03:15

Resuelto
 
Cita:

Empezado por SSoft (Mensaje 292068)
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!!!


La franja horaria es GMT +2. Ahora son las 06:11:05.

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