FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
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. Última edición por dec fecha: 20-07-2007 a las 11:52:12. |
#3
|
||||
|
||||
Prueba con esto:
|
#4
|
||||
|
||||
Caramba, otra vez me pisan la respuesta.
|
#5
|
||||
|
||||
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. 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. Última edición por dec fecha: 20-07-2007 a las 11:57:16. |
#6
|
||||
|
||||
Cita:
Cita:
Cita:
|
#7
|
||||
|
||||
Hola,
Cita:
|
#8
|
|||
|
|||
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. Última edición por tefots fecha: 20-07-2007 a las 15:32:48. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Timer | comba | OOP | 3 | 18-06-2007 16:54:00 |
Timer | nenufer | Varios | 7 | 10-05-2006 16:35:17 |
timer +1 | slim jim | Varios | 4 | 02-10-2005 04:03:11 |
Timer | Malon | OOP | 5 | 25-11-2003 17:19:03 |
Timer | kao | Varios | 6 | 30-06-2003 19:02:53 |
|