• Miércoles 20 de Noviembre de 2024, 12:35

Autor Tema:  Solo datos alfanumericos  (Leído 2514 veces)

Ac1d0

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Solo datos alfanumericos
« en: Martes 28 de Marzo de 2006, 01:53 »
0
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

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Solo datos alfanumericos
« Respuesta #1 en: Martes 28 de Marzo de 2006, 03:08 »
0
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.

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Solo datos alfanumericos
« Respuesta #2 en: Miércoles 29 de Marzo de 2006, 18:41 »
0
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

Ac1d0

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Solo datos alfanumericos
« Respuesta #3 en: Sábado 1 de Abril de 2006, 00:12 »
0
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

Enko

  • Miembro de PLATA
  • *****
  • Mensajes: 1562
  • Nacionalidad: 00
    • Ver Perfil
Re: Solo datos alfanumericos
« Respuesta #4 en: Sábado 1 de Abril de 2006, 01:32 »
0
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.