• Viernes 8 de Noviembre de 2024, 21:00

Autor Tema:  Retardo temporal  (Leído 1311 veces)

alex1510

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Retardo temporal
« en: Jueves 5 de Noviembre de 2009, 18:37 »
0
Hola buenas.
Tengo el siguiente problema. Necesito hacer un retardo de 30 seg pero no puedo utilizar sleep por que quiero que el programa continue ejecutándose, y con el sleep digamos que lo duermo y no hace nada. Podría hacer algo???Gracias

diego.martinez

  • Miembro MUY activo
  • ***
  • Mensajes: 297
    • Ver Perfil
Re: Retardo temporal
« Respuesta #1 en: Jueves 5 de Noviembre de 2009, 20:51 »
0
si es para windows, puedes usar los temporizadores de la api.

UINT_PTR p=::SetTimer(NULL, 0, tiempo_a_esperar, TimerProcedureSuministrado);

esto mandara un mensage al procedure suministrado cuando ocurra el tiempo independientemente de lo que este haciendo el codigo, esta gestionado por la multitarea del s.o. , para mas información msdn.

http://msdn.microsoft.com/en-us/library/ms644906(VS.85).aspx

alex1510

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Retardo temporal
« Respuesta #2 en: Jueves 5 de Noviembre de 2009, 21:26 »
0
Gracias!!!Voy a probar a ver si me funciona.

alex1510

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Retardo temporal
« Respuesta #3 en: Sábado 7 de Noviembre de 2009, 00:30 »
0
Hola. Muchas gracias a todos por las respuestas. Pues es que yo me estoy metiendo en C a base de golpes, vamos, que yo he estudiado electronica y ahora necesito C para elaborar mi proyecto con un Scada Wincc. Pues resulta que tengo un proceso principal programado que al llegar a un punto quiero que espere 30 seg y luego continue. El problema es que durante ese tiempo (ya sea con sleep como con un bucle con clock) solamente esta atento a esa funcion principal y no hace caso por ejemplo si pulso algún botón. Para haceros una idea, wincc te proporciona un entorno grafico con botones y demas parecido a visual C. Entonces, estoy perdidisimo y no se que puedo hacer. Esta mañana cuando lo "puse a funcionar" me paso y me he hundido bastante. Despues me he parado y he comprendido por que no hace caso al pulsar los botones, pero no tengo ni idea de como hacer para que funcionen. Por favor, cualquier cosa lo agradecería enormemente. Gracias por leerme.