SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: kekabzo en Lunes 15 de Mayo de 2006, 17:56

Título: Tecla Enter
Publicado por: kekabzo en Lunes 15 de Mayo de 2006, 17:56
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?
Título: Re: Tecla Enter
Publicado por: Amilius en Lunes 15 de Mayo de 2006, 18:12
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.
Título: Re: Tecla Enter
Publicado por: Kabern en Viernes 29 de Septiembre de 2006, 04:19
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);
   }
}
}