Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

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: 21
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: 21
Er_Manué Va por buen camino
No era exactamente lo que buscaba, pero me ha servido gracias
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

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 02:01:27.


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