Ver Mensaje Individual
  #1  
Antiguo 08-10-2004
jam888 jam888 is offline
Miembro
 
Registrado: sep 2004
Posts: 115
Reputación: 20
jam888 Va por buen camino
Existe el procedimiento perfecto?

Queridos amigos del foro,les cuento que he probado de todo, he revisado durante tres horas el foro y no encuentro un procedimiento perfecto para que una cajita de texto no permita teclear letras, siempre le falta algo, les cuento como comienza mi procedimiento.

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in (#8,'0'..'9','.') then key:=#0;

end;

1º Esto anda a medias ya que permite cargar mas de un punto y no quiero que se cargue mas de un punto si no da error (en el futuro si encuentro solucion hare un procedimiento para cargar unicamente valores enteros)

2º Permite que el usuario pueda desplazarse con la flecha hacia la izquierda y luego borre algo que no quiero(es por eso que incluyo la tecla bakspace para borrar en la condicion)

3º Permite que se peguen letras desde el portapapeles, algo que tampoco quiero que haga.

Lo ideal seria que el usuario al presionar una tecla diferente de (0.1.2.3.4.5.6.7.8.9 la tecla backspace y el punto) aparesca un mensaje que diga (caracter invalido) lo mismo si carga el punto dos veces.

Espero que alguien tenga la solucion a este problema.
Responder Con Cita