• Viernes 8 de Noviembre de 2024, 07:19

Autor Tema:  Tecla Enter  (Leído 1331 veces)

kekabzo

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Tecla Enter
« en: Lunes 15 de Mayo de 2006, 17:56 »
0
Hola.. ;)

Expongo mi problema, a ver si alguien puede ayudarme:

Tengo un Tedit en el q controlo la entrada de DNI..no pueden ser letras...etc etc..
Aqui lo dejo por si a alguien le sirve:

void __fastcall TTalumnos::EbajadnialumnoKeyPress(TObject *Sender,
      char &Key)
{
if ((Key < '0' || Key > '9') && Key !=8)
 {
        Key=0;
        MessageDlg("Dni Incorrecto",mtError,TMsgDlgButtons()<<mbOK,0);
 }
}

Lo que no se como hacer es lo siguiente: yo quiero q cuando le doy a la tecla enter me haga lo q tengo en Tedit->exit, o sea cuando ya acabas de meter todos los digitos...pero cuando pulso la tecla enter, me dice DNI incorrecto, pq claro, no permito esa tecla..

¿alguien puede ayudarme?

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Tecla Enter
« Respuesta #1 en: Lunes 15 de Mayo de 2006, 18:12 »
0
Filtra todos los caracteres cuya funcionalidad no deseas alterar. Los detectas con un if y sales inmediatamente, evitando destruir el Key al ponerlo en 0.

Kabern

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Tecla Enter
« Respuesta #2 en: Viernes 29 de Septiembre de 2006, 04:19 »
0
Cita de: "kekabzo"
Hola.. ;)

Expongo mi problema, a ver si alguien puede ayudarme:

Tengo un Tedit en el q controlo la entrada de DNI..no pueden ser letras...etc etc..
Aqui lo dejo por si a alguien le sirve:

void __fastcall TTalumnos::EbajadnialumnoKeyPress(TObject *Sender,
      char &Key)
{
if ((Key < '0' || Key > '9') && Key !=8)
 {
        Key=0;
        MessageDlg("Dni Incorrecto",mtError,TMsgDlgButtons()<<mbOK,0);
 }
}

Lo que no se como hacer es lo siguiente: yo quiero q cuando le doy a la tecla enter me haga lo q tengo en Tedit->exit, o sea cuando ya acabas de meter todos los digitos...pero cuando pulso la tecla enter, me dice DNI incorrecto, pq claro, no permito esa tecla..

¿alguien puede ayudarme?
Agrega un while como sigue:

void __fastcall TTalumnos::EbajadnialumnoKeyPress(TObject *Sender,
char &Key)
{
while (Key!=13)
{
   if ((Key < '0' || Key > '9') && Key !=8)
   {  
     Key=0;
     MessageDlg("Dni Incorrecto",mtError,TMsgDlgButtons()<<mbOK,0);
   }
}
}