home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / TIMEXEXE.ZIP / READ.ME next >
Text File  |  1990-03-30  |  6KB  |  185 lines

  1. Accompanying this file is the software that goes with the "Programing
  2. in the main()" column in the March and April 1990 issues of Personal
  3. Workstation magazine.  This code is for a program called "TIMEX" that
  4. controls timed execution of jobs under OS/2.  TIMEX consists of two
  5. parts: a background agent (or event server), TIMEXBA; and a foreground
  6. (user) agent, TIMEXUA.
  7.  
  8. This README file actually goes with two kits.  One kit is just the
  9. executable programs, and the other is the sources for those programs.
  10. Ignore the parts of this file that don't apply to this particular set.
  11.  
  12. Included in the executable kit are:
  13.  
  14. READ.ME        This file.
  15. TIMEXBA.EXE    Executable version of TIMEXBA, the background agent.
  16. TIMEXUA.EXE    Executable version of TIMEXUA, the foreground agent.
  17.  
  18. Included in the source kit are:
  19.  
  20.     Sources for TIMEXBA:
  21.  
  22. TIMEXBA        Control file for Microsoft MAKE utility
  23. TIMEXBA.DEF    Definitions file for the Microsoft linker
  24.  
  25. BA_TIMEX.H    Definitions specific to TIMEXBA
  26.  
  27. BA_MAIN.C    Main routine and control code
  28. BA_MISC.C    Miscellaneous support routines
  29. BA_DB.C        Routines to access the on-disk event database
  30. BA_REQ.C    Request processing
  31. BA_EVCTL.C    Event control code
  32. BA_DATA.C    Global data for TIMEXBA
  33.  
  34.  
  35.     Sources for TIMEXUA:
  36.  
  37. TIMEXUA        Control file for the Microsoft MAKE utility
  38. TIMEXUA.DEF    Definitions file for the Microsoft linker
  39. TIMEXUA.RC    Resource file describing the user interface (for RC).
  40.  
  41. UA_TIMEX.H    TIMEXUA definitions
  42. UA_PM.H        Interface (Presentation Manager) definitions
  43. UA_BAIF.H    Definitions for use with the UA_BAIF module
  44.  
  45. UA_BAIF.C    Routines to interface with TIMEXBA
  46. UA_MAIN.C    Main module, entry point, control.
  47. UA_MWIN.C    Main window management
  48. UA_EVWIN.C    Event-editing dialog box management
  49. UA_MISC.C    Miscellaneous routines for TIMEXUA
  50. UA_DATA.C    Global data for TIMEXUA
  51.  
  52.  
  53.     General sources:
  54.  
  55. TIMEX.H        Definitions for all of TIMEX
  56. ERRHAND.H    Definitions for the errhor handling module
  57. EVPACK.H    Definitions for the EVPACK module
  58.  
  59. T.C        Module template file
  60. STRING.C    String manipulation
  61. ERRHAND.C    Error handling routines (from a previous column)
  62. EVPACK.C    Event packing/unpacking for buffering
  63. MISC.C        General junk
  64. TMCLOCK.C    PD utility to do date/time confersion
  65.  
  66.  
  67.     Junk:
  68.  
  69. SAY.C        A program that echoes its imput.
  70.  
  71.  
  72. ----- Compilation -----
  73.  
  74. To build the executables from the sources using Microsoft tools (you
  75. need C (I used version 5.1) and the OS/2 Software Developer's Kit), CD
  76. to the directory containg the sources and:
  77.  
  78.     MAKE TIMEXBA
  79.     MAKE TIMEXUA
  80.  
  81. You might want to turn off the warning messages about functions without
  82. prototypes.  Some of the utility routines (for example, the herror
  83. handling stuff) were written for multiple environmenets and do not
  84. include prototype information.  I chose not to add them here because
  85. of the problems of maintaining multiple versions of common software.
  86. You will find, therefore, a number of warning messages about routines
  87. without prototypes.
  88.  
  89. The result will be TIMEXUA.EXE and TIMEXBA.EXE
  90.  
  91.  
  92. ----- Installation -----
  93.  
  94. TIMEXBA should be run as a background process.  It can be started with
  95. a detach command from your startup.cmd script (if you have one), viz:
  96.  
  97.     DETACH \TIMEX\TIMEXBA.EXE
  98.  
  99. or with a run command from your config.sys file:
  100.  
  101.     RUN=\TIMEX\TIMEXBA.EXE
  102.  
  103. The use agent, TIMEXUA, can be installed into the task manager menu or
  104. simply run out of a shell. 
  105.  
  106.  
  107. ----- Usage notes -----
  108.  
  109. The background agent makes use of two data files: the events database
  110. (an ASCII format file as described in the article) and a log file.
  111. By default, the events database is C:\TIMEX\TIMEX.DB and the log
  112. file is C:\TIMEX\TIMEX.LOG.  These files don't have to exist before
  113. you use the program, but the path (e.g., \TIMEX) does.  Make sure
  114. you create it.
  115.  
  116. You can specify different filenames with command line arguments
  117. to the TIMEXBA program:
  118.  
  119.     /LOG=filename
  120.     /DB=filename
  121.  
  122. Note that TIMEXBA journals everything into its log file.  This includes
  123. the standard output of any program that it runs.  Make sure you watch
  124. the log file so that it doesn't fill up your disk.
  125.  
  126. The event argument that you specify for a RUN action must contain an
  127. exact path and program name.  This includes the .EXE (or .COM) suffix.
  128. Obviously, to run a batch file, use the command processor, e.g.,:
  129.  
  130.     C:\OS2\CMD.EXE /C \ADMIN\MAINT.CMD
  131.  
  132.  
  133. ----- Interface notes -----
  134.  
  135.         You will observe that in the event editing dialog there is no
  136.         default pushbutton.  This is to prevent the accidental acceptance
  137.         of an event by the mere pushing of RETURN.  If you want this
  138.         behaviour, change timexua.rc file so that the "Done" button is
  139.         a DefPushButton instead of a PushButton.
  140.  
  141.  
  142.  
  143.  
  144. ----- Implementation, bugs, improvements -----
  145.  
  146.  
  147. This is a virgin release (I expect there to be others before I call it
  148. an initial version), and bugs are bound to be lurking.  If you report
  149. them, I'll try to chase them down.  Of course, a report with a fix
  150. would be great!
  151.  
  152. I hope this program is useful, but I'm sure there are a lot of things
  153. that can be done to make it better.  After all, a programming project
  154. should let you tinker.  Off the top of my head:
  155.  
  156. - Different types of event actions; for instance, a NOTIFY event to
  157.   pop up a dialog window at a particular time (e.g., "GO HOME").  
  158.  
  159. - A user agent command to stop the background agent.  Currently there's
  160.   no easy way to get it to stop once you get it going.
  161.  
  162. - Pretty icons.
  163.  
  164. - Intelligent activation: currently the program name must be fully
  165.   specified, with path and extension.  Intelligent activation would
  166.   provide a search path and default extensions, and activation of
  167.   the CMD processor for .CMD files. 
  168.  
  169. - Other ways of keeping output from programs than appending to the log
  170.   file.  For instance, put the output in separate output files for
  171.   each job.  
  172.  
  173. If you make improvements, I'd appreciate getting them back.
  174.  
  175. -mm-
  176.  
  177.  
  178. Mark E. Mallett            March 30, 1990
  179. PO Box 4188
  180. Manchester NH 03103
  181.  
  182. usenet: mem@zinn.MV.COM
  183. BIX: mmallett
  184. telpath: mmallett
  185.