Programación General => C/C++ => Mensaje iniciado por: McGrady01 en Viernes 10 de Agosto de 2007, 05:49
Título: Contar Cada Vez Que Toco Una Tecla
Publicado por: McGrady01 en Viernes 10 de Agosto de 2007, 05:49
Hola a todos!!
Estoy intentando hacer un programita muy sencillo que simplemente sume +1 cada vez que toque una tecla. Pero el problema es que si toco la tecla y la dejo pulsada me va sumando +1 cada vez, y yo solo quiero que me sume una vez +1 aunque lo deje pulsado.
El codigo que tengo es:
Código: Text
int suma(int res1)
{
if (GetAsyncKeyState(39)!=0)
{
res1++;
printf("%d\n",res1);
}
return res1;
}
void main()
{
int res = 0;
int res1;
while(res < 10)
{
res1 = res;
res = suma(res1);
}
}
Como se podria hacer? Algun parametro en la funcion GetAsyncState?
Gracias! ;)
Título: Re: Contar Cada Vez Que Toco Una Tecla
Publicado por: Geo en Viernes 10 de Agosto de 2007, 22:08
Agrega una variable que te permita saber el estado anterior de la tecla, si estaba pulsada antes, no sumas, si no estaba pulsada la ocasión anterior, entonces si cuentas :).
Código: Text
int suma(int res1)
{
static bool soltada = false;
if (GetAsyncKeyState(VK_LCONTROL)!=0)
{
if ( soltada == true )
{
res1++;
printf("%d\n",res1);
soltada = false;
}
}
else
{
soltada = true;
}
return res1;
}
Título: Re: Contar Cada Vez Que Toco Una Tecla
Publicado por: McGrady01 en Viernes 10 de Agosto de 2007, 22:58