Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-06-2006
Er_Manué Er_Manué is offline
Miembro
 
Registrado: may 2003
Posts: 74
Poder: 22
Er_Manué Va por buen camino
Limitar entrada de texto en un DBGrid

Hola,Tengo un DBGrid asociado a un ADOTable; uno d los campos es de tipo float, y me gustaría controlarlo antes de que se validara; para así, entre otras cosas, poder limitar el número de caracteres introducidos por el usuario, y por ejemplo no permitir que el usuario introduzca el caracter e.

Gracias
Responder Con Cita
  #2  
Antiguo 05-06-2006
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
celades1 Va por buen camino
Hola

Para no dejar escribir una e
evento on keypress del grid

if key='e' then key:=#0;

yo para canviar el separador decimal el punto por la coma

if key='.' then key:=',';

Para que salte en un grid al presionar un digito de mas
mirate el ejemplo evento onkeyup del dbgrid donde
DBGAssentament es el dbgrid
assentamentdeure,assentamenthaber son fields del dataset assentament
n_digits es el numero de digitos maximos
El ejemplo me funciona en mi aplicación

Código Delphi [-]
procedure TFDades_Assentament.DBGAssentamentKeyUp(Sender: TObject;var Key: Word; Shift: TShiftState);
Var
  B: integer;
  texte:string;
begin
  if ((DBGAssentament.SelectedField=assentamentdeure) or (DBGAssentament.SelectedField=assentamenthaber))
  AND (key<>VK_LEFT) AND (key<>VK_RIGHT) AND (key<>VK_UP) AND (key<>VK_DOWN) AND (KEY<>0)
   then begin
      for B := 0 to (DBGAssentament.ControlCount - 1) do begin
          if DBGAssentament.Controls[b] is TInPlaceEdit then begin
             with DBGAssentament.Controls[b] as TInPlaceEdit do begin
                texte := Text;
             end;
          end;
          if length(texte)>=n_digits then
          DBGAssentament.SelectedIndex:=DBGAssentament.SelectedIndex+1;
     end;
  end;
end;
Responder Con Cita
  #3  
Antiguo 13-06-2006
Er_Manué Er_Manué is offline
Miembro
 
Registrado: may 2003
Posts: 74
Poder: 22
Er_Manué Va por buen camino
No era exactamente lo que buscaba, pero me ha servido gracias
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Limitar texto en RichEdit dim OOP 1 15-09-2005 13:21:50
guardar un dbgrid en un archivo de texto unreal4u Conexión con bases de datos 4 18-03-2005 20:08:57
Seleccion de un Texto en un DBGrid rjsitruiz Varios 2 31-05-2004 17:58:19
importar texto a dbgrid neon543 Varios 1 15-07-2003 16:15:53
Buscar Texto en un DBgrid MeTaL Tablas planas 1 18-06-2003 08:10:29


La franja horaria es GMT +2. Ahora son las 06:24:32.


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