Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-11-2013
jocaro jocaro is offline
Miembro
 
Registrado: sep 2011
Posts: 104
Poder: 15
jocaro Va por buen camino
Numero máximo caracteres en un TEdit (maxlength)

Hola

Tengo interés en ver el evento y el código fuente que controla el número máximo de caracteres en un TEdit. He intentado encontrarlo en el Vcl.StdCtrls.pas, he intentado encontrar el evento onkeypress, pensando que es ahí donde se controla, pero no he conseguido esa información.

Alguno de vosotros me puede indicar como encontrar ese código.

Gracias por vuestra ayuda

Un saludo
Responder Con Cita
  #2  
Antiguo 12-11-2013
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 25
José Luis Garcí Va camino a la fama
si no recuerdo mal algo de eso ley hace años creo recordar que lo que hacia en el OnChange era un lenght al text si este era igual o superior disparaba el OnExit y pasaba al siguiente control, eto fue visto en un componente Edit, no el de Borland, de un tercero, recuerdo que era un componente freeware, pero no recuerdo el nombre del componente.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #3  
Antiguo 12-11-2013
jocaro jocaro is offline
Miembro
 
Registrado: sep 2011
Posts: 104
Poder: 15
jocaro Va por buen camino
Cita:
Empezado por José Luis Garcí Ver Mensaje
si no recuerdo mal algo de eso ley hace años creo recordar que lo que hacia en el OnChange....
Gracias por tu ayuda. Imagino que el componente standard actuará de forma parecida.

De todos modos, me gustaría saber en que fichero fuente se encuentra el código que lo gestiona. Si algun miembro del foro puede indicarme, lo agradecería.

Un saludo
Responder Con Cita
  #4  
Antiguo 12-11-2013
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 688
Poder: 21
olbeup Va camino a la fama
Dentro de tú formulario, pulsa al Ctrl + Click izquierdo del ratón en el TEdit y te llevará directo a la fuente.

Un salduo
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #5  
Antiguo 12-11-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Busca el código fuente de la clase TCustomEdit.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 15-11-2013
jocaro jocaro is offline
Miembro
 
Registrado: sep 2011
Posts: 104
Poder: 15
jocaro Va por buen camino
Gracias olbeup y Neftali por vuestra ayuda.

Mediante el atajo no he podido llegar a la fuente, pero he mirado el TCustomEdit, en el fuente Vcl.StdCtrls.pas, aunque no he conseguido ver el código donde controla el número máximo de caracteres.

Un saludo
Responder Con Cita
  #7  
Antiguo 15-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por jocaro Ver Mensaje
Gracias olbeup y Neftali por vuestra ayuda.

Mediante el atajo no he podido llegar a la fuente, pero he mirado el TCustomEdit, en el fuente Vcl.StdCtrls.pas, aunque no he conseguido ver el código donde controla el número máximo de caracteres.

Un saludo
Hola jocaro.
Código Delphi [-]
...
procedure TCustomEdit.DoSetMaxLength(Value: Integer);
begin
  SendMessage(Handle, EM_LIMITTEXT, Value, 0)  // <<== Máximo de caracteres fijado: Value
end;
...
Acción que también podes ejecutar desde tu código, por ejemplo:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Perform(EM_LIMITTEXT, 2, 0); 
end;
Aunque claro está que es mas simple usar la propiedad MaxLength...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 18-11-2013
jocaro jocaro is offline
Miembro
 
Registrado: sep 2011
Posts: 104
Poder: 15
jocaro Va por buen camino
Gracias por tu ayuda ecfisa

La curiosidad por conocer el código que valida la longitud máxima de un TEdit me surgió porque utilicé un componente derivado de TEdit que sólo permite números y carácter de decimales (TNumEdit), que no valida correctamente el límite definido en la propiedad maxlength.

Abusando de tu amabilidad, si en el TEdit uso la propiedad maxlength ¿en que evento se validaría ésta?, ¿en que en que clase, en que método? ¿se podría ver el código que se utiliza en dicho método?.

Un saludo

Última edición por jocaro fecha: 18-11-2013 a las 21:18:48.
Responder Con Cita
  #9  
Antiguo 18-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jocaro.

Es que no es necesario que se valide, al enviar el mensaje EM_LIMITTEXT con 'n' caracteres a un edit control, el límite queda fijado mientras dura la vida del componente o se altere su valor mediante el envío de otro mensaje.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Al modificar MaxLength ajustar TEdit.Width elGuerrero OOP 5 21-02-2012 06:05:33
Nº maximo caracteres franfl Firebird e Interbase 3 30-04-2008 19:10:04
Como hacer TEdit Personalizado (maximo 10 caracteres, con una mascara, etc) mancurnino Conexión con bases de datos 2 08-03-2008 03:00:47
maximo caracteres en un grid nemesio Varios 0 14-06-2006 06:21:32
Maximo numero de usuarios xp profesional ferysil2003 Windows 2 02-02-2006 18:17:35


La franja horaria es GMT +2. Ahora son las 13:02:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi