How to get a delphi application (that's running) to do something at a particular time/date

You can use my CRON compliant Cromis Scheduler (link to archive.org). It even supports some things that cron does not. Interval based events for instance and from / to timeframe. I use it in a lot of my software and it has proven itself quite useful. It is free, very lightweight, works in threads and is production tested. If you need any further help just mail me.

The other ways would be:

  1. Use windows scheduling API as already suggested. But this may change between OS-es.
  2. Use JCL that has a scheduler unit (component in the JVCL), but I found that one hard to use from code directly. That is why I wrote my own.

I would use the Microsoft Task Scheduler API for that:

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

There are Delphi Wrappers available for the API if you don't want to do the "dirty work", but I don't know if there's a free one. You might have a look at

  • http://www.sicomponents.com/taskscheduler.html
  • http://www.torry.ru/pages.php?id=296

If you don't want to use the Microsoft Scheduler, there are things like the CronJob Component available here: http://www.appcontrols.com/components.html. It's shareware, too, but is easy to implement (just an onAlert event).

Tags:

Delphi