

                  Schedule-It!


                by: Keith Luken
 
         (c)copyright 1995 Keith Luken

_____________________________________________________________________
    Version 1.xx Registered Users:
    ------------------------------
    There is NO UPGRADE FEE for registered owners of version 1.xx !!
    You use the same ID number you already have!
_____________________________________________________________________

Schedule-It! is a GUI program for OS/2 that allows you to schedule
different events to run at various times on various days.
It should be very straight forward to use.

Version 2.xx is a complete port of the 1.xx version from REXX into C.
This removes the need for the VROBJ.DLL file (900+K).

Schedule-IT! now sports a new slick look with container support to
hold your events. Several views are supported for looking at your event list.
Unfortunately to provide all the new featues means I had to give up
backward compatability (due to time constraints) with the 1.xx data format.
Begining with Schedule-IT! 2.00 and all other KL-WARE / Phantasm Software
2.00 releases they will share a common registration entry in your OS/2
system. This means once you register any 2.xx product all other 2.xx or
higher products will automatically recognize that they are registered!
Schedule-IT! 2.xx uses a new file format to store it's own configuration
and event list information. This file Sched-IT.CFG is a binary file and is
no longer an OS/2 based .INI file. This permits faster loading and
saving of the data.
Schedule-IT! can also be used as a Launch Pad substitute since you can launch
applications directly from the event contanier!


REPEAT EVENT:
------------

  You can set an event to run every 1-720 minutes (12 hours) after it has 
  run the first time! If Schedule-IT! is shutdown and restarted or is started
  after the repeated event should have started Schedule-IT! will reset the
  elapsed time since event was last run to the current time, so events will
  think they just ran and will run next when Schedule-IT! has been running at
  least as long as the repeat duration is set for. This prevents a restart
  from spinning off numerous events at once! You should also try not to set too
  many events from having the same repeat fequency, i.e. if you have 10 events
  set to run at various times and all 10 repeat every 15 minutes then a 
  restart will have all 10 events running at the same time every 15 mintues!
  Events scheduled to be repeated will still only be run on the days that 
  are selected so if the event repeat time rolls past midnight then the 
  settings for that paticular day will be checked and if the event is 
  not scheduled for that day it will NOT be run on that
  day. so be sure to avoid repeated events that will fall just before 
  midnight, if they get delayed past midnight they will NOT get run if the
  event is NOT scheduled for the new day.

MAX TIMES:
---------

  This is the maximum number of times you want the event to run each day.
  If the event is run this number of times it will no longer run 
  automatically for the remainder of that day regardless of what end time
  you have set. Set this value to 0 to disable checking. You MUST check
  the REPEAT EVENT box for this option to be valid.

END TIME:
--------

  This is the latest time an event will run. If you want the event to stop
  running at a certain time, then enter that time here and be sure to check
  the REPEAT EVENT box. If this value is set to 0 then the event will repeat
  continuously during that day. WARNING: if you set a value other than 0 that
  is LESS than your start time then your event will NEVER run!! If your
  end time is encountered before your MAX times then the event will no longer
  run for the remainder of that day.

Schedule-It! uses a CMD.EXE /C command to spin the app off.
This means you can use ANY of the paramaeters
that the CMD.EXE command in OS/2 supports. Your events can be OS/2, DOS or
WinOS2 based programs. What Schedule-IT! essentially does is take your
event and append it to:
CMD.EXE /C
so when your event runs it issues your event as:

CMD.EXE /C 'your program to run' 'parameters'


This allows it to inherit your base OS/2 path and LIBPATH to search for
the program. Thus events that exist in your path do not need to have the
entire drive and pathname in front of them! 
The program to run field can contain up to 254 characters, which is the limit
of a HPFS filename. The parameters field has a 31 character limit.

If Schedule-IT! is in the foreground when an event is launched then that
event will occupy the foreground. If Schedule-IT! is running in the background
then any launched events will be run in the background. If more then 1 event
is scheduled for the same minute and Schedule-IT! is in the foreground then
only the first event launched will be in the foreground. This is because the
first event launched then occupies the foreground which means Schedule-IT! is
in the background when the follwoing events are launched! This should not be 
problem since I suspect most people leave Schedule-IT! minimized or in 
background so that all launched events are in background!


The shareware version will only RUN 1 event! You can schedule
more than 1 events, but ony the first 1 will be run. The registered version
currently can store only 250 events. This was an arbitrary
number and I can change it if anyone needs more than that. Since
Schedule-IT! keeps the entire event list capacaty in memory at all
times I didn't want to make this number too big.


** NOTE:
    Schedule-IT! does house cleaning at 00:00 and it is
    NOT advisable to have many events running at that time.
    Any events scheduled for 00:00 may run multiple times and/or
    unpredictably!!
    The program checks the time approximately every 20 seconds.
    There is a potential that if you have a very slow system with
    many events scheduled for the same time and additional events
    set for the very next minute you may lose events. 
    I don't think this limitation will every be seen by anyone.
    With the program written in C now I don't event think this is 
    likely at all even on a 16MHz 386 with 250 events scheduled!
    But I figured I would warn you!
    After all how many events would anyone want to start at a given time??
    I suspect this would be a problem if you had several dozen
    events set for a given minute and then had additional events
    set for the very next minute!! Not very practical as I said.
    It is also not advisable to RESET EVENTS during the same exact
    minute events are scheduled, this may cause an event
    to run twice! 

RESET EVENTS will reset ALL events! If you need to reset just a 
single event you can just edit it, not make any changes and
SAVE it. When an event is SAVED it's RAN status is resent to N.

The "EXCEUTE on Selection" box turns Schedule-IT! into a program
Launcher! When this box is checked you can double click (or hit enter)
on an EVENT and that event will be started immediately! Starting an event
this way will NOT affect the events scheduled time! Also in the registered
copy you use Schedule-IT! as a Launcher only by NOT selecting any days for
the events to launch. The unregistered version requires at least one day
to be selected for each event! Also the unregistered copy does NOT support
using the mouse to select (double clicking) events for editing or executing!
Unregistered copies can not be started MINIMIZED!


Registration:

Schedule-It! can be registered for $25. 


LICENSE

This software is shareware and may be used for 30 days after which you must
stop using it unless you register it. Registration entitiles you to have only
one copy of this program running at any time. You may install this software
on as many systems as you like as long as only one copy is running!!
Corporate site licenses start as low as $500 for single release and
$1000 for all future releases. Volume discounts for 5 or more copies are 
negotiagted individually and start as low as $100.




To contact me it is best to send me, Keith Luken, messages on Compuserve
where my ID is 75627,563 or you may fax me at 770-977-2263. You may send me
mail via Internet to:  75627.563@compuserve.com

To register send check or money order to:

Keith Luken
3930 Shoemaker Court
Marietta, Georgia   30062

I generally only process registrations every 10-14 days so if you
want you ID number faster include a FAX number and I will fax your
registration to you.

If you have a COMPUSERVE ID you may register this application online by
entering: GO SWREG   and then the REGISTRATION ID for Schedule-IT! is: 5466

My Compuserve ID is: Keith Luken 75627,563

Once you register online I receive a message. I generally check in with CIS
2-3 times a week. Once I receive notification of your registrarion
I will send you MAIL on COMPUSERVE with your registration number!


1.00 05/08/1994
_______________

- First release 

1.01 11/01/1994
_______________

- Minor code only changes and used version 2.1 of compiler with latest
  VROBJ.DLL dated 8/10/94

1.02 04/09/1995
_______________

- Fixed bug where only the first event was being processed under certain
  circumstances

1.10 04/17/1995
_______________

- Added EXECUTE feature, by popular demand. This now turns Schedule-IT!
  into a mini Launch pad for real time program launching! You must have
  an EVENT selected and then just pick the Execute menu item! It will
  prompt you to make sure you really want to execute the program and
  then start it. It will NOT reset the event timer so the scheduled event
  will still occur on it's scheduled time!

- And you thought multiple event processing was fixed in 1.02!! Well I 
  think I really have it fixed now. Turns out there were multiple spots
  in the code that I made the same mistake in processing more than 1 event
  under some situations. Sorry folks!  
  
2.00 05/29/1995
______________

- Complete rewrite in IBM C-Set++. No longer requires the VROBJ.DLL file!
  Read the full text above since it has been rewritten to apply to Version
  2.xx. This initial release of 2.xx does NOT support drag and drop
  of objects on the event container. I do plan to add that in a
  future version if demand exists for it. I also plan to add changing
  icons in the container so that in ICON view you can easily tell if a 
  program ran or not by seeing what color it is. I do have other apps
  to freshen up so these features may not show up for some time!


2.01 05/31/1995
_______________

- Fixed bug, if deleting an event, program was not freeing the memory used
  to hold temporary copy of event list.
- Shifted the container SplitBar a little more to the right, making more of
  the event name visible. I want some feedback on whether or not you think
  the split bar should stay or be dropped (leaving it as one continuous line
  of information across)?


2.10 06/25/1995
_______________

- Added run event multiple times feature. 
- Added Last column to container to show last time the event ran. 
     Note: reset to 00:00 when Schedule-IT! first runs.
- When Schedule-IT! resets events at midnight no longer tests for any events
  at midnight. So if you schedule any events at midnight they will actually
  not run until 12:01am. Schedule it does have a 5 minute window it uses just
  in case something prevents it from getting timer messages. The 5 minute
  window has always been in schedule it. 

2.11 06/26/1995
_______________

- Repeated events were not being properly reset at midnight roll-over
  so they would stop running on the second day.

2.20 08/14/1995
_______________

- Added an ending time to stop running event at. If set to zero and 
  you have repeat checked then it will ignore the end time. Set notes
  above.
- Added a maximum number of times to run. This gets reset at midnight
  roll over. If the max number is reached before the ending time then
  then event will no longer run. Also is ending time is set and reached
  before max runs then event will no longer run.

2.25 08/20/1995
_______________

- Fixed problem where if you enabled REPEAT check box and saved when you
  went to remove the REPEAT option in the future if would still save it
  as a repeat event.
- Added ability of SCHEDULE-IT! to launch the event from the events native
  directory! This means you no longer have to launch CMD files to change
  to a directory first so that any .DLL or work files can be found. The only
  drawback to this is that the event inherits the environment of Schedule-IT!
  instead of the workplace shell. This should NOT be an issue since 
  Schedule-IT! does NOT change anything when it starts. To utilize this
  ability to launch the event from the events own directory you MUST include 
  the fully qualified DRIVE and PATH name for the event. Schedule-IT! will NOT
  search your path or drives. It derives the drive and directory to switch to
  in order to launch the event from the PROGRAM field. It parses this field
  and temporarily makes the drive and path for the event the default while
  it launches the event, then swicthes back to the drive and path that were
  the defaults when Schedule-IT! was started.


2.26 09/20/1995
_______________

- Minor cosmetic changes on EDIT EVENT screen. No functionality changes.


2.27 10/16/1995
_______________

- Schedule-IT! would run if the event were within 5 minutes past the
  scheduled time. This would cause problems if you had a scheduled reboot,
  chances were the system would be rebooted in under 5 minutes and 
  Schedule-IT! would be started again and cause an additional reboot!
  On really fast systems with little started it may even reboot a third
  time!! I lowered the event window to up to 1 minute past the scheduled
  event. Very unlikely a system can shutdown and fully restart in less than
  80-100 seconds.

2.28 11/08/1995  (Never Distributed)
_______________

- Removed the splitbar in the main container. Compiled with new version
  of development library. 

2.29 11/09/1995
_______________

- Decided to make Splitbar removal optional. It is on the VIEW pull down
  menu. You can select to remove the splitbar in the container.

2.30 12/07/1995
_______________

- Documentation change ONLY!

NOTICE!!
--------

Due to a recent change in jobs my time has become very limited. I still would
like to add drag and drop as well as color coded icons for the event
container. I will not have much time to look at adding these features during
the next few months. I will continue to provide support and bug fixes (if
needed), but I will not be able to add any major features for some time.



For FILE_ID.DIZ for SYSOPS:

Schedule-IT! Version 2.30
OS/2 PM based Event Launcher.
Schedule any OS/2, DOS or Windows programs
for any time any and day(s). Can also be
used to launch programs in real time!
Shareware $25. Can be registered
on Compuserve via GO SWREG.
Keith Luken email on CIS: 75627,563 or
Internet:  75627.563@compuserve.com
