home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / utlpak.zip / Calendar.Txt < prev    next >
Text File  |  1997-02-18  |  17KB  |  209 lines

  1. Calendar was written by:
  2.  
  3. Leland C. Sheppard
  4. Sheppard Software Company
  5. 4621 Luneman Road
  6. Placerville, CA 95667
  7.  
  8. CIS ID: 70574,2146
  9. from the Internet: 70574.2146@Compuserve.com
  10.  
  11.   The Calendar program is shareware.  If you use the program regularly and are interested in having us continue to develop it and other such programs, you should register the program with us.  You may register Calendar for $6.00.  In order to register, fill in the Register.Txt form, make out a check payable to Leland C. Sheppard and mail both to the address shown above.
  12.  
  13.   If you are interested in the Utility Pack and you have a Compuserve ID and you prefer to register online, simply Go SWREG and register #6193 for UTLPAR.ZIP or #6194 for UTLPAK.ZIP.  Because of price constraints on SWREG, only the Utility Pack can be registered online; individual programs may be registered directly with us as described in the preceding paragraph.
  14.  
  15.   Please note that this file can be accessed either from the Sheppard Utilities folder or by pressing F1 when Calendar is active and has the focus on the desktop.
  16.  
  17.   Calendar was written in VX-REXX 2.1 and requires the VX-REXX 2.1 (or higher) runtime module (VROBJ.DLL) in order to function.  Also, REXX and REXXUTIL must be installed on your system; both REXX and REXXUTIL come with OS/2.  File CALNRR.ZIP contains the VROBJ.DLL module; file CALNDR.ZIP does not.  Only one copy of VROBJ.DLL is required for all of the VX-REXX programs on your system; if you have previously downloaded a copy of it, you do NOT need to download it again.
  18.  
  19. HOW TO OPERATE CALENDAR:
  20.  
  21. The left and right arrows in the upper corners of the monthly calendar change the month being displayed to the previous and next months respectively.
  22.  
  23. The left and right arrows along side the year button change the year being displayed to the previous and next years respectively.
  24.  
  25. Pressing the year pushbutton displays a calendar for the entire year (or 2 semiannual windows if you are running at standard VGA resolution - 640x480).  If you change the year in the monthly window, push the year button again to update the annual calendar display.
  26.  
  27. The two rows of month buttons allow immediate access to any given month.
  28.  
  29. The year buttons at the bottom of the display allow direct access to any of the years shown in the buttons.  The left and right arrow buttons on this bottom line will display the previous or next 6 years respectively.
  30.  
  31. Right-clicking on a date which you have set up as a holiday or other special day will open a message box which will display the descriptions you have supplied for the occasion (if any).  This feature works in either the monthly display or the annual display.
  32.  
  33. The current date is highlighted.  If you right-click on the current date in the monthly display, one of two things will happen:  If the current date is defined as a special day, a popup menu will be displayed with 2 choices: To Do List or Description.  If you select description, the descriptions you supplied for the day will be displayed.  If you select "To Do List", your choice of editors, or by default the system editor (e.exe) will open a file called "todo.lst".  This file can be of any size and can contain any information you wish.  It will always be accessed by right-clicking the current date.  I use it to contain a running To Do list.  If the current date is NOT defined as a special day, the menu is bypassed and the To Do List is opened automatically.
  34.  
  35. You can specify foreground and background colors for various types of dates: holidays, birthdays, etc.  The sample ini file below shows each of the types currently supported and there is a list of valid types and valid entry formats later in this document.
  36.  
  37. You can update Calendar.Ini while Calendar is active.  Left-click the month name button and Calendar will load E.Exe (unless you have specified a different editor) and display the Calendar.Ini file for you to edit.  When you have finished editing the file, save it and exit the editor.  Calendar will immediately process the updated Ini file.  If you have the annual or semiannual calendar windows open, press the year button on the month display to update those displays with the new information from the updated Ini file.
  38.  
  39. Calendar gets the actual date when it first comes up.  If you have it running at midnight, the current date will not be updated since Calendar is not monitoring the system date and time as a clock would be.  To compensate for this, you can right-click the month name button.  Calendar will then get the current date from the system and refresh the monthly window to the current day, month and year.  If you have the annual/semiannual window open, you will need to press the year button to refresh the today display in those windows.
  40.  
  41. For color changes, the available color names are:
  42.  Background:  Black, Blue, Brown, Cyan, DarkBlue, DarkCyan, DarkGray, DarkGreen, DarkPink, DarkRed, Green, PaleGray, Pink, Red, White, Yellow
  43.  Foreground:  same choices as background
  44.  
  45. For each type of date there is a foreground and a background color.  Specifying both colors for a type requires 2 lines in the Calendar.Ini file, for example for Holidays:
  46.  
  47. HolidayFore = White (or the color of your choice)
  48. HolidayBack = Red (or the color of your choice)
  49.  
  50. The information that precedes the color must be set up as shown above with a space before and after the equal sign.
  51.  
  52. You can also specify a set of numbers which will be recognized as RGB or RedGreenBlue values where each of the numbers representing Red, Green or Blue will be a number between 0 (zero) and 255.  The syntax for specifying colors this way is: (Red,Green,Blue) or, for example, (25,200,3)  To specify the Holiday background color this way:  HolidayBack = (25,200,3)
  53.  
  54. If you make an error in the setup of your color specifications, the change will be ignored.  When the .Ini file has been processed, simply press the month button again, correct the error and resave the Ini file.
  55.  
  56. You can specify dates to be highlighted as shown in the samples below for whatever purposes you choose.  If you specify a type that Calendar does not recognize, it will give you an error message.  The descriptions of the various dates are optional.  If you supply them, they must begin with "Desc: " and the space after the colon is required.  You can also put comment entries after the dates if you wish; they are simply ignored.  If you put a comment after a description, it will end up being displayed as part of the description.
  57.  
  58. The valid date types are:
  59.  
  60. H - Holiday
  61. V - Vacation
  62. A - Anniversary
  63. B - Birthday
  64. 1 - User-defined type 1
  65. 2 - User-defined type 2
  66. 3 - User-defined type 3
  67.  
  68. NOTE: the spacing shown in the sample ini file below is required; i.e., a space before and after the equal sign is required and for the date specifications, the spaces between the pieces of information is required.  If you omit the spaces, Calendar will not understand what it is that you want to do.
  69.  
  70. If you make an error in a date entry, a message will be displayed showing the line in error.  When you press OK, that line will be ignored and processing of the .Ini file will continue.  When the .Ini file has been processed, simply press the month button again, correct the error and resave the Ini file.
  71.  
  72. Your .Ini file can contain comments.  Comments entered on a line by themselves must begin with "/*" and there must be a space after the "/*".  Comments entered on the same line as other data must also begin with "/*" and there must be a space before AND after the "/*".  Comments are not displayed by the right-click mechanism for displaying descriptions unless they follow a description.
  73.  
  74. Valid date entry formats are:
  75.  
  76. DDMMM T
  77. DDMMM L T
  78. DDMMMYYYY T
  79. DDMMMYYYY L T
  80. O Dayofweek MMM T 
  81.  
  82. Where:
  83. DD - is day of month and must be a 2 digit number between 01 and 31.
  84. MMM - is the 3 character month name: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
  85. T - is one of the valid types listed above
  86. L - is the length in days to be highlighted; although this number is not checked, if you specify an amount that will run beyond the end of the month specified, the unused balance will simply be ignored.
  87. YYYY - is the 4 digit year and must be between 1900 and 2099
  88. O - is the occurrence during the month which can be "first", "last" or a single digit number from 1 to 5
  89. Dayofweek - is the name of the day of week: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday or Saturday
  90.  
  91. Any of these formats can have "Desc: " or "/* " added to them.
  92.  
  93. To end Calendar, double-click on the button in the upper left corner of the Calendar window or press Alt-F4.
  94.  
  95. MODIFYING SCREEN POSITION OF CALENDAR:
  96.  
  97. Set the Position parameter in the .INI file.  Defaults are 1P 200P for left edge and top edge respectively; the values shown are in pixels.  If you make a mistake and have the Calendar show up off-screen, terminate Calendar from the OS/2 task list (CTRL-ESC), enter appropriate values in the .INI file and start Calendar again.
  98.  
  99. SAMPLE CALENDAR.INI FILE CONTENTS:
  100.  
  101. HolidayFore = Black          - foreground color for holiday display
  102. HolidayBack = Red            - background color for holiday display
  103. VacationFore = Black         - etc. 
  104. VacationBack = Blue
  105. TodayFore = White            - foreground color for the current date
  106. TodayBack = DarkGray         - background color for the current date
  107. BirthdayFore = Black
  108. BirthdayBack = Green
  109. AnniversaryFore = Black
  110. AnniversaryBack = Cyan
  111. User1Fore = Yellow
  112. User1Back = Red
  113. User2Fore = Blue
  114. User2Back = White
  115. User3Fore = Green
  116. User3Back = White
  117. Editor = E.Exe               - defaults to System Editor; you can override with this statement containing the editor name of your choice
  118. Position = 1P 200P           - specifies the left edge and top edge of the monthly window in pixels.
  119. 01Jan H Desc: US New Years Day  - specific date, every year, holiday, description
  120. 17Jan H Desc: US Martin Luther King Day - same, holiday, description 
  121. 04Jul H Desc: US Independence Day - same, holiday, description
  122. 25Dec H Desc: US Christmas Day - same, holiday, description
  123. 22Jan B Desc: somebody's birthday - specific date, every year, birthday, description
  124. 23Jun B                      - same, no description supplied
  125. 17Nov A /* comment */        - specific date, every year, anniversary, comment but no description
  126. 21May1996 4 V Desc: Vacation - start date, this year only, number of days, vacation, description
  127. 19Dec 4 V                    - every year, 4 days, same dates, vacation, no description
  128. 3 Monday Feb H Desc: US President's Day - third occurrence, day-of-week, of month, holiday, description
  129. last Monday May H Desc: US Memorial Day - last occurrence, day-of-week, of month, holiday, description
  130. 1 Monday Sep H Desc: US Labor Day - first occurrence, day-of-week, of month, holiday, description
  131. 4 Thursday Nov H Desc: US Thanksgiving Day - fourth occurrence, day-of-week, of month, holiday, description
  132. 15Mar1996 1 Desc: Something              - specific date, this year, User type 1, description
  133. 17Mar1996 2 Desc: Something else         - same, User type 2
  134. 19Mar1996 3 Desc: Really something else  - same, User type 3
  135. /* comments are ignored... */
  136.  
  137. LIMITATIONS:
  138.  
  139. Calendar does not automatically update at midnight.  In order to refresh the current date, right-click the month name button and Calendar will get the current date from the system and update the monthly window to the current day, month and year.  In order to update the Today display in the annual/semiannual windows you must press the year button.
  140.  
  141. Calendar will not calculate across the end of a month for the options with a duration in days.  You will need to make 2 entries to handle this situation, 1 for each month in which a portion of the designated time falls.  For example, if you wanted to highlight a 10 day vacation period starting 27 May, you would need to code: 27May 5 V and 01Jun 5 V.
  142.  
  143. Holidays and other highlighted dates are calculated for the "current" year only.
  144. The "current" year is the one showing in the year button in the monthly window.
  145. If you change the current year in the monthly window and do NOT immediately press the year button to update the annual/semiannual windows, some of the highlighted dates in the annual and semiannual windows will no longer match the highlighted dates displayed in the monthly window and right-clicking dates in the annual/semiannual window may not work.  Where the highlights are the same in each year (e.g., US July 4th, December 25th, etc.), it won't matter but where the date is calculated (e.g., last Monday in May for US Memorial Day) it will.  As long as you don't attempt to right-click to get descriptions, the information displayed in the annual/semiannual windows is still accurate.  If you always refresh the annual/semiannual window as soon as you update the current year, you won't notice this limitation.
  146.  
  147. Descriptions of dates to be highlighted exceeding 40 characters will be truncated unless you are running under Warp 4; under Warp 4 there is no apparent limit to the length of the descriptions.  Note, however, that use of the ENTER key will terminate a description.
  148.  
  149. If you have multiple uses specified for a single day, the color displayed will be for the first usage.  All descriptions will be displayed but the color will not be changed.
  150.  
  151. If you specify a position for the monthly window that is off-screen, you will have to modify the .INI file from the command line to get the window back on screen.
  152.  
  153. Thank you for your interest in our software.
  154.   
  155. Leland C. Sheppard, Feb-17-1997
  156.  
  157. Version 5.2
  158.  
  159. Changes from version 5.1 to 5.2:
  160.  
  161. Fix monthly window to show multiple descriptions for one day.  Add "Position" parameter to .INI file to allow user selection of monthly window position.
  162.  
  163. Changes from version 5.0 to 5.1:
  164.  
  165. Fix Description display to only show up during the correct year.
  166.  
  167. Changes from version 4.1 to 5.0:
  168.  
  169. Added To Do List option.  Fixed problem where annual (and semiannual) windows opened, closed and reopened when year button was pushed.
  170.  
  171. Changes from version 4.0 to 4.1:
  172.  
  173. Added the date selected to the title of the message window showing highlighted date description.  Fixed problem with current date refresh feature where holidays didn't get recalculated when the year changed.  Added "Today" display to annual/semiannual windows.  Corrected days-of-week header on 800x600 and 640x480 screens so Sa (Saturday) doesn't disappear.
  174.  
  175. Changes from version 3.5 to 4.0:
  176.  
  177. Added ability to right-click on highlighted dates in annual and semiannual windows to see your description (if any) for that day.  Added ability to right-click the month name button to update the current date.  Added 3 user-defined date types (1, 2 and 3).
  178.  
  179. Changes from version 3.1 to 3.5:
  180.  
  181. Error handling problem corrected. Added ability to right-click on highlighted dates in monthly window and see your description for that day.  Added ability to specify descriptions or comments on same line as dates to be highlighted.
  182.  
  183. Changes from version 3.0 to 3.1:
  184.  
  185. Add code to improve error handling of .Ini file data.  Alter installation routine to copy .Ini file only if it didn't previously exist.  Elongate monthly calendar window so bottom row of buttons doesn't get chopped off on 800x600 screen.
  186.  
  187. Changes from version 2.1 to 3.0:
  188.  
  189. Push buttons for each month added.  Push buttons for 6 years added.  Documentation added explaining color choices and options.  "Today" highlight changed to actually highlight ONLY the current date.
  190.  
  191. Changes from version 2.0 to 2.1:
  192.  
  193. Fix error when month name not valid.  Fix error when either semiannual window closed (640x480 resolution or parameter of "Semi" only).  Change dates under 10 to align properly.
  194.  
  195. Changes from version 1.2 to 2.0:
  196.  
  197. Added Calendar.Ini file which contains color combinations for various types of days (holidays, birthdays, etc.)  Also added ability to specify various types and ranges of dates in the Ini file which are to be highlighted.  Added ability to split annual calendar into 2 semiannual windows for VGA resolution screens.  
  198. Changed window alignment so that both monthly and annual windows will show at the same time without you having to move either.  Added ability to update Ini file and reprocess it while Calendar is active.  Added display of holidays, etc. to annual and semiannual windows.
  199.  
  200. Changes from version 1.1 to 1.2:
  201.  
  202. Implemented internal method for determining screen resolution.  Parameter no longer needed for SVGA resolution.  Add logic to increase font size on annual display for 1024x768 and higher SVGA screen resolutions.
  203.  
  204. Changes from version 1.0 to 1.1:
  205.  
  206. Change the annual calendar to fit VGA and SVGA screen resolutions.
  207.  
  208. (c) Copyright Leland C. Sheppard, 1994-1996.  All rights reserved.
  209.