Detectar presion de teclas en consola
Publicado por LhaN (2 intervenciones) el 19/08/2007 14:46:03
Hola gente, a ver si puede ayudarme...
Hola gente, a ver si pueden sacarme una duda... en c++ existe la posibilidad de detectar eventos? o sea... generar un bucle hasta que se presione una tecla? o sea a ver si me explico... quiero que por ejemplo comience a sumar números y cuando yo presione enter se detenga y me muestre que numero resulto. usar algo así como un...
do{...hace algo...}while(cin.get()=='\n')
el problema es que si hago eso al llegar al while el programa espera que yo presione una tecla, pero yo no quiero que espere... sino que continúe hasta que yo presione una tecla... si alguien sabe como hacerlo, desde ya muchas gracias.
Aclaracion... C++ puro y llano... en particular Borland C++ 5.02 en modo consola, ya se que en visual c++ o builder se puede... pero no es lo que yo necesito.
Estube investigando... pero no encontre nada relacionado con deteccion de presion de teclas y pareciera ser que lo que necesito hacer es programar en hilos o trheads, busque en la ayuda del borland c++ y encontre un ejemplo donde usa _beginthread(...) y _endthread(), lo copie y lo compile pero dio error al compilar:
Info :noname00.cpp: build due to .OBJ dependency noname00.cpp
Info : noname00.cpp: cached age 21:49:21 12/08/2007 file age 9:35:05 19/08/2007
Info :Compiling C:\BC5\BIN\noname00.cpp
Error: noname00.cpp(14,16):Call to undefined function '_endthread'
Error: noname00.cpp(23,35):Call to undefined function '_beginthread'
Mas alla de este error... y suponiendo que mi logica no esta errada... programando con hilos yo podria hacer lo siguiente:
do{
int var=0;
//crear un hilo con un cin>>x;return x; y lo devuelto asignarlo a var
}while(!var);
de esa forma si preciono una tecla se modificaria la variable var a travez del hilo... lo que me permitiria realizar un bucle infinito mientras no precione una tecla... es asi??? espero que alguien pueda ayudarme.
Hola gente, a ver si pueden sacarme una duda... en c++ existe la posibilidad de detectar eventos? o sea... generar un bucle hasta que se presione una tecla? o sea a ver si me explico... quiero que por ejemplo comience a sumar números y cuando yo presione enter se detenga y me muestre que numero resulto. usar algo así como un...
do{...hace algo...}while(cin.get()=='\n')
el problema es que si hago eso al llegar al while el programa espera que yo presione una tecla, pero yo no quiero que espere... sino que continúe hasta que yo presione una tecla... si alguien sabe como hacerlo, desde ya muchas gracias.
Aclaracion... C++ puro y llano... en particular Borland C++ 5.02 en modo consola, ya se que en visual c++ o builder se puede... pero no es lo que yo necesito.
Estube investigando... pero no encontre nada relacionado con deteccion de presion de teclas y pareciera ser que lo que necesito hacer es programar en hilos o trheads, busque en la ayuda del borland c++ y encontre un ejemplo donde usa _beginthread(...) y _endthread(), lo copie y lo compile pero dio error al compilar:
Info :noname00.cpp: build due to .OBJ dependency noname00.cpp
Info : noname00.cpp: cached age 21:49:21 12/08/2007 file age 9:35:05 19/08/2007
Info :Compiling C:\BC5\BIN\noname00.cpp
Error: noname00.cpp(14,16):Call to undefined function '_endthread'
Error: noname00.cpp(23,35):Call to undefined function '_beginthread'
Mas alla de este error... y suponiendo que mi logica no esta errada... programando con hilos yo podria hacer lo siguiente:
do{
int var=0;
//crear un hilo con un cin>>x;return x; y lo devuelto asignarlo a var
}while(!var);
de esa forma si preciono una tecla se modificaria la variable var a travez del hilo... lo que me permitiria realizar un bucle infinito mientras no precione una tecla... es asi??? espero que alguien pueda ayudarme.
Valora esta pregunta


0