![]() |
Timer en consola
Hola a todos, pues estoy creando una aplicacion en delphi, modo consola y necesito saber como usara algo similar al Timer de delphi pero en modo consola.
Saldudos |
Hola,
No sé hasta qué punto he entendido las indicaciones del maestro Seoane o tengo que darles un buen repaso, pero, esto es lo que hay...
Revisa este hilo y este otro. |
Prueba con esto:
|
:D Caramba, otra vez me pisan la respuesta.
|
Hola,
No; son respuestas distintas, por lo que veo. :) Una pregunta Seoane, ¿sería preciso usar el "SetConsoleCtrlHandler" en el código que yo he propuesto, o, como pienso, basta con usar "ProcessMessage"? No tengo muy claras estas cosas, la verdad, incluso mi código es un fusilamiento que he hecho al tuyo. :D :D PD. Para qué nos vamos a engañar... yo probé sin el "ProcessMessages", y, como ví que no funcionaba el "timer"... me acordé de uno de tu Hilos (que enlazo arriba). :) PD2. Me parece, en todo caso, que tu solución es más elegante. Tampoco nos vamos a engañar en esto. :) |
Cita:
Cita:
Cita:
|
Hola,
Cita:
|
yo lo haria de otra forma que evita estar llamando a processmessages , es algo que no me gusta y trato de evitar :(.
con un thread a modo de timer ,y que te notifique cuando se cumpla el timer (Creo que las jvcl tienen un timer basado en thread) . en el execute del thread mira si ha pasado x tiempo desde la ultima vez y si es asi , resetea la variable tiempo y lo notifica en un evento, en la aplicación consola debes de capturar ese evento que genera el thread. yo lo que hago es crearme una clase (en la unit de la consola) que reciba los eventos (aunque tambien podria crearte solo el evento). TConsoleEvents=Class Private Public Procedure OnTemporizador(); End; y luego creas un objeto de tipo ConsoleEvents en la apl. consola y asignas el evento del thread , al evento de la consola Thread.Ontimer=ConsoleEvents.Ontemporizador. luego en el evento de consoleevents hago lo que deseo hacer. (en el 1º ejemplo el tdummy hace lo mismo que el consoleevents que yo digo) Procedure TConsoleEvents.OnTemporizador; Begin Writeln('Temporizador '); End; salud2. |
La franja horaria es GMT +2. Ahora son las 13:00:54. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi