Bucle finalizado con enter

Iniciado por cjordan, 12 Junio 2010, 10:57 AM

0 Miembros y 1 Visitante están viendo este tema.

[D4N93R]

Sigo votando por un Thread..

O-LLOS-O

Hay alguna manera de cambiar el Program counter?, y asi con un thread cuando se apretara una tecla camviar el program counter al final del  bucle... pero eso es mas de asm.

43H4FH44H45H4CH49H56H45H

Cita de: cjordan en 14 Junio 2010, 14:35 PM
Es en Windows con Dev-C++. He encontrado una funcion que se llama kbhit que hace exactamente eso, mirar el buffer del teclado. Funciona perfectamente pero el problema esta en que tengo 3 whiles. Para el primero me funciona bien pero para los 2 siguientes no, ya que el buffer no esta vacio. Ya he hecho fflush(stdin) pero no sirve...

De pasada puede ser asi:

#include <stdio.h>
#include <windows.h>
int main()
{
int i = 0;
while (i<1)
{
if(GetAsyncKeyState(13)) i++;
printf("\n Bucle 1 %i", i);
Sleep(100);
}
while (i<2)
{
if(GetAsyncKeyState(13)) i++;
printf("\n Bucle 2 %i", i);
Sleep(100);
}
while (i<3)
{
if(GetAsyncKeyState(13)) i++;
printf("\n Bucle 3 %i", i);
Sleep(100);
}
MessageBox(0, L"Terminado", L"Terminado",MB_OK | MB_ICONSTOP);
return 0;
}


A no ser que necesites que los 3 se inicien al mismo tiempo.
Si te decides que sea multiplataforma te recomiendo Qt4

Código (cpp) [Seleccionar]
protected:
void keyPressEvent(QKeyEvent * event);


En los proyectos con GUI funciona muy bien.

-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W

Иōҳ

Eres adicto a la Ing. Inversa? -> www.noxsoft.net

robanyh

Hola! En mi opinión no vale la pena que te pongas con threads. He leido el post y esto te podría valer,supongo qe ya tienes el main... jeje, mira:

int control=1;
while(control)
{
     //source code
    if(kbhit()) //si detectamos evento de tecldo
   {
       control=0;
      setbuf( stdin, NULL ); //vaciamos el buffer
   }
}

kbhit no esta implementada en GNU/linux, tengo por aqui el codigo de la implementación de la funcion para linux por si te interesa.

Akai

Has mirado la fecha del ultimo post del tema?

2 AÑOS

No hagas necro-posting, anda