C/Visual C - Ayuda con la tecla <Esc>

 
Vista:

Ayuda con la tecla <Esc>

Publicado por Maxi (3 intervenciones) el 21/07/2008 19:58:21
Buenas! Estoy teniendo problemas para terminar la ejecución de un programa con la tecla <Esc>
Hasta ahora lo único que logré fue detener el programa hasta que se presione una tecla y si es <Esc> me quiebra el bucle. Y esto no es lo que quiero. Lo que yo quiero es que el programa esté atento a si es presionada la tecla en cualquier momento.
Para ser más explícito:

#include <iostream.h>
#include <conio.h>
using namespace std;

...

int main()
{
int Tecla, ...;
...
while (1) {
...
Tecla=getch();
if (Tecla==27) break;
}
...
system("pause");
return 0;
}

Desde ya agradecería cualquier intento. Y por favor como habrán notado son novatísimo así que agradecería que me digan lo que podría hacer o recomendarme alguna librería, prefiero hacer las cosas yo mismo a que me las den ya hechas. Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con la tecla <Esc>

Publicado por Tom (619 intervenciones) el 23/07/2008 09:41:23
Pues te estas metiendo en un embolao.
La manera de hacer eso es con threads (hilos). Programaras un thread que este constantemente interrogando al teclado (o mejor, que haga poll()) y otra que realice las funciones de tu programa.
Sobre programacion de threads en C hay bastante info en internet.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con la tecla <Esc>

Publicado por m0skit0 (15 intervenciones) el 24/07/2008 16:09:16
Ahora mismo no me acuerdo, pero creo recordar (estoy seguro, vamos) que había una función en C que comprobaba si se había pulsado una tecla. Si te acuerdas de ella, te puedo ayudar a que se haga sin hilos y sin tener que parar el bucle en espera de la tecla. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar