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 23-07-2005
Avatar de rolando_s
rolando_s rolando_s is offline
Miembro
 
Registrado: oct 2003
Ubicación: Santiago Chile
Posts: 31
Poder: 0
rolando_s Va por buen camino
Lightbulb Filtrar entrada de teclado

Hola foreros yo con mas dudas que nunca

estoy tratando de filtrar los datos que se ingresan a una aplicacion tengo un tedit1 en el que se ingresan los datos pero quiero que solo se ingresen numeros enter tab y borrar.
el codigoque tengo abisa que se ingreso una letra u otro caracter pero permite que se escriba.
lo que busco es algo que no permita que se escriban los demas caracteres.
si me pueden orientar un poco se los agradecere.

procedure TVentas_b.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);

Begin
if not(chr(Key) in ['0','1', '2','3','4','5','6','7','8','9' ]) then
ShowMessage('solo numeros');
end;
end.
__________________
www.cybervanet.cl
El matrimonio es como un submarino
puede flotar pero esta diseñado para hundirse
Responder Con Cita
  #2  
Antiguo 23-07-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Código Delphi [-]
procedure TVentas_b.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);

  Begin
    if key > 31 then // Dejamos que se pulsen teclas de control
      if not(chr(Key) in ['0','1', '2','3','4','5','6','7','8','9' ]) then
          key := 0; // esto es lo que faltaba, anulamos la tecla.
  end;
end.

Por cierto, si usa el portapapeles, si permitirá pegar letras

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 23-07-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Esto no parece tener problemas con el portapapeles:

Código Delphi [-]
 procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
 begin
   // #8 is Backspace
   if not (Key in [#8, '0'..'9']) then begin
     ShowMessage('Invalid key');
     // Discard the key
     Key := #0;
   end;
 end;
Por cierto que lo encontré aquí.

Actualización: Parece que sí hay algún problema con el portapapeles: No vale "pegar" letras, ¡pero tampoco números!
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 23-07-2005 a las 21:56:13. Razón: (actualización)
Responder Con Cita
  #4  
Antiguo 23-07-2005
Avatar de rolando_s
rolando_s rolando_s is offline
Miembro
 
Registrado: oct 2003
Ubicación: Santiago Chile
Posts: 31
Poder: 0
rolando_s Va por buen camino
Talking gracias

el codigo que envio lepe funciona 'OK'
en el anterior parece faltar un #antes del 0para que aule la tecla

gracias a ambos
__________________
www.cybervanet.cl
El matrimonio es como un submarino
puede flotar pero esta diseñado para hundirse
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 07:42:38.


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