Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-07-2003
Avatar de javiermorales
javiermorales javiermorales is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 272
Poder: 21
javiermorales Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 30-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 30-07-2003
Avatar de javiermorales
javiermorales javiermorales is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 272
Poder: 21
javiermorales Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 30-07-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 21
andres1569 Va por buen camino
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;
__________________
Guía de Estilo
Responder Con Cita
  #5  
Antiguo 30-07-2003
Avatar de javiermorales
javiermorales javiermorales is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 272
Poder: 21
javiermorales Va por buen camino
Muchas Gracias Andrés. Ha sido muy didáctico. Un saludo.
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


La franja horaria es GMT +2. Ahora son las 03:30:46.


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