Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Coma en teclado numérico (https://www.clubdelphi.com/foros/showthread.php?t=2597)

javiermorales 30-07-2003 08:43:46

Coma en teclado numérico
 
Buenos días a todos. Una pregunta rápida. ¿Sabéis qué se debe hacer para que en campos DBEdit con formato numérico Ej: "###,###.00", se pueda introducir la coma con el "." del teclado numérico. Con la coma del teclado alfabético funciona perfectamente.

Gracias. Un saludo.

__cadetill 30-07-2003 10:09:30

Puedes controlar el OnKeyPress del TDBEdit y, si se pulsa el punto, cambiar el valor por una coma

Código:

procedure TForm1.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key = '.' then key := ',';
end;

Espero te sirva

javiermorales 30-07-2003 12:44:08

Gracias Cadetill, voy a probarlo.

De todas maneras, se lo pondré en el formulario padre y lo heredarán todos, pero ¿podría evitar que siempre se sustituya el punto, ya que en algunos campos si que se querrá utilizar el punto (por ejemplo en los que albergan texto)?.

Gracias de nuevo.

andres1569 30-07-2003 13:01:33

Hola:

Mírate este hilo, donde se trató este mismo tema. La solución consiste en sustituir únicamente el punto cuando se pulsa desde el teclado numérico, y afecta a toda la aplicación, lo cual en la mayoría de los casos será válido:

http://www.clubdelphi.com/foros/show...?threadid=1463

También puedes usar la solución de Cadetill, y si los DBEdits van enlazados a un evento común, hacer la siguiente comprobación:

Código:

procedure TForm1.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  with TDBEdit(Sender) do
    if (key = '.') AND Assigned(Field) AND
      (Field.DataType in [ftCurrency, ftFloat]) then
      key := ',';
end;


javiermorales 30-07-2003 13:13:41

Muchas Gracias Andrés. Ha sido muy didáctico. Un saludo.


La franja horaria es GMT +2. Ahora son las 10:36:30.

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