C/Visual C - URGENTE ayuda con una duda sobre bucles

 
Vista:

URGENTE ayuda con una duda sobre bucles

Publicado por aaron (1 intervención) el 15/12/2005 12:49:49
hola,veamos,me gustaria saber si hay alguna manera de que al ejejutar un bucle infinito con for,de la manera
ejemplo: for(a=0;;a++)
se podria parar ese bucle en el momento que yo kiera pulsando una tecla
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:URGENTE ayuda con una duda sobre bucles

Publicado por JuanC (57 intervenciones) el 15/12/2005 18:02:31
sí se puede, al presionar una tecla le ponés el break; y salís del bucle
saludos desde buenos aires JuanC
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:URGENTE ayuda con una duda sobre bucles

Publicado por fernando.gomez (1603 intervenciones) el 15/12/2005 19:07:00
No es tan sencillo. Si el programa está ocupado, ¿cómo procesará el que pulses una tecla?

Lo que tienes que hacer es lo siguiente. Declara una variable pública y volátil en algún lado. Esta variable estará en "false" por defecto, y en "true" cuando el usuario pulse una tecla. Si la variable es, digamos:

volatile bool g_bBucleFlag = false;

entonces tu bucle quedaría como:

for (int i=0; !g_bBucleFlag; i++) {
...
}

Ahora bien, si trabajas con Windows, tienes que capturar el evento en el bucle de mensajes (o en el BEGIN_MESSAGE_MAP / END_MESSAGE_MAP si estás con MFC). Ahí, capturas el evento WM_KEYPRESS. Lo único que tendrías que hacer es establecer g_bBucleFlag = true.

Lo anterior es fácil si trabajas con Windows, porque automáticamente maneja multihilo en la captura de mensajes. Si no, tienes que crearte un hilo que ejecute el bucle (con la misma técnica anterior) y en el hilo principal estar al pendiente de cuando el usuario pulse una tecla. En ese momento, estableces g_bBucleFlag = ture y listo.

Saludos.
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:URGENTE ayuda con una duda sobre bucles

Publicado por fernando.gomez (1603 intervenciones) el 15/12/2005 19:07:52
Se me olvidó recalcar algo. Nota que la variable que crees tiene que ser volátil. Si no, puedes tener serios problemas de sincronización entre hilos. Saludos.
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