Dec 312017
OS/2 PM Task Scheduler.
File CHRON23.ZIP from The Programmer’s Corner in
Category OS/2 Files
OS/2 PM Task Scheduler.
File Name File Size Zip Size Zip Type
CHRON.DOC 8080 2806 deflated
CHRON.EXE 58352 21234 deflated
CHRON.HLP 7603 4942 deflated
OS2SUPT.DLL 25584 14051 deflated
OS2SUPT.MSG 1224 675 deflated
OS2SUPTH.MSG 3059 1234 deflated

Download File CHRON23.ZIP Here

Contents of the CHRON.DOC file



Chron is an application that will dispatch programs and
messages at a given time and date. These tasks can be
scheduled to run one time only, or on a daily, weekly,
weekday, monthly or annual basis.


o Copy the *.MSG files to a subdirectory in your DPATH.
These are message repository files that are structured
like the system files OSO001.MSG and OSO001H.MSG.

o Copy the *.EXE file to a subdirectory in your PATH.

o Copy the *.DLL file to a subdirectory in your LIBPATH.

o Copy the *.HLP file to a subdirectory in your HELP
environment variable.


The first time the program is started, you will be prompted for
the fully qualified filespec that will be used to store the
tasks when the program is exitted and restarted. There is no
restriction on the filename as long as it is a valid FAT file

It is assumed that this file does not exist. If there is a
file that exists with that name, you will be asked to confirm
the file name. The author's choice of a file name is
CHRON.DAT. If you do not specify a fully qualified name, the
program will automatically fully qualify it based on the
current drive and directory.

Once the program is started, you add tasks to be scheduled by
selecting the "Schedule" menu item.

Other actions such as changing the name of the task database or
editing the existing tasks can be found under the "Action" menu

Since the application is a PM program, little explanation is
needed in its operation.


The code allows for the entry of tasks (messages or programs)
and looks to see if the current time is later than the time set
for the task. If so, that task is started. While the timer
pops every second, the task list is scanned for tasks only when
the minute or the number of tasks change.

After a task is dispatched the time for the next dispatch is
calculated. If it's a "one time" task the task is dropped from
the list. If it's a daily task, it is scheduled for the same
time the next day. If it's weekly, it's scheduled for same
time next week, etc.


Some random notes about the operation of the code follows:

o The program names entered when scheduling a program to
start should be fully qualified names. The entry on
this dialog was purposely patterned after the Program
Properties dialog on the start groups.

o The code computes what the "same" time next month is in
a strange way. A problem arose when a person wanted to
schedule a task for the LAST day of the month and
selected, say, September 30 for the start day. When the
task executed and was scheduled for October, I didn't
feel it was appropriate to schedule for Oct 30, since
Oct 31st is the LAST day of the month. Eventually the
LAST day of the month would creep back to the 28th when
it was scheduled to run in February.

Therefore, the algorithm works as follows. If a
scheduled day is selected that is within the last five
days of the month, I assume you are scheduling relative
to the last day of the month. Therefore, if you
scheduled a task to run on September 27th, the next
month's time would be computed as October 28th.

o To schedule a .CMD file, you must start a copy of
CMD.EXE. For program name, enter C:\OS2\CMD.EXE. In
the parameters field, enter:

/C command

where "command" is the batch file you want to execute.


This program will operate only under OS/2 1.2 and above.

This is a multi-threaded PM program written entirely in
Microsoft C 6.0.


The author assumes no liability for any damage or loss of data
caused by this program.


This is a Shareware program. If you like this program, and use
it on a frequent basis, a registration fee is encouraged.

The shareware charge is:

$15 for individuals.
$25 per copy for companies with 25 or less employees.
$40 per copy for companies with 26 or more employees.

Site license agreements are available on a case by case basis.

Please send any correspondence to:

Gary Murphy
1022 N. Cooper
Olathe, KS 66061

Prodigy: [VWSD07A]
CIS: [73457,365]

You are more likely to reach me on Prodigy than CIS, as I
frequent that board more.

Any comments, positive or negative, are welcomed. Enjoy.


1.0 Base Code

1.1 Added monthly support.

Added "date to start on or after" to all of the dialogs.

1.1A Fixed bug for not dispatching properly based on time.

1.2 Chron "remembers" where it was positioned.

1.3 Changed the message window to a dialog box with a combo
box, title bar, and min button.

Added a yearly option

Sorted the lists in dispatch (time) order.

1.4 Cut/Paste/Copy into and out of the message box.

2.0 Added help.

Added an alarm option for the messages.

Support for workday-only dispatching where you get to
pick what the work week is (default Mon thru Fri)

Add an alarm option for the messages.

2.1 Added selection of time and date from a calendar

Fixed bug with workday dispatch not starting on a valid

Automatically searches the path for the filename to start.

2.2 Changed the 3D effect on the calendar to move the characters
on the calendar day button when it is pressed.

Moved some of the buttons around on the dialogs.

2.3 Added more extensive help.

Fixed the "stuck button" bug. (If a button was pressed and
the mouse was moved off the window, the button would remain
in a "down" state).


o Support for Nth working day of the month that would
include holidays.

o Suppression of "late" task dispatch. If you schedule a
daily task and the program has been shutdown for 6 days,
it will start the program 6 times when restarted. I
want to make this an option.

o Make an option for the adjust relative to end of month

o Automatically dispatch CMD.EXE for command files.

o Optionally sort the lists in alpha order.

o Determine a way to allow expressions such as:

Third Wednesday of the month.

 December 31, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>