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 16-12-2007
chileno chileno is offline
Miembro
 
Registrado: jun 2005
Posts: 121
Poder: 19
chileno Va por buen camino
Validar un TEdit.....

Hola a todos....

mas que nada no validar los datos ingresados a un tedit....si no es evitar pegar una serie de caracteres a este componente (teclas Ctrl + V)......hecemen un cable para sacar este problemilla....
saludos a todos....
Responder Con Cita
  #2  
Antiguo 16-12-2007
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
Pon en el evento OnKeyPress del edit

Código Delphi [-]
//controlar entrada solo números
  if ( StrScan('0123456789.'+chr(7)+chr(8), Key) = nil ) then  Key := #0;
  //cambiar punto decimal por coma
  if key = '.' then key := ',';
  //controlar entrada una sola coma
  for i := 1 to length(EDos.Text) do
    if ( copy(EDos.Text,i,1) = ',' ) and not ( StrScan(',', Key) = nil ) then  Key := #0;
Responder Con Cita
  #3  
Antiguo 22-12-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
La validación es un paquete incluido , pero lo mejor es que el Ctrl+V no va a funcionar

Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 Edit1.ReadOnly := not (Key in [#8, '0'..'9', 'a'..'z']); // etc...
end;
Responder Con Cita
  #4  
Antiguo 22-12-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
cHackAll, pero si usamos el botón derecho del ratón y Pegar, entonces si lo haría ¿no?

En esos casos pongo un popupmenu en la ventana (sin elementos popupmenuItem) y lo asigno al edit/combo/etc. Así el menú estandard de windows (Copiar, cortar, pegar) se suplanta por el mío propio, que al no tener elementos, no se muestra.

Yo hubiera usado el evento OnKeyDown, allí tienes el parámetro Shift, por lo que podrías inhabilitar el Ctrl + V, pero habilitar el Ctrl + C, no sé si servirá de utilidad en este caso.

Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 16-02-2008
Avatar de georgejg
georgejg georgejg is offline
Miembro
 
Registrado: ene 2008
Ubicación: Colombia
Posts: 37
Poder: 0
georgejg Va por buen camino
Lepe En esos casos pongo un popupmenu en la ventana (sin elementos popupmenuItem) y lo asigno al edit/combo/etc. Así el menú estandard de windows (Copiar, cortar, pegar) se suplanta por el mío propio, que al no tener elementos, no se muestra.

Lepe me podrias ampliar la informacion sobre como suplantar el Menu estandar de Windows.

tengo un Tedit y necesito que no se pueda pegar de ninguna forma, ya impedi que me digitaran numeros y por lo tanto se bloquea el Ctrl + v.

Pero si le doy Click derecho sobre el Tedit entonces el Menu estandar de Windows le permitira al usuario pegar.
Responder Con Cita
  #6  
Antiguo 16-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 22
ixMike Va por buen camino
Tan sólo coloca al TEdit un TPopupMenu propio, incluso vacío.


Bienvenido, y saludos.

Por cierto, échale un vistazo a la guía de estilo

Última edición por ixMike fecha: 16-02-2008 a las 18:29:15.
Responder Con Cita
  #7  
Antiguo 31-10-2008
[David] David is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Málaga
Posts: 417
Poder: 21
David Va por buen camino
Hola

De otro post me han enlazado a este. He visto el código para introducir sólo numericos en el edit y si le agregas un TPopupmenu pues no funciona el pegar, que permite pegar strings.

Pero ahora tengo la pregunta. No habría una forma de que si el portapapeles tuviera un número válido, si se pudiera pegar con ctrl+v o botón derecho, pegar.

Edito, porque me surge un duda, si pones un punto se convierte en coma, perfecto, pero si pulsas la coma, no se añade nada, no te deja, ¿Qué habría que añadir en el código para permitir también la coma?
Responder Con Cita
  #8  
Antiguo 31-10-2008
[David] David is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Málaga
Posts: 417
Poder: 21
David Va por buen camino
lo de la coma ya lo he averiguado.

Ahora que permita pegar sólo numeros, y si no es número que no permita pegar, pues no tengo ni idea.


Me gustaría también como modificar el código, para poder insertar números negativos.
Responder Con Cita
  #9  
Antiguo 31-10-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cita:
Empezado por David Ver Mensaje
...No habría una forma de que si el portapapeles tuviera un número válido, si se pudiera pegar con ctrl+v o botón derecho, pegar...
Puedes revisar su contenido para habilitar o no su pegado, busca "Clipbrd" ó "OpenClipboard".

Cita:
Empezado por David Ver Mensaje
...si pones un punto se convierte en coma, perfecto, pero si pulsas la coma, no se añade nada, no te deja, ¿Qué habría que añadir en el código para permitir también la coma?
Saludos

Edito: solo permite la posibilidad que el primer caracter sea '-'.
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx

Última edición por cHackAll fecha: 01-11-2008 a las 17:05:58. Razón: Corrijo una etiqueta
Responder Con Cita
  #10  
Antiguo 31-10-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
¿por que no utilizar un TjvValidateEdit?

A ese control nada más le cambias una propiedad y ya no acepta caracteres, solo números, le puedes dar el formato que quieras y no necesitas hacer ninguna conversión de texto a número, ya que el control las hace solo de forma transaparente. En pocas palabras, con un TjvValidateEdit no tienes que escribir NADA de código para validarlo.

Viene en las Jedi (JVCL) que son gratis y muy recomendables.
__________________

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
validar un precio en un tedit jesus83 Conexión con bases de datos 11 11-01-2008 11:29:47
Validar un TEdit Nicoasd Varios 5 06-07-2007 13:38:24
Validar e-mail en tedit kakesoft OOP 4 12-12-2005 17:45:15
Validar tipo de datos en un Tedit.. Epunamun Varios 9 02-10-2005 08:51:51
validar datos en TEdit Luli Varios 1 26-01-2005 02:35:45


La franja horaria es GMT +2. Ahora son las 08:04:17.


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