SoloCodigo

Programación General => Delphi => Mensaje iniciado por: Ac1d0 en Martes 28 de Marzo de 2006, 01:53

Título: Solo datos alfanumericos
Publicado por: Ac1d0 en Martes 28 de Marzo de 2006, 01:53
hola que tal soy nuevo en esto  quisiera que me ayuden porfavor con la validacion de los edits para que solo me acepten caracteres de la 'a' a la 'z' y uno que me acepte alfanumerico, y porfavor como restrinjo el numero de caracteres en cada edit
Título: Re: Solo datos alfanumericos
Publicado por: Amilius en Martes 28 de Marzo de 2006, 03:08
Creo recordar que hice un filtro de esos con keypress o alguno de esos eventos. LA idea era poner en 0 el char si no estaba dentro del conjunto admitido de chars.
Título: Re: Solo datos alfanumericos
Publicado por: Enko en Miércoles 29 de Marzo de 2006, 18:41
Código: Text
  1.  
  2. procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
  3. var
  4.   Alfa:  set of 'a'..'z';
  5. begin
  6.    if not (Key in Alfa)  then Key := Chr(0);
  7. end;
  8.  
  9.  

En vez de Chr(0), se puede usar tambien
Código: Text
  1.  
  2.   Key := #0;
  3.  
  4.  
que es lo mismo
Título: Re: Solo datos alfanumericos
Publicado por: Ac1d0 en Sábado 1 de Abril de 2006, 00:12
hola de nuevo aqui molestandolos con el codigo que me pasaron esta shido pero no puedo poner espacios ni eliminar datos equivocados y eso pues es un problema
Título: Re: Solo datos alfanumericos
Publicado por: Enko en Sábado 1 de Abril de 2006, 01:32
Mira, no teno ahora compilador para probar pero sería algo así; habrái que agregarle al codigo un par de ORs teniendo en cuenta el código ascii de las teclas "BackSpace" (8) y la del Espacio (32).

Código: Text
  1.  
  2. procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
  3. var
  4.  Alfa:  set of 'a'..'z'; // te combiene ponerlo en var global y no local como está aca
  5. begin
  6.   if (not (Key in Alfa)) or (Key <> Chr(8)) or (Key <> Chr(32))   then
  7.           Key := Chr(0);
  8. end;
  9.  
  10.