home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / zip / other / cal63.lzh / CAL63 / CAL63.DOC < prev    next >
Text File  |  1993-07-30  |  106KB  |  2,178 lines

  1.                          Cal v6.3: The Calendar Program
  2.                         Copyright (c)1992 by Bill Aycock
  3.  
  4.  
  5. Ever forgotten your anniversary or your kid's birthday? Missed a TV show
  6. because you didn't remember what day it was broadcast? Went to work an hour
  7. late (or even worse, early!) when you forgot to reset your clock for Daylight
  8. Savings Time? If this has happened to you, Cal may be able to help!
  9.  
  10. Cal is a calendar program with a difference - it lets you attach 'events' to
  11. any day of the year by date, according to a day's position in the month, or on
  12. a regular cycle. When Cal loads, it reads the current date from your system
  13. clock and checks to see if any significant events are scheduled for the day. If
  14. so, Cal displays an alert that shows you the day's events. (When Cal loads as
  15. an ACC, it dings the system bell if a significant event is scheduled.) Cal can
  16. also communicate with CodeHead's HotWire (v2.1 or newer) to set up the day's
  17. alarms automatically!
  18.  
  19. Also included in this package is Calshow, a program that reports on the
  20. events you've stored in Cal and functions as an AUTO program, a full GEM-based
  21. program or desk ACC, or from a CLI. As an AUTO program, CalShow will read the
  22. events from Cal and display upcoming events on screen, then pause so you can
  23. easily see what's on tap for the next few days or weeks. This should give you
  24. plenty of time to plan for upcoming events!
  25.  
  26.  
  27. ====================================================
  28.  
  29.                     CONTENTS
  30.  
  31.  
  32.        0. New Stuff in This Version
  33.  
  34.        1. Installation
  35.          1.1. Installing from Scratch
  36.          1.2. Converting from Older Versions
  37.          1.3. DC-Squish Notes
  38.          1.4. Limits
  39.  
  40.        2. Cal
  41.  
  42.          2.1. Concepts
  43.            2.1.1. Event Types
  44.            2.1.2. Importance
  45.  
  46.          2.2. Startup Actions
  47.            2.2.1. Initialization and HotWire Alarms
  48.            2.2.2. Alert Dialog
  49.            2.2.3. Expired Event Dialog
  50.  
  51.          2.3. Main Calendar
  52.            2.3.1. Types of Days
  53.            2.3.2. Changing the Year or Month
  54.            2.3.3. Looking at a Specific Day
  55.            2.3.4. General Information
  56.            2.3.5. Other Buttons
  57.  
  58.          2.4. Extras Dialog
  59.            2.4.1. Days Between Two Dates
  60.            2.4.2. Date of Easter
  61.  
  62.          2.5. Preferences Dialog
  63.            2.5.1. Desk Menu Entry
  64.            2.5.2. When An Event Expires
  65.            2.5.3. Other Settings
  66.  
  67.          2.6. File Dialog
  68.            2.6.1. Cal File Types
  69.            2.6.2. Loading
  70.            2.6.3. Saving
  71.            2.6.4. Merging
  72.            2.6.5. Talking with Other Cals
  73.            2.6.6. Mass Erase Dialog
  74.            2.6.7. Setting HotWire Alarms
  75.            2.6.8. Checking Expired Events
  76.  
  77.          2.7. Scan Dialog
  78.            2.7.1. Concepts
  79.            2.7.2. How Scanning Works
  80.            2.7.3. Scan Display
  81.            2.7.4. Finding Events
  82.            2.7.5. Scan Options
  83.  
  84.          2.8. Find Dialog
  85.            2.8.1. Search String
  86.            2.8.2. Type and Importance Filters
  87.  
  88.          2.9. Edit Dialog
  89.            2.9.1. Edit Mode
  90.            2.9.2. Fields on the Edit Screen
  91.            2.9.3. Looking at Events
  92.            2.9.4. The When and Help Dialogs
  93.            2.9.5. Changing Existing Events
  94.            2.9.6. Adding New Events
  95.            2.9.7. Erasing Events
  96.  
  97.        3. Calshow
  98.          3.1. Running from the AUTO Folder
  99.          3.2. Running as a PRG or ACC
  100.            3.2.1. Calshow Preference Overrides
  101.            3.2.2. Calshow Preferences
  102.          3.3. Running from the Command Line
  103.  
  104.        4. Final Notes
  105.          4.1. Registration
  106.          4.2. Version History
  107.  
  108.        5. Keyboard Shortcuts
  109.          5.1. Main Calendar
  110.          5.2. Alert Dialog
  111.          5.3. Edit Dialog
  112.          5.4. Expired Event Dialog
  113.          5.5. Extras Dialog
  114.          5.6. File Dialog
  115.          5.7. Find Dialog
  116.          5.8. Mass Erase Dialog
  117.          5.9. Preferences Dialog
  118.          5.10. Scan Dialog
  119.          5.11. When Dialog
  120.          5.12. Calshow Main Dialog
  121.          5.13. Calshow Preferences Dialog
  122.          5.14. Calshow Command Line Parameters
  123.  
  124. ====================================================
  125.  
  126.  
  127. 0. New Stuff in This Version
  128.  
  129.  
  130. The database format has changed in this version. To copy over your old
  131. events, run Cal 6.3 and select the File button, then the Load From File button,
  132. then select your old copy of Cal (any version 5.x or 6.x). The events will be
  133. loaded and converted automatically. Remember to save your events in the new
  134. file after you've converted them!
  135.  
  136.  
  137.  
  138. Main Cal changes (in no particular order):
  139. ------------------------------------------
  140.  
  141. * You can select more than one weekday when defining a positional event.
  142.  
  143. * You can perform a 'date calculation' in an event's message. In the
  144.   message text, include a control-A (looks like an up-arrow) followed by
  145.   a year of exactly four decimal digits. The message displayed for the
  146.   event will replace these five characters with the number of years
  147.   between the year you entered and the current year. (You'd use this for
  148.   birthdays, for example... for someone born in 1980, make the text read
  149.   something like "Joe's birthday (^1980 years old)" and the display will
  150.   show "Joe's birthday (12 years old)".
  151.  
  152. * There's a new 'Help' button on the cyclic event edit screen. Use this
  153.   button to find an ending date by adding a number of days to the start
  154.   date.
  155.  
  156. * Add, delete, and replace event verification alerts now display some of
  157.   the text of the message to be acted upon. Helps avoid errors.
  158.  
  159. * In the Edit screen, the Enter and Return keys will move the cursor to
  160.   the next editable field. In old versions Enter either exited the screen
  161.   or had no effect at all.
  162.  
  163. * An event can now be marked as a 'Holiday' or 'Skip on holidays' event.
  164.   If a Holiday event falls on a day, any Skip-Holidays events will _not_
  165.   be shown on that day. A new Prefs setting allows you to override this
  166.   action and display even 'skipped' events.
  167.  
  168. * You may double-click the Prev or Next buttons in the Scan dialog to move
  169.   to the first or last selected event.
  170.  
  171. * The statistics shown on the credits screen (Help at main calendar) now
  172.   include the number of unused bytes remaining in the message area.
  173.  
  174. * The Expired Events dialog now has a clickable Exit button, instead of
  175.   requiring you to press Undo to exit before checking all expired events.
  176.  
  177. * The Edit dialog now includes a Prev button to move you to the previous
  178.   selected event (next to the existing Next Event button).
  179.  
  180. * Instead of a single 'switch to next edit mode' button, the Edit dialog
  181.   now has three buttons that allow you to select an edit mode directly.
  182.   The next selected event of the desired type will be displayed if one is
  183.   present; if there are none, a blank template will be shown.
  184.  
  185. * The Edit dialog behaves in a MUCH more reasonable fashion. The Next and
  186.   Prev buttons will cycle through all selected events in order no matter
  187.   what type they are. (Previously, if the first event Edit showed was a
  188.   Date event, for example, all Positional events were deselected.) But
  189.   note, if a cyclic event is displayed you will still need to select
  190.   the ^Date or ^Pos button to exit cyclic edit mode.
  191.  
  192. * There is a new Prefs button to default new date events to one-time
  193.   events if you wish.
  194.  
  195. * When creating a new Cal data file for saving events, the file name is
  196.   displayed in the do-you-want-to-do-this alert.
  197.  
  198. * Key equivalents have been added or changed for new or changed buttons.
  199.  
  200.  
  201. Main Calshow changes (also in no particular order):
  202. ---------------------------------------------------
  203.  
  204. * Calshow 6.3 supports the Cal 6.3 database format (not older formats).
  205.  
  206. * Preferences have been moved to a separate dialog to make room for new
  207.   features.
  208.  
  209. * You may select, for each importance level, VDI text attributes (bold,
  210.   underlined, italics, outlined, grayed-out) for the display of events of
  211.   that importance. Obviously these attributes will only work when you view
  212.   a GEM coming-events listing.
  213.  
  214. * The days-until, date, and alarm display in a GEM listing are in normal
  215.   text now. If an event is defined as a holiday, the values will be shown
  216.   in boldface. If the event is a skip-on-holidays event, AND a holiday
  217.   event falls on the same day, AND you've selected the show-skipped-events
  218.   button, the values will be grayed out (even if the holiday event is not
  219.   displayed due to an importance level filter).
  220.  
  221. * The old 'Week' quick-view button is now a 'nn-Days' button. There is a
  222.   Prefs setting to set the number of days for this button. (The value is
  223.   also editable from the main screen, but you will need to cursor down to
  224.   the field (or hit Alt-D) to edit the value... if you click the button,
  225.   you'll get the display instead of just moving the cursor.)
  226.  
  227. * Calshow supports the new date-calculation feature in event messages.
  228.  
  229. * On a GEM display, you may now use the mouse to page through or pause the
  230.   display. One click means continue, 2 clicks means wait (like pressing
  231.   Help), 3 clicks (if you can click that fast!) means exit now (like
  232.   pressing Undo). The keys may still be used.
  233.  
  234. * The Quickview buttons (nn-Days and Today) will now honor the Start Date
  235.   if one is entered on the main display.
  236.  
  237. * Calshow should now print to an Atari laser printer if the LaserBrain (and
  238.   possibly the Diablo) driver is used. To do so, select the 'print anyway'
  239.   button when Calshow says the parallel printer is not ready. (Too bad the
  240.   SLM drivers don't intercept GEMDOS printer status calls. :-)
  241.  
  242. * For the alerts that choose file or printed reports, formfeed yes or no,
  243.   and recheck printer or print anyway, you may hold down the Alt key when
  244.   you click your answer. When you do so, Calshow registers the button you
  245.   click as the new default button, so in the future you'll be able to select
  246.   it by just hitting the Return key. (Make sure you save your Calshow
  247.   preferences after choosing a new default button!)
  248.  
  249. * Key equivalents have been added or changed for new or changed buttons.
  250.  
  251. * Calshow will now accept commands passed on the command line. All commands
  252.   passed MUST begin with the dash character ('-'). All characters passed are
  253.   uppercased and blanks are removed when parsing the command line. If any
  254.   command errors are detected, an informative message and the actual command
  255.   line used (upper case, no blanks) are displayed, followed by a help display.
  256.   Extra characters following a command or argument, or non-numeric chars when
  257.   digits are expected, will be ignored. Unless the -G (GEM mode) command is
  258.   included, Calshow will exit after the output is written or displayed. The
  259.   preferences saved in the Calshow file will be used unless overridden by
  260.   switches on the command line. Enter a question mark as the first non-blank
  261.   character to view the Help display (or include the -? switch anywhere on
  262.   the command line). Use '-I' with no arguments to select all importance
  263.   levels. If the '-O' switch is used with no arguments, the output will be
  264.   written to a file named EVENTS.TXT in the current directory. File output
  265.   will always overwrite an existing file with no warnings. See the Keyboard
  266.   Shortcuts appendix at the end of this document for a complete list of valid
  267.   command line parameters.
  268.  
  269.  
  270. ====================================================
  271.  
  272.  
  273. 1. Installation
  274.  
  275.  
  276. 1.1. Installing from Scratch
  277.  
  278. Installing Cal and CalShow is simple. Cal comes ready to go, pre-configured
  279. with over a hundred commonplace and obscure events. To use Cal, either install
  280. it as a desk accessory in the normal fashion, or just run it as a program. Cal
  281. uses roughly 90K of memory, and runs on any ST or TT in any resolution.
  282.  
  283. Likewise, CalShow can run as a normal GEM program from the desktop or as a
  284. desk accessory. However, CalShow can also run from the AUTO folder, so you can
  285. be reminded of upcoming events every time you boot your system. To do so,
  286. create a folder named AUTO on your boot disk and copy CSHOW63.PRG into the new
  287. folder. Like Cal, CalShow can run in any resolution on any ST or TT. It uses
  288. under 60K as an accessory. (Note: Cal does NOT need to be installed as an ACC
  289. in order to use Calshow as an ACC.)
  290.  
  291. NOTE: You can also place Cal in your AUTO folder if you want. It won't _do_
  292. much of anything when you boot up, but it won't crash your system! <grin>
  293.  
  294.  
  295. 1.2. Converting from Older Versions
  296.  
  297. In the past, upgrading to a new version of Cal meant either running your old
  298. version and saving your events in the new one, or running a separate conversion
  299. program (to convert from 4.x to 5.x). It's even easier now!
  300.  
  301. Even though Cal's database format has changed again, Cal 6.3 lets you load
  302. events _directly_ from an older Cal 6 or 5.x Cal file. Simply run Cal 6.3,
  303. click the File button, click the Load button, and use the item selector to
  304. find your old copy of Cal. Cal 6.3 will read in all your events and convert
  305. them to the new format automatically. When converting from v5.x, HotWire alarm
  306. information is removed from your messages and stored in the new alarm settings
  307. fields, and the importance of each event is set to level 7 for significant
  308. events, level 4 for normal events, and level 1 for trivial events.
  309.  
  310. When you return to the File dialog, click Save to store your new events into
  311. the Cal 6.3 program file. Simple!
  312.  
  313.  
  314. 1.3. DC-Squish Notes
  315.  
  316. Cal and Calshow are compatible with DC-Squish 1.4, Double Click's program
  317. compressor. This little jewel basically lets you "arc" your programs and desk
  318. ACCs to save space on your disk. The program is automatically unArced when you
  319. run it (or load the ACC). Another advantage of DC-Squish is that since the
  320. program files are smaller, they generally load a bit quicker (especially from a
  321. floppy). DC-Squish is a part of the DC Utilities package available wherever you
  322. buy ST software.
  323.  
  324. To squish Cal and Calshow, simply follow the DC-Squish instructions. When you
  325. click the "Squish" button, you should see an alert that says "offset protocol
  326. recognized- use it?".
  327.  
  328.             IMPORTANT: YOU MUST ANSWER YES TO THIS QUESTION!!!
  329.  
  330. This makes DC-Squish compress the program part of Cal and Calshow, but leave
  331. the embedded data alone. If you answer No instead, you will not be able to save
  332. your events in Cal, and Calshow won't be able to read Cal's event data! (If
  333. your copy of DC-Squish doesn't support the 'offset protocol', DO NOT use it on
  334. Cal or Calshow- upgrade to the latest version of the DC Utilities!)
  335.  
  336.  
  337. 1.4. Limits
  338.  
  339. Cal 6 provides around 20K of space for the event database, and enough room to
  340. hold 511 events in its index. There are no limitations for any group of events
  341. (e.g., events on a single day, events to be scanned) other than those imposed
  342. by the size of the database and index.
  343.  
  344. If each of your events uses every character on all three lines available for
  345. the message, Cal will run out of room at around 166 events. If you define the
  346. maximum number of events, then each event can have a message 17 characters in
  347. length. In practice, most users will fall somewhere between these two limits.
  348. Database usage statistics are shown on the Credits screen (see below).
  349.  
  350.  
  351. ====================================================
  352.  
  353.  
  354. 2. Cal
  355.  
  356.  
  357. 2.1. Concepts
  358.  
  359. Cal is, among other things, a universal calendar. You can use Cal to see the
  360. calendar of any month in any year from the year 1 to the year 9999. But more
  361. than that, Cal is designed to help you remember birthdays, anniversaries, TV
  362. shows, and more- any event that occurs on a particular day. It works equally
  363. well for weekly TV shows, monthly meetings, birthdays that only roll around
  364. once a year, or once-in-a-lifetime experiences. This section explains some
  365. basic concepts that will help you make the most of Cal and Calshow.
  366.  
  367.  
  368. 2.1.1. Event Types
  369.  
  370. The concept of an "event" is central to Cal. Webster defines an event as
  371. "that which comes, arrives, or happens, especially an incident of importance".
  372. In Cal, an event is any incident that occurs on one day. Cal recognizes four
  373. basic types of events: recurring date events, one-time date events, positional
  374. events, and cyclic events.
  375.  
  376. A "date event" is any event that occurs on a specific date in a month.
  377. Birthdays and anniversaries are date events; some holidays, such as New Years
  378. and Christmas, are date events. Bills that are due on the 15th of the month are
  379. date events.
  380.  
  381. The above examples are "recurring" date events, since they occur more than
  382. once. Birthdays and holidays happen every year, bills are due every month. The
  383. other type of date event is a "one-time" event. If you have a dentist
  384. appointment on September 21st, 1991, you can set it up as a one-time event. The
  385. difference between one-time and recurring date events is that recurring events
  386. happen over and over, while one-time events occur in one specific year; after
  387. the event has passed, it's no longer valid- it "expires".
  388.  
  389. The third type of event is the "positional event". You schedule a positional
  390. event by its position in the month. Examples: Thanksgiving Day is always the
  391. fourth Thursday in November; the last Sunday in October is the end of Daylight
  392. Savings Time. Ptaug, our local Atari users group, holds meetings on the last
  393. Wednesday of every month except July and December.
  394.  
  395. Cal 6 provides a fourth event type, the "cyclic event". Cyclic events are
  396. those which occur repeatedly over a fixed time span, every so many days. If you
  397. get paid every two weeks, add a cyclic event for every 14 days to remind you.
  398. If you need to mark your summer vacation so you won't schedule a meeting during
  399. that time, you can set up a cyclic event that occurs every day during that
  400. time. Cal allows cyclic events to occur every one to 255 days over a period
  401. of up to 100 years. Just tell Cal the date of a cyclic event's first
  402. occurrence, how often it occurs, and an ending date after which the event
  403. expires.
  404.  
  405.  
  406. 2.1.2. Importance
  407.  
  408. Another basic concept is that of an event's "importance". Starting with Cal
  409. 6.0, an event can have an importance level of zero to nine, with zero as the
  410. least important and nine as the most. The importance level affects the way Cal
  411. displays an event, and gives you another way to select groups of events as
  412. you'll see later.
  413.  
  414.  
  415.  
  416. 2.2. Startup Actions
  417.  
  418. Several important things happen when you start Cal. If you run Cal as a
  419. program, these actions occur all at once; if you load Cal as an accessory
  420. instead, some things happen when the accessory loads and others don't occur
  421. until you select the accessory from the Desk menu.
  422.  
  423.  
  424. 2.2.1. Initialization and HotWire Alarms
  425.  
  426. Cal starts out by checking if it's running from the AUTO folder. Any program
  427. that relies on GEM cannot run while your ST is just booting up. Most GEM
  428. programs don't check to see if they're running at boot time, and simply crash
  429. your system... Cal DOES check, and DOESN'T crash- it just displays a short
  430. message on your screen and gracefully quits.
  431.  
  432. Next, Cal reads your system clock to find out what day it is. Then it checks
  433. to see if any events are scheduled for the current day. If an event is
  434. scheduled, two things happen. First, Cal checks to see if CodeHead's HotWire is
  435. active. (HotWire is an enhanced desktop replacement- very powerful, easy to
  436. use... highly recommended!) If it is, Cal can set up to sixteen HotWire alarms
  437. for you, to keep you on track during the day! (Note: Cal is smart enough to
  438. skip setting alarms for times that have already passed. Also, Cal won't set
  439. alarms that already exist, so you don't need to worry about having a dozen
  440. copies of the same alarm go off at once. :-) HotWire must be at version 2.1 or
  441. above for this feature to be active.
  442.  
  443. Then, if Cal is loading as an accessory, it will ding the system bell to
  444. remind you that something is happening today.
  445.  
  446.  
  447. NOTE: Cal will set your alarms as soon as he initializes. Also, every time
  448. you go to the main calendar screen Cal will check to see if today's date has
  449. changed. If so, Cal will automatically set your alarms for the new day. You
  450. can also ask Cal to set the day's alarms at any time from the File dialog;
  451. more on that later.
  452.  
  453. ANOTHER NOTE: If you own CodeHead's MultiDesk Deluxe and you set up Cal as a
  454. non-resident accessory, you MUST include the "-I" parameter in your TITLES.MDX
  455. file if you want to set HotWire alarms when you boot! This parameter tells
  456. MultiDesk to let Cal perform its initialization - which includes setting the
  457. day's alarms - when you boot up your system. Cal will still work fine as a
  458. non-resident ACC without the -I parameter, but your alarms won't be set until
  459. you actually choose Cal from the MultiDesk menu. For further information, see
  460. Appendix A in the MultiDesk Deluxe user guide.
  461.  
  462.  
  463.  
  464. Next there's a break in the action. If Cal is running as an accessory,
  465. nothing else happens right now- the rest of the initialization waits until the
  466. first time you select Cal from the Desk menu. If you're running Cal as a
  467. program, there's no pause; it keeps right on truckin' along.
  468.  
  469.  
  470. 2.2.2. Alert Dialog
  471.  
  472. The next step of Cal's initialization is to let you know about any events
  473. scheduled for the day. If nothing is on tap, this step is skipped; otherwise,
  474. Cal brings up the Alert Dialog.
  475.  
  476. The title bar at the top of this dialog will normally read "Events of the
  477. Day". However, if Cal tried setting any HotWire alarms for you, the title bar
  478. will tell you so. It will also let you know if Cal was unable to set one or
  479. more of your alarms; be sure to read the message to find out the status of the
  480. day's HotWire alarms.
  481.  
  482. NOTE: If the MOST important event on a given day has an importance level of
  483. zero, the Alert Dialog will NOT be displayed automatically. The only time this
  484. is not the case is when the level-zero event is an alarm, HotWire is active,
  485. and Cal was unable to set the alarm for you. If this happens, Cal will display
  486. the alert so you can see the error message.
  487.  
  488. The upper box of this dialog shows the day of the week, date, and year, plus
  489. the Julian date (that's the day of the year, folks) and how many days remain in
  490. the year. The main part of the dialog is a large box that lists the events
  491. scheduled for the day.
  492.  
  493. This box can show up to eight events at a time, depending on how many lines
  494. of text each event contains. If all of the messages for the day fit on this
  495. screen, the "next page" button at the bottom of the screen will be grayed out;
  496. if there are too many messages to display at once, you can click this button to
  497. view the rest of the events. Each click shows you the next few events; after
  498. the last waiting event is displayed, Cal 'wraps around' to the first one and
  499. starts over. Unlike older versions, there is _no limit_ to the number of events
  500. Cal can display on a single day (other than the total number of events defined,
  501. that is)... but if you end up with more than 50, I'd _still_ recommend hiring a
  502. secretary. :-)
  503.  
  504. The first line of each event is marked with a small symbol, either a triangle
  505. (for a normal event) or a clock face (if the event has an associated alarm).
  506. This makes it easy to see where one event ends and the next begins. In
  507. addition, you may click on a clock face; this will display the event's alarm
  508. time in the box at the top of the dialog.
  509.  
  510. You may edit an event from this screen if you wish; click on the message text
  511. or on an unused slot in the display (or press a number key on the numeric
  512. keypad). This takes you to the Edit Dialog; more on that later. Since we're
  513. still booting up, click the Cancel button or just hit Return and Cal will
  514. finish its initialization.
  515.  
  516.  
  517. 2.2.3. Expired-event Dialog
  518.  
  519. As the last step of its initialization, Cal searches your events looking for
  520. one-time date events and cyclic events. If any are found, Cal looks to see if
  521. each event's last occurrence has passed; if so, then the event has expired.
  522.  
  523. One of three things happens next. First, Cal can ignore the fact that the
  524. event has expired, and just continue initializing. Second, Cal can go ahead and
  525. erase the old event for you automatically. Third, Cal can ask you what to do
  526. with the event. Which of these happens depends on how you've set up Cal; the
  527. initial setting is for Cal to ask you what to do, but you can change this to
  528. your taste. (See the Preferences section for information on how to do this.)
  529.  
  530. Cal asks you what to do with an expired event by displaying the Expired Event
  531. Dialog. The top of this dialog shows the event and the day it was scheduled to
  532. occur. The buttons on this dialog will let you erase the event, leave it alone
  533. for the moment, or convert a one-time date event to a recurring event.
  534.  
  535. If you prefer to wait until later to look through the expired events, press
  536. the UNDO key to cancel the process. When you have more time, you can start the
  537. process again from the File menu.
  538.  
  539.  
  540.  
  541. 2.3. Main Calendar
  542.  
  543. Most of Cal's main screen is taken up by a calendar display. The month and
  544. year of the calendar is shown right underneath the display, and there is a
  545. column of month buttons to the right. There are plenty of other buttons too; in
  546. fact, almost anything you click on will do something <grin>. More about that in
  547. just a minute...
  548.  
  549.  
  550. 2.3.1. Types of Days
  551.  
  552. The calendar display has changed significantly from older versions. If Cal is
  553. showing the current month and year, then today's date will be highlighted
  554. (white numbers on a black background). Days in the preceding and following
  555. months are grayed out. The other days in the month may be surrounded by boxes
  556. of varying thickness. These borders indicate the importance level of the _most
  557. important_ event falling on that date... a heavy border means an important
  558. event (levels 7 to 9) occurs that day, a medium border means the most important
  559. event is between four and six, and a skinny border means that a level 1 to 3
  560. event occurs. If there is no border surrounding a day, then only level zero
  561. events occur then (or, of course, nothing at all is scheduled that day).
  562.  
  563.  
  564. 2.3.2. Changing the Year or Month
  565.  
  566. There are a couple ways to look at different months and years. First notice
  567. the column of buttons to the right of the calendar. These buttons are labeled
  568. with the names of the months; click one of these buttons to move directly to
  569. that month. The bottom two buttons are labeled Next and Prev, and will skip
  570. forward or back one month. (Also note that the buttons are marked like the top
  571. row of keys on your keyboard, with numbers 1 to 0 plus - and =... pressing one
  572. of these keys will act just like clicking the appropriate month button. You may
  573. also use the numeric keypad keys 1-9, (, ), and / to select a month. The left
  574. and right arrow keys move you forward or back a month like the Next and Prev
  575. buttons.)
  576.  
  577. Next, note the arrow and double-arrow buttons right underneath the calendar.
  578. These buttons, or the up and down arrow keys, move the display forward or back
  579. one or ten years at a time.
  580.  
  581. If you want to look at a specific year, click on the box that shows the
  582. current month and year. When you do this, you see a dialog that allows you to
  583. type in the year you want. You'll probably find this easier than clicking the
  584. up and down buttons.
  585.  
  586.  
  587. 2.3.3. Looking at a Specific Day
  588.  
  589. To find out more about a specific day or discover the reason for a border
  590. around a number, simply click directly on that day in the calendar. This takes
  591. you to the Alert Dialog which we (I :-) talked about earlier. You'll see the
  592. date spelled out and a list of the day's events.
  593.  
  594. (Incidentally, this is the easiest way to add a new event to Cal -- look at
  595. the month the event falls in, and click on the day. When the Alert Dialog shows
  596. up, click on the text of any message or on an empty message slot. You'll go to
  597. the Edit Dialog, with the date preselected, ready to add a new event. We'll
  598. discuss that part later; right now, let's finish up with the main screen.)
  599.  
  600.  
  601. 2.3.4. Other Buttons
  602.  
  603. The buttons across the bottom of the main calendar screen will take you to
  604. several other dialogs, which are explained in detail below.
  605.  
  606. The question-mark button takes you to the Extras dialog, where you can find
  607. the date of Easter or perform date calculations.
  608.  
  609. Today, obviously enough, tells Cal you want to see the calendar of the
  610. current month. If you already looking at the current month, then Cal will show
  611. you the Alert for today's date.
  612.  
  613. The Prefs button allows you to customize Cal's behaviour from the Preferences
  614. dialog.
  615.  
  616. The File button lets you load or save Cal's events, erase an entire month's
  617. worth of events at once, or check Cal's database for events which have
  618. expired.
  619.  
  620. The Scan button moves you to the Scan Dialog, where you can see a number of
  621. events at once.
  622.  
  623. The Quit button lets you exit Cal.
  624.  
  625. NOTE: Cal keeps track of whether you change any of your events or customize
  626. Cal's setup. If you look right under the column of month buttons, you'll see
  627. the word SAVED or CHANGED to remind you.
  628.  
  629. If you've changed something during your Cal session but haven't saved your
  630. changes, you get a chance to do so when you click Quit. An alert appears that
  631. asks you if you want to save the new information, resume what you were doing in
  632. Cal, or go ahead and quit. Choose the one you feel is most appropriate. If you
  633. select Save, the GEM item selector will appear so you can locate the Cal file.
  634. (If you press the Alt key when you select Save, you'll go to the File dialog so
  635. you can save to a file or to a Cal ACC.) After you save your events to a file
  636. successfully, you'll exit Cal; otherwise you'll return to the main dialog.
  637.  
  638. WARNING: If you run Cal as a program (or a non-resident ACC) and decide to
  639. exit without saving your changes, they're GONE. If you're running Cal as a
  640. regular accessory, your changes will still be in place when you next open the
  641. ACC (and, if you _still_ don't save your setup, you'll be reminded when you try
  642. to exit again).
  643.  
  644. ANOTHER NOTE: One of your options is to have Cal erase expired events for you
  645. automatically. When this happens, the event is removed from the copy of Cal
  646. currently in your Atari's memory. This means Cal's setup can change _even if
  647. you don't do anything_! If you see the "setup has changed" alert when you exit
  648. Cal but you haven't changed anything, it's probably because Cal has erased an
  649. expired event for you.
  650.  
  651.  
  652. The last button on the main screen is the largest one- it's the main title
  653. bar that normally reads "Calendar 6.3". When you click on the title bar, you
  654. go to a special screen that shows you the current version number and release
  655. date, how many of each event type is currently defined, how much room is still
  656. available in the event database, and where to send your shareware donation
  657. <grin>. Press any key or click the mouse button to exit this screen.
  658.  
  659. The title bar also allows you to reposition Cal's dialog on the screen. Click
  660. on the title bar and hold down the mouse button, then drag the outline of the
  661. dialog to the desired location and release the button. The relative position
  662. of the dialog is saved whenever you save your setup; if you wish, you can tell
  663. Cal to use this saved position automatically when it starts up.
  664.  
  665.  
  666.  
  667. 2.4. Extras Dialog
  668.  
  669. The Extras dialog is a simple screen that lets you find the number of days
  670. between two dates or the date of Easter for a given year, or lets you add or
  671. subtract some number of days from a base date and find the resulting date.
  672.  
  673. Use the top half of the dialog to perform date calculations. Enter a base
  674. date at the top, then type in a date (to find the days between) or a number of
  675. days (to calculate a new date), then press Enter. The two radio buttons let you
  676. choose USA (month/day/year) or European (day/month/year) style dates.
  677.  
  678. If you leave part of a field empty, Cal will use the current date (month,
  679. day, or year) for that value. If you leave both empty, Cal will gladly tell you
  680. that there are zero days between today and today. :-)
  681.  
  682. The bottom half of the dialog will calculate the date of Easter for a given
  683. year. (Betcha didn't know you could calculate that, did ya? :-) Type in a year
  684. and hit Enter, and Cal will tell you when Easter falls that year.
  685.  
  686. Click Exit or press Undo to leave the Extras dialog.
  687.  
  688.  
  689.  
  690. 2.5. Preferences Dialog
  691.  
  692. As was mentioned above, you can customize several aspects of Cal's behaviour.
  693. These include the handling of expired events, whether to use USA or European
  694. dates, and a number of other options. To change any of these items, click  the
  695. Prefs button on Cal's main calendar screen.
  696.  
  697.  
  698. 2.5.1. Desk Menu Entry
  699.  
  700. The top of this dialog contains a text field labelled "Desk Accessory Menu
  701. Entry". When you run a fresh copy of Cal as a desk accessory, it shows up in
  702. the menu as "Calendar 6.3". If you wish, you can change this entry by typing in
  703. a new entry to use. If you have a large number of events to keep track of, you
  704. may want to split them up between two or more copies of Cal... this feature
  705. gives you a way to distinguish between the different copies in the Desk menu.
  706. (The string you type in here also shows up in the main screen's title bar, so
  707. you can tell which copy of Cal you're running.)
  708.  
  709. NOTE: When Cal runs as a non-resident ACC under MultiDesk Deluxe, the entry
  710. in MultiDesk's menu comes from a special list you set up in your TITLES.MDX
  711. file. That means if you change the title here, it WON'T automatically change.
  712. See your MultiDesk Deluxe guide for more information.
  713.  
  714.  
  715. 2.5.2. When An Event Expires
  716.  
  717. Underneath the menu entry field are a number of radio buttons. The lower left
  718. group lets you tell Cal how to handle an expired event. There are three buttons
  719. in this group: Erase the event, Leave it alone, and Ask what to do. If you
  720. select Leave It, then Cal will never check for expired events unless you choose
  721. to do so from the File dialog. If you select Ask, then Cal will ask you what to
  722. do with each expired event when you first run Cal. You can also select Erase
  723. It- when you do, Cal will automatically erase any event that has expired.
  724.  
  725. NOTE: You must save your Cal setup to disk after an expired event has been
  726. erased; otherwise it will still be in Cal's database on disk, and will be there
  727. the next time you load Cal. Also, Cal keeps track of any changes that were made
  728. in a session. When you exit Cal, it checks to see if you've saved your changes-
  729. if not, you'll see an alert asking if you want to save your changes. Remember
  730. that if _Cal_ erases an expired event for you, you may see this alert even
  731. though _you_ haven't changed anything!
  732.  
  733.  
  734. 2.5.3. Other Settings
  735.  
  736. Between the menu entry and expiration setting is a box labeled "New Event
  737. Defaults". When you add an event, you can assign a particular number of days of
  738. advance notice for the event; Calshow pays attention to this number when it
  739. builds its display. The first field in the Default Values box is marked "days
  740. notice", and tells Cal what value to use as the default notice whenever the
  741. Edit dialog shows you an empty template. The second field is marked
  742. "importance", and allows you to set the default importance level for new
  743. events.
  744.  
  745. The right side of the Prefs dialog has a box labeled Options which control a
  746. number of features. In each case, select the button next to a feature you want
  747. to turn on or deselect the button to turn the feature off:
  748.  
  749. The 'Alarms' button gives Cal permission to set HotWire alarms. IF THIS
  750. BUTTON IS NOT SELECTED, CAL WILL NEVER SET ANY HOTWIRE ALARMS ON ITS OWN! The
  751. only way to set alarms when this button is not selected is to choose the Set
  752. Alarms option from the File dialog.
  753.  
  754. The button marked 'Beeps On' asks Cal to ding the ST's bell whenever a GEM
  755. alert is displayed. You shouldn't see many alerts normally, but feel free to
  756. turn off the beeps if you wish.
  757.  
  758. When the 'Euro Date' button is selected, the European day/month/year style is
  759. used for all dates instead of the USA style month/day/year. (Actually, in most
  760. cases Cal will display the month name spelled out, or the first three letters
  761. of the name. Or, to show a number of months at once, Cal displays a string with
  762. the first letter of each month name, or a period if the month isn't selected.
  763. Example: "JF........ND" indicates January, February, November, and December.)
  764.  
  765. You may select the button marked '24hr Time' if you would prefer to see alarm
  766. times in military 24-hour time instead of 12-hour AM/PM time. This setting
  767. affects the display in the Scan dialog and the Alert dialog.
  768.  
  769. The 'Zoomboxes' button asks Cal to draw decorative shrinking boxes when
  770. changing from one dialog to another. Unless you have a fast machine and a
  771. blitter, you'll probably want to leave this button deselected. :-)
  772.  
  773. If the 'Location' button is selected, Cal will use the saved position of the
  774. dialog when it appears. Otherwise, the dialog will be centered on screen. (The
  775. location is saved as a relative position, so you never need to worry about
  776. Cal's dialog appearing halfway off the screen!)
  777.  
  778. The 'One-time' button, when selected, defaults new Date events to one-time
  779. events. When an empty date-mode template appears in the Edit screen, the Year
  780. field will be filled in with the current year automatically.
  781.  
  782. The button labelled 'No skips' asks Cal to ignore the skip-on-holidays
  783. setting for each event. Skip-holiday events will be displayed in the Alert
  784. screen even if the selected date is a holiday.
  785.  
  786. The last section of buttons in the Prefs dialog lets you decide if you want
  787. to be warned before you add, replace, or erase an event. Some people find these
  788. alerts irritating, intrusive, or excessive, so I've supplied a way to turn them
  789. off. Simply deselect the button, and be sure to save your changes. (Note: in
  790. older versions, the alerts occurred after the fact. That was like locking the
  791. barn door after the horse escaped, and I asked myself many times why I did that
  792. <g>. They work correctly now, and ask you BEFORE the event so you get a chance
  793. to change your mind.)
  794.  
  795.  
  796. After you make any changes in the Preferences dialog, be sure to save the new
  797. information in the Cal program file! Either save the information from the File
  798. dialog, or you'll have a chance to do so when you exit Cal.
  799.  
  800.  
  801.  
  802. 2.6. File Dialog
  803.  
  804. The File Dialog allows you to save the events and preferences you've stored
  805. in Cal. There are also options to reload a new set of events into Cal, merge
  806. the events from a Cal file into Cal without erasing what's already there, erase
  807. a number of events at once, check to see if any of your events have expired, or
  808. set HotWire alarms for the day.
  809.  
  810. There are several important concepts to keep in mind here:
  811.  
  812.    1. BEFORE you run Cal or load it as a resident desk accessory, all
  813.       your events and preferences are stored IN THE CAL PROGRAM FILE.
  814.  
  815.    2. AFTER you start Cal or load it as a resident desk accessory, your
  816.       events and preferences are stored IN YOUR COMPUTER'S MEMORY.
  817.  
  818.    3. Once Cal is running, CAL HAS NO CONNECTION WITH THE ACTUAL PROGRAM
  819.       FILE ON DISK.
  820.  
  821.    4. This means that any changes you make in Cal - adding new events,
  822.       changing existing events, or setting new preferences - ONLY AFFECT
  823.       THE COPY OF CAL IN YOUR ST'S MEMORY! If you want to make your
  824.       changes permanent, you must SAVE your setup to the program file.
  825.  
  826.    5. This also means that once Cal is running as a standard accessory,
  827.       CHANGES YOU MAKE TO THE PROGRAM FILE DO NOT AFFECT THE CAL ACC!
  828.       If Cal is running as an ACC, and you run Cal separately as a program,
  829.       the changes you make to the PROGRAM will NOT show up in the ACC
  830.       until you load the new setup from disk (or save it to the ACC).
  831.  
  832.  
  833. 2.6.1. Cal File Types
  834.  
  835. There are two basic types of Cal files. The first is the Cal program file
  836. itself. Your events are stored in the actual program file until Cal starts up.
  837. (Note: the format of Cal 6's database is not identical to older versions. Cal 6
  838. will let you load your events from an older 5.x version, but you will not be
  839. able to save to an old version.)
  840.  
  841. The second type of Cal file is an external Cal data file. Starting with
  842. version 6.0 of Cal, you can save your _events only_ to a separate file for
  843. archiving, transporting, or other special uses. A Cal data file is around 20K
  844. in size and contains only the event database; no preferences or program code.
  845.  
  846. Note: Versions 4.9 and up of the Whatis File Identifier can recognize Cal
  847. data files. The latest versions of Whatis and Cal can always be found on
  848. Compuserve's Atari Productivity Forum (GO ATARIPRO at any ! prompt).
  849.  
  850.  
  851. 2.6.2. Loading
  852.  
  853. The Load From File button in the File dialog lets you completely replace
  854. Cal's events with those stored in a disk file. Click the Load button, use the
  855. item selector to choose a file from which to load, and click OK. If the
  856. operation was successful, Cal will contain the same events that are present in
  857. the disk file.
  858.  
  859. You can load events from either the Cal program file or from an external Cal
  860. data file. When you load from the program file, your preferences are loaded at
  861. the same time. If you load from a Cal data file instead, only your events are
  862. changed (since the data file doesn't contain any preference data).
  863.  
  864. Cal 6 will also let you load your events (but not preferences) from a copy of
  865. Cal version 5. As the events are loaded, they are converted to the new Cal 6
  866. format automatically. This makes it simple to convert to Cal 6 from an older
  867. version of Cal.
  868.  
  869.  
  870. 2.6.3. Saving
  871.  
  872. The Save To File button allows you to save your events to a disk file. To
  873. save all your events and preference settings to the Cal program file, click
  874. Save, use the item selector to locate Cal, then click OK. If the operation was
  875. successful, your copy of Cal on disk will contain the same information as the
  876. copy of Cal that is currently running.
  877.  
  878. You also have the option of creating a separate Cal data file, or saving your
  879. events to an existing Cal data file. To create a new file, simply type a new
  880. filename when the item selector appears. You'll be told that the file doesn't
  881. exist, and asked if you wish to create a new file; click Yes or hit Return, and
  882. Cal will save all your events into a new data file.
  883.  
  884. It's even easier to save your events to an existing Cal data file - just
  885. select the data file with the item selector, as if it were the Cal program
  886. file. Cal can tell which type of file you've selected, and will save in the
  887. correct format automatically.
  888.  
  889. Reminder: Cal 6.3 cannot save events to an older version of Cal. If you see an
  890. alert that says "Not Cal, or wrong version", try again and be sure you select
  891. your version 6.3 file.
  892.  
  893.  
  894. 2.6.4. Merging
  895.  
  896. Cal 6 adds the ability to 'merge' events from any version 6 Cal program or
  897. data file into its database. When you merge events, none of the events
  898. currently in Cal are changed - Cal reads the events from the file one by one,
  899. and if they are not already present, they are added to what's already there.
  900. Exact duplicates are ignored, so you won't need to worry about having two
  901. copies of each event.
  902.  
  903. Events cannot be merged from an older version of Cal. To accomplish this,
  904. first save the events you've defined in Cal to an external data file, then load
  905. the events from your older version. When that's complete, you can merge the
  906. events from the data file you created.
  907.  
  908.  
  909. 2.6.5. Talking with Other Cals
  910.  
  911. Versions 6.1 and later of Cal have the ability to communicate with any Cal
  912. ACCs in your system. If you have Cal installed as an accessory and then run Cal
  913. as a program, the program will be able to read the events from or save a new
  914. set of events into the accessory. If you have two or more copies of Cal running
  915. as ACCs, each will be able to read or write the events stored in the other.
  916. This communication is controlled by three buttons and an editable text field in
  917. the File Dialog.
  918.  
  919. The two buttons on the right of the dialog, under the Save to File button,
  920. are labelled 'load from acc' and 'save to acc'. When these buttons are enabled,
  921. you can use them to read or write events from an active Cal ACC just as you
  922. would from a Cal program file.
  923.  
  924. To the left is a button marked 'rescan for acc', and underneath this button
  925. is a box marked 'name' with a text entry field. These two objects control which
  926. copy of Cal you are talking to.
  927.  
  928. When your ST loads an accessory, GEM keeps track of the file name. Later,
  929. applications can ask GEM if a particular ACC has been loaded. To talk with one
  930. particular Cal ACC, type the filename of that ACC, minus the extender, into the
  931. Name field, then click the Rescan button. Cal will ask GEM if that file has
  932. been loaded; if so, the load-from and save-to buttons will be enabled.
  933.  
  934. NOTE: When Cal tries to load from or save to an ACC, it will wait up to five
  935. seconds for the ACC to respond. Normally the process will be very quick, but if
  936. you have Cal set up as a non-resident MultiDesk MDX, it will take MultiDesk a
  937. couple seconds to load Cal.
  938.  
  939. IMPORTANT NOTE: You WILL NOT be able to save your events successfully into a
  940. non-resident copy of Cal! The process may appear to finish without error, but
  941. once the Cal MDX has responded, MultiDesk unloads it from memory- meaning that
  942. none of the new events are saved. If your copy of MultiDesk Deluxe is at
  943. version 3.4 or higher, Cal will not let you try saving to a non-resident MDX.
  944.  
  945. ANOTHER NOTE: The restrictions dealing with MultiDesk ACCs that talk with
  946. other ACCs applies to Cal. See your MultiDesk manual for more information.
  947.  
  948.  
  949. 2.6.6. Mass Erase Dialog
  950.  
  951. This dialog is used to erase all the events in one or more months at one
  952. time. Click the File dialog's Erase button and the dialog will appear; then
  953. select the months you wish to erase and click the Erase button. If you respond
  954. Yes to the alert that appears, all the events that occur in the selected months
  955. will be removed. Cyclic events are not affected.
  956.  
  957. NOTE: This process entails moving around a lot of data, so it may take awhile
  958. to finish, depending on how many events you have and which months are being
  959. erased. The cursor will change to the busy-bee shape while Cal is working. Be
  960. sure to give Cal enough time to complete the process!
  961.  
  962. You also have the option of erasing ALL OF YOUR EVENTS AT ONCE. If you select
  963. the All button, then verify that you really want to do so, Cal will erase every
  964. one of the events you've defined. This process takes only a fraction of a
  965. second. When it completes, you will have a totally empty copy of Cal with no
  966. events defined at all.
  967.  
  968.  
  969. 2.6.7. Setting HotWire Alarms
  970.  
  971. The lower left button on the File Dialog is marked 'set Alarms'. When you
  972. click this button, Cal will check every event scheduled for the current date
  973. and set any HotWire alarms that aren't already set. You'll see an alert that
  974. tells you how many alarms were attempted and how many were set. This button
  975. will be grayed out if HotWire 2.1 or later is not active in your system. (Note:
  976. since Cal is very good about setting alarms when needed, you'll only need to
  977. use this feature after you've defined a new alarm for the current day. In most
  978. other cases, the report will show that no new alarms were set.)
  979.  
  980. NOTE: If you select this option, Cal will set the appropriate HotWire alarms
  981. even if you've turned off alarms in the Preferences dialog.
  982.  
  983.  
  984. 2.6.8. Checking Expired Events
  985.  
  986. The last option in the File Dialog allows you to check all your events and
  987. find those which have expired. For each expired event, you will see the Expired
  988. Event Alert. You may leave an expired event alone for the time being, erase the
  989. event, or convert the event from a one-time date event to a recurring date
  990. event. See the section above on the Expired Event Dialog for more information.
  991.  
  992.  
  993.  
  994. 2.7. Scan Dialog
  995.  
  996. The Scan Dialog lets you view a number of events at once. You can browse
  997. through a summary of all your events, or use the Find dialog to select a subset
  998. of events to view.
  999.  
  1000.  
  1001. 2.7.1. Concepts
  1002.  
  1003. Cal keeps an index of all the events you've set up. This index is sorted by
  1004. month, date (for a date event) or week and weekday (for a positional event),
  1005. alarm time, and importance level. All positional events for a month show up
  1006. before the date events for that month (they have a 'date' of zero). Cyclic
  1007. events are listed first in the index, before any other types of events.
  1008.  
  1009. NOTE: Any event that is scheduled for more than one month is listed in the
  1010. index as if it occurred in the _first_ scheduled month. For example, if you pay
  1011. the rent on the 15th of every month, the event shows up with the January
  1012. events. If you pay your car insurance in March and September, the event shows
  1013. up in March.
  1014.  
  1015.  
  1016. 2.7.2 How Scanning Works
  1017.  
  1018. The way Cal's Scan feature works requires some explanation. Cal keeps a 'map'
  1019. of all the events listed in the index. This map contains a special flag for
  1020. each event. Each flag can be either on or off. When an event's flag is ON, that
  1021. event is 'selected' and will show up on the Scan display. When the flag is OFF,
  1022. the event will not appear- it will be 'hidden'.
  1023.  
  1024. When you first enter the Scan dialog, all the flags are turned ON; that means
  1025. all your events can be displayed. To find specific events or groups of events,
  1026. you can use the Find dialog. This dialog will look at each event whose flag is
  1027. ON, and see if it satisfies your request. If it doesn't, the Find routine will
  1028. turn that event's flag OFF.
  1029.  
  1030. The Reset button at the bottom of the Scan display will turn all the event
  1031. flags ON, no matter what state they're in at the moment.
  1032.  
  1033.  
  1034. 2.7.3. Scan Display
  1035.  
  1036. The title bar in the Scan Dialog displays the number of events currently
  1037. selected (those with ON flags) and the total number of events in Cal's
  1038. database. The dialog can display up to eight events at a time. The entry
  1039. for each event takes up two lines. The first line is in small type, and
  1040. shows you the event's index number, what importance level you've assigned
  1041. the event, the time of the event's alarm, and when the event occurs. If the
  1042. event is defined as a Holiday, an 'H' will appear next to the importance
  1043. level; an 'S' in this position indicates an event that will be skipped on
  1044. holidays. The next line contains, in large type, the first line of the
  1045. event's message text. Just to the left of this text is a small 'bullet'.
  1046.  
  1047. If you want to find out more about an event or make changes to it, click the
  1048. message text. This takes you to the Edit Dialog, which shows you all the
  1049. information about the event. (The Edit Dialog is explained below.)
  1050.  
  1051. When you first enter the Scan Dialog, the display is positioned to the first
  1052. event in the month you were viewing. Two buttons at the bottom of the dialog,
  1053. Prev and Next, allow you to scroll the display forward or back a page at a
  1054. time. Several other ways to scroll the display are also available from the
  1055. keyboard.
  1056.  
  1057. The Clr/Home key will move you to the first event. Shift Clr/Home moves to
  1058. the last event. The left and right arrow keys scroll the display one event at a
  1059. time, and the up and down arrows scroll a page at a time.
  1060.  
  1061. You can use the top row of keys on the main keyboard (numbers 1-0, -, =) to
  1062. start the display at the first event in any month, January to December. If
  1063. there are no events indexed in that month, the display will show the first
  1064. event in the following month. If no events at all occur past that month, the
  1065. first event will be displayed.
  1066.  
  1067. Note: Remember that cyclic events are indexed before the other types. If you
  1068. use the '1' key to move to January, all your cyclic events will have scrolled
  1069. off the top of the display... you'll need to scroll back to see them.
  1070.  
  1071. You may 'hide' an event by clicking on the bullet next to the event's text.
  1072. When you do this, Cal turns the event's flag OFF so it doesn't appear.
  1073.  
  1074.  
  1075. 2.7.4. Finding Events
  1076.  
  1077. The Find button at the bottom of the Scan dialog takes you to the Find Dialog
  1078. so you can select a different group of events to display. When you return to
  1079. the Scan dialog, only the events that match your selection will be shown. The
  1080. next section of this manual explains the Find Dialog.
  1081.  
  1082.  
  1083. 2.7.5. Scan Options
  1084.  
  1085. You have several options available when any events are selected. Click the
  1086. title bar of the Scan dialog, and the Scan Options alert will appear. If you
  1087. wish, you may erase all the events that you've selected, or you can swap the
  1088. 'selected' status of all events (those that were hidden will be selected, those
  1089. that were selected will be hidden). This gives you an easier way to perform
  1090. housekeeping.
  1091.  
  1092.  
  1093.  
  1094. 2.8. Find Dialog
  1095.  
  1096. The Find routine uses the same event-flag method as the Scan dialog. When you
  1097. try to find events that satisfy your requirements, Cal checks each event whose
  1098. flag is ON to see if it matches. If not, the event's flag is turned OFF. If
  1099. there are NO events which satisfy your request, Cal will ding the system bell,
  1100. restore the event map to the way it was before you tried your search, and
  1101. return you to the Find dialog. Otherwise you'll return from the dialog, and the
  1102. event map will have the results of your search.
  1103.  
  1104. The Reset button at the bottom of this dialog acts exactly like the one in
  1105. the Scan dialog - it turns the flags ON for all your events ("resets the map").
  1106. If a search is unsuccessful, you may want to click this button to make sure Cal
  1107. looks through all your events.
  1108.  
  1109. In some cases, you may enter the Find dialog when ALL the event flags are
  1110. turned OFF. When you start a search Cal notices this and gives you the option
  1111. of searching through all your events; if you say it's ok, Cal will reset the
  1112. event map for you before the search starts.
  1113.  
  1114. The Find dialog gives you several ways to specify the events you want to
  1115. find. You can search for events that contain a certain string, or use 'filters'
  1116. to specify certain event types, status, or importance level.
  1117.  
  1118.  
  1119. 2.8.2. Search String
  1120.  
  1121. The top section of the Find dialog lets you specify a string to search for.
  1122. If you enter a string in this field, only events which contain the string will
  1123. be selected. You may use the radio buttons below the string to choose if the
  1124. search should be case-sensitive or not.
  1125.  
  1126. You can search for strings that include non-ASCII characters (those which
  1127. don't appear on the keyboard) if you wish. To enter a non-ASCII character in
  1128. your string, hold down the ALT key and type in up to three decimal digits on
  1129. the numeric keypad. The cursor will turn into a busy bee until you either
  1130. release the ALT key or enter three digits. When you do so, the appropriate
  1131. character will appear in the string.
  1132.  
  1133. Cal can find a string in any part of an event's message text; the string can
  1134. appear on any of the three lines. In fact, Cal can even find the string if it
  1135. is split between two lines! The end of a line of text is counted as a space
  1136. character when searching, so just include a space where the end of a line might
  1137. occur. For example, if your event has "This is a sample of an event" as the
  1138. first line and "split between two lines" as the second, you could find the
  1139. event by using "event split" as your search string.
  1140.  
  1141. If you do not enter a string in this field, Cal will find any event matching
  1142. the filters you enter below.
  1143.  
  1144.  
  1145. 2.8.3. Type and Importance Filters
  1146.  
  1147. The lower section of the Find Dialog lets you set up 'filters' to give you
  1148. more control over the events you find. The first part of this section lets you
  1149. find events of a certain type. If you select the button next to one of the four
  1150. event types, only events of that type will be included in the search.
  1151.  
  1152. If you decide to search for one-time data events, you have the option of
  1153. restricting the search to certain years. You should see two entry fields where
  1154. you may type in a start and/or end year for the search. If you enter a start
  1155. year, only one-time events that occur in that year or after will be found; an
  1156. end year restricts the search to events through the end of that year.
  1157.  
  1158. The bottom part of the dialog lets you specify importance levels you're
  1159. interested in. There are eleven buttons across the dialog, marked 0-9 and one
  1160. button that is blank. If you select any of these buttons, only events whose
  1161. importance matches a selected button will be found. The empty button will
  1162. deselect all the importance buttons, so that events of any importance will be
  1163. allowed.
  1164.  
  1165. Once you've set up the dialog to find a group of events, click the Select
  1166. button or press Enter. Cal will find all the events that match your parameters
  1167. and return you to the previous dialog. If no events match, Cal will ding the
  1168. system bell and you'll return to the Find dialog.
  1169.  
  1170.  
  1171.  
  1172. 2.9. Edit Dialog
  1173.  
  1174. The Edit Dialog allows you to add, change, or erase events stored in Cal's
  1175. database. You can reach this dialog two ways: either click on a message slot in
  1176. the Alert Dialog, or click on a message slot in the Scan dialog. If you enter
  1177. the Edit dialog by clicking on a message, the edit screen will display all the
  1178. information on that event; if you click on a blank slot instead, Cal will show
  1179. you the first event on that day. If no events are scheduled on a day, the Edit
  1180. dialog will show you an empty 'template' ready for you to add a new event.
  1181.  
  1182. This is the most complicated dialog in the Cal system, so it deserves careful
  1183. study. We'll start with a discussion of a few basic concepts.
  1184.  
  1185.  
  1186. 2.9.1. Edit Mode
  1187.  
  1188. Cal supports four different types of events. Each type is scheduled in a
  1189. different manner, so Cal needs to provide a way to enter the data for any event
  1190. type. Cal does so by providing three different 'edit modes' - Date mode (for
  1191. recurring and one-time date events), Position mode, and Cyclic mode. Most
  1192. fields on the Edit screen are the same for each mode, but the section regarding
  1193. when an event occurs is different for each.
  1194.  
  1195. The screen for editing Date events contains a number of month buttons, plus
  1196. fields where you can enter a date and year to specify when the event occurs.
  1197. The Position mode screen contains the same month buttons, but instead of fields
  1198. for a date and year, you will see radio buttons where you can select a week and
  1199. weekday for an event. The screen for Cyclic events has fields for you to type
  1200. in the date of the event's first and last occurrence, and the number of days
  1201. between each occurence of the event.
  1202.  
  1203.  
  1204. 2.9.2. Fields on the Edit Screen
  1205.  
  1206. First, take a moment to look at the dialog. Most of the dialog is taken up by
  1207. a large box. The top section of this box shows you the message text for each
  1208. event. Up to three lines of text are allowed here. The first line has a box
  1209. around it to remind you that only the first line of text is displayed in the
  1210. Scan dialog.
  1211.  
  1212. Three radio buttons directly under the text read 'Holiday', 'Ordinary', and
  1213. 'Skip holidays'. If an event with the Skip Holidays button selected falls on
  1214. the same day as one with the Holiday button selected, the Skip-holiday event
  1215. will NOT show up on the day's events. (You can override this action using the
  1216. No Skips button in the Prefs dialog.)
  1217.  
  1218. The center of the edit screen shows you all the information needed for
  1219. scheduling the event. This portion of the screen will be different for each
  1220. different mode; in Date mode you'll see the date entry fields, in Position mode
  1221. you see the week and weekday buttons, and in Cyclic mode you see the start/end
  1222. dates and the period.
  1223.  
  1224. The lower part of the large box contains information common to all event
  1225. types: fields for the importance level, the number of days advance notice for
  1226. the event, and for HotWire alarm events, the time of day and slot number for
  1227. the alarm.
  1228.  
  1229. Directly under the large box are two groups of small buttons. The first
  1230. group lets you switch directly to any edit mode; click one of these buttons
  1231. (or press Control + the D, P, or C key) to toggle to date mode, position mode,
  1232. or cyclic mode. The second group of buttons lets you jump to the previous or
  1233. next event on a particular day; click a button, or press Alt-P or Alt-N.
  1234.  
  1235. Across the bottom of the Edit dialog you'll see a number of action buttons.
  1236. These buttons allow you to find an event with the Find dialog, erase an event,
  1237. replace an existing event, or add a new event. The last button lets you exit
  1238. the Edit dialog.
  1239.  
  1240.  
  1241. 2.9.3. Looking at Events
  1242.  
  1243. Now let's see how to look at an event. If you clicked on the text of an event
  1244. message to get here, then the Edit dialog will show you all the information on
  1245. that event. If you clicked on a blank message slot, then all the fields here
  1246. will be blank or in their default states.
  1247.  
  1248. For the moment let's assume there's an event showing. The message field at
  1249. the top tells you which event you're looking at. You can see the event's
  1250. importance, days advance notice, and alarm information at the bottom of the
  1251. screen. These fields should be pretty easy to understand.
  1252.  
  1253. The center part tells you exactly when the event is scheduled: if the event
  1254. occurs in a particular month, then that month button will be selected. If an
  1255. event occurs in more than one month, all the appropriate month buttons are
  1256. selected. If this is a cyclic event, the start/end dates are shown.
  1257.  
  1258. When you look at a date event, the date on which the event falls is listed on
  1259. the right. If this happens to be a one-time event, the year in which the event
  1260. occurs is shown on the left.
  1261.  
  1262. IMPORTANT NOTE: THIS IS THE ONLY DIFFERENCE BETWEEN A NORMAL DATE EVENT AND A
  1263. ONE-TIME DATE EVENT. If there's a year in the box, it's a one-time event;
  1264. otherwise it's a normal recurring date event. One-time events expire; recurring
  1265. events don't.
  1266.  
  1267.  
  1268. Now that that's straight, let's see how to look at a _different_ event.
  1269.  
  1270.  
  1271. If more than one event is scheduled on the day (or position in the month)
  1272. you're looking at, simply click the Next Event button (or press Alt-N). Every
  1273. time you click this button, Cal shows you the next event on this schedule.
  1274. Click the button as often as you wish to cycle through all the events on that
  1275. day, or click on the Prev button to back up through the events. After the last
  1276. event on this schedule is displayed, you'll see an empty template; click the
  1277. Next button again to start back at the first event.
  1278.  
  1279. If only a single event, or no events at all, are scheduled on that day, then
  1280. you need to change days. To do so, just change any of the month or position
  1281. buttons, or type in a different date, then click the Next Event button.
  1282. Whenever you click this button, Cal looks to see what schedule you've selected,
  1283. then goes through his database looking for events on that schedule. If any are
  1284. found, Cal will display them one at a time.
  1285.  
  1286. IMPORTANT NOTE: If you wish, you can select more than one month button for
  1287. your search. When you do this, you'll be able to scan through all the events
  1288. matching your schedule that occur in any of the months you select. For each
  1289. event, Cal will use the month buttons to show you when the event is scheduled,
  1290. but will still remember which month buttons YOU selected. If _YOU_ change the
  1291. month buttons, then Cal will use your choices for looking at events. If _CAL_
  1292. changes the month buttons to show when an event occurs, that WON'T change the
  1293. months you selected. Cal will continue to use your month selections until you
  1294. change the edit mode, or select different month buttons on the dialog. (Note:
  1295. Cal won't store your selections until you actually change the month buttons
  1296. yourself.)
  1297.  
  1298.  
  1299. Let's say you're looking at date events, but you want to switch over and look
  1300. at a positional event. To do so, just click the small '^Pos.' button near the
  1301. bottom left. Cal will shift into Position Mode and will display the next
  1302. selected positional event in the index (if one exists). Then select the buttons
  1303. for whatever schedule you want, and click the Next Event button - this makes
  1304. Cal look for selected events on the schedule you requested.
  1305.  
  1306. NOTE: The Next and Prev buttons will cycle through all selected events in
  1307. the database, no matter what their type may be. However, whenever a Cyclic
  1308. event is displayed, the dialog is 'locked' in Cyclic mode. Simply click on the
  1309. ^Date or ^Pos buttons to switch to a different edit mode.
  1310.  
  1311. The Next and Prev buttons are useful for scanning through the details of all
  1312. _selected_ events. If you're looking for a particular event, it may be easier
  1313. to use the Find dialog to help; just click the Find button at the bottom of the
  1314. screen. Use the dialog, and when you exit, the next event you found will be
  1315. displayed.
  1316.  
  1317. NOTE: 'Next event' means the first marked event whose position in the index
  1318. follows the event that was on the screen when you called Find. On occasion
  1319. there WON'T BE ANY MARKED EVENTS that are indexed AFTER the previous event.
  1320. When this happens, you'll see an empty template on the screen. To view your
  1321. events, just click the Next Event button - Cal will 'wrap around' at the end of
  1322. the index, and you'll see the first marked event.
  1323.  
  1324.  
  1325. 2.9.4. The When and Help Dialogs
  1326.  
  1327. Any time the Edit dialog is showing a valid cyclic event, the small "Show
  1328. When" button in the middle of the screen will be enabled. If you click this
  1329. button, you will see the When Dialog for that event. This dialog lists the date
  1330. of every occurrence of the event. Use the 'Past' and 'Future' buttons to scroll
  1331. forward and back through the list. If you wish, you can click on one of the
  1332. dates- when you do so, you return to the main calendar screen, showing the
  1333. calendar for the date.
  1334.  
  1335. The 'HELP' button next to the expiration-date field can help you calculate
  1336. an end date for a new cyclic event. If you want the event to expire after a
  1337. certain number of days, click this button (or press HELP) and small dialog
  1338. will appear. Type in the number of days after which you want the event to
  1339. expire, and Cal will calculate the proper end date for you.
  1340.  
  1341. 2.9.5. Changing Existing Events
  1342.  
  1343. Now that you've seen how to _look_ at an event, you can learn how to _change_
  1344. an event. You'll be pleased to know that it's simple... just find the event,
  1345. then change its message, schedule, importance, days notice, or whatever. When
  1346. you've finished the changes, click the Replace button at the bottom of the
  1347. screen. When you do this, Cal erases the old event you were looking at, then
  1348. adds whatever you typed in as a new event. Any settings you didn't change are
  1349. left as they were.
  1350.  
  1351. Cal has several features to make editing events simpler. When you're editing
  1352. a text field, you can use the shifted left and right arrow keys to move to the
  1353. beginning or end of the field you're editing. The Clr/home key will move the
  1354. cursor right to the first line of the message; shifted, to the HotWire alarm
  1355. slot. (The up and down arrow keys also 'wrap around' these two fields.) You can
  1356. even enter non-ASCII characters in a field by holding down the Alt key and
  1357. typing in three decimal digits on the numeric keypad. Pressing the Return or
  1358. Enter key in the Edit dialog will move the text cursor to the next editable
  1359. field.
  1360.  
  1361.  
  1362. 2.9.6. Adding New Events
  1363.  
  1364. Adding a new event is as simple as changing an existing one- in fact, the
  1365. process is exactly the same. The only difference is that to add a completely
  1366. new event, you should click Add instead of Replace.
  1367.  
  1368. When an empty 'template' appears on the screen, just enter the information
  1369. you need to define a new event. Or go ahead and type over an event that's
  1370. already displayed on the screen- when you click Add, the old event isn't
  1371. changed at all; a brand new event is added to the database. However, if the
  1372. event you type in exactly matches an event already in the database, you'll be
  1373. told that the event exists and the duplicate will not be added.
  1374.  
  1375. NOTE: Starting in Cal 6.3, you can perform a 'date calculation' in an event's
  1376. message. In the message text, include a control-A (looks like an up-arrow)
  1377. followed by a year of exactly four decimal digits. The message displayed for
  1378. the event will replace these five characters with the number of years between
  1379. the year you entered and the current year. (You'd use this for birthdays, for
  1380. example... for someone born in 1980, make the text read something like "Joe's
  1381. birthday (^1980 years old)" and the display will show "Joe's birthday (12 years
  1382. old)".
  1383.  
  1384. ALSO: When adding a Cyclic event, you're asked to enter dates using numbers
  1385. for the year, month, and day. By default, Cal is set up to use USA style dates
  1386. - this means you need to enter the month, then the day, then the year. However,
  1387. if you have selected the 'Euro Dates' option in Preferences, Cal will expect
  1388. you to enter the day first, then the month and year. Remember to enter the
  1389. month and day in the correct order!
  1390.  
  1391. ANOTHER NOTE: There's one editing shortcut that may come in handy. If you are
  1392. editing a date event, you can type a year into the Year field to create a
  1393. one-time date event.  Since you'll usually want to insert the current year, you
  1394. can simply click the word "Year:" on the Date edit screen (or press Alt-Y);
  1395. doing so will insert the current year in this field, and move the cursor to the
  1396. field as well. (You may also ask Cal to fill in the current year for you
  1397. automatically; select the 'One-time' button in the Prefs dialog to do so.)
  1398.  
  1399.  
  1400. 2.9.7. Erasing Events
  1401.  
  1402. An event can be erased by clicking the button marked Erase on the bottom of
  1403. the screen. Simple enough, eh?
  1404.  
  1405. WARNING: BEFORE you click the Erase button, be SURE you're pointing to the
  1406. right event! Cal remembers the last event displayed on the screen. If you
  1407. change the month buttons or other scheduling fields, be sure to click the Next
  1408. Event button _before_ you click Erase - this will guarantee that Cal is
  1409. pointing to the right event. If you're not careful, you'll erase something you
  1410. don't want to lose!
  1411.  
  1412. If you've enabled Erase Warnings in the Prefs dialog (highly recommended!),
  1413. an alert will appear asking if you're sure. This alert will display most of
  1414. the text for the event, so you can verify Cal is pointing to the proper one.
  1415.  
  1416.  
  1417. ====================================================
  1418.  
  1419.  
  1420. 3. Calshow
  1421.  
  1422. Calshow was designed primarily as an AUTO program to remind you of upcoming
  1423. events whenever you boot your Atari. You can also run Calshow as a normal GEM
  1424. program or desk accessory to see a list of upcoming events at any time, or to
  1425. write several types of reports to a printer or disk file. Calshow will also
  1426. accept parameters from the command line in case you wish to run it from a
  1427. CLI.
  1428.  
  1429. Basically, Calshow finds your copy of Cal, reads its event database, and
  1430. displays on screen any events that will occur within a short period of time.
  1431. The display can include the number of days until the event, the date on which
  1432. the event falls, the alarm time, and the message you entered for the event.
  1433.  
  1434.  
  1435.  
  1436. 3.1. Running from the AUTO Folder
  1437.  
  1438. The easiest way to run Calshow is directly from your AUTO folder. When you do
  1439. so, it provides you with a list of upcoming events whenever you boot your
  1440. Atari.
  1441.  
  1442. When you run Calshow, the first thing it does is look for your copy of Cal.
  1443. There's a way to tell Calshow exactly where you keep Cal- that's explained in
  1444. the section below on running as a program. But even if you haven't told Calshow
  1445. where to find Cal, chances are Calshow can find it!
  1446.  
  1447. Calshow first looks for Cal wherever you told it to look. If it can't find
  1448. the file, or the file isn't Cal, Calshow looks at all the other files in that
  1449. folder whose names match the pattern "CAL*.AC?". If none of those are Cal,
  1450. Calshow checks all "CAL*.PR?" files.
  1451.  
  1452. If none of the files checked turn out to be Cal, Calshow takes more drastic
  1453. measures. It checks _seven more folders_ looking for any file with the name you
  1454. specified, or whose name matches one of the patterns above. First, Calshow
  1455. looks in the folder from which it was run. Then it looks in the root directory
  1456. of the same disk. If that doesn't work, Calshow keeps on looking in these
  1457. folders: \ACCS\, \MULTDESK.MDX\, \MULT_MDX\, \DESK\, \DESKACCS\, and \ACC\. If
  1458. Calshow still can't find Cal, it gives up (and shame on you for hiding it! :-).
  1459.  
  1460. NOTE: If one of the files Calshow examines _is_ Cal but doesn't have any
  1461. events in its database, Calshow ignores it and continues looking.
  1462.  
  1463.  
  1464. After Calshow finds Cal, it reads in the event database and displays a list
  1465. of upcoming events. Calshow displays an entry for every event whose advance
  1466. notice period is close enough to today's date. (Normally Calshow will display
  1467. up to one screen's worth of upcoming events, but you can change this setting;
  1468. see the section below on running Calshow as a program.) The entry includes the
  1469. number of days before the event, the date on which the event falls, and the
  1470. message you defined for the event.
  1471.  
  1472. NOTE: Calshow determines the screen size by asking the operating system for
  1473. the current resolution. Unfortunately, the value returned doesn't always
  1474. reflect the correct screen size. If you have a large-screen monitor such as a
  1475. Moniterm, you may want to adjust the Prefs setting for the maximum number of
  1476. events to display.
  1477.  
  1478. As distributed, Calshow will display any event, no matter what its importance
  1479. level. This setting can be changed as well; again, see below for more
  1480. information.
  1481.  
  1482.  
  1483. Once Calshow has displayed the list of upcoming events, it pauses for a
  1484. moment so you can read the list. The normal wait period is 15 seconds (but this
  1485. setting too can be changed to suit you). After this amount of time has passed,
  1486. Calshow finishes running and your bootup process continues. You can press any
  1487. key to make Calshow quit before time has expired, or press the HELP key to make
  1488. Calshow wait for a keypress before continuing.
  1489.  
  1490. NOTE: If Calshow can't find a valid copy of Cal, or there are no events
  1491. happening soon enough to display, Calshow will display a message on the screen
  1492. and pause for _one second only_. This means your bootup won't be delayed
  1493. unless there's a good reason.
  1494.  
  1495. Versions 6.1 and later have a feature that lets you tell Calshow to display
  1496. events only on the first boot of each day (see Preferences below). If you
  1497. reboot your ST and wish to see the display anyway, hold down the Alternate key
  1498. as Calshow loads. If you want to skip Calshow's display for some reason, hold
  1499. down the Control key instead.
  1500.  
  1501. NOTE: If your ST doesn't have a built-in clock, then you probably have an
  1502. AUTO program to set the time from a separate clock chip, your hard disk, or
  1503. some other method. Be sure this program runs BEFORE Calshow when you boot, or
  1504. the events you see won't be the ones you want to see!
  1505.  
  1506. IMPORTANT NOTE: Calshow uses your GEMDOS clock to determine the current
  1507. date. If you have an external clock chip but you can't get Calshow to display
  1508. the correct date when you run it from the AUTO folder, it's possible that your
  1509. clock program is only setting the keyboard clock. You can correct this by
  1510. running a program such as CLOCKSET.PRG (freeware from Little Green Footballs
  1511. and Charles F. Johnson) before Calshow runs. This program reads the keyboard
  1512. clock and sets the GEMDOS clock, so the date will be correct.
  1513.  
  1514.  
  1515.  
  1516. 3.2. Running as a PRG or ACC
  1517.  
  1518. Calshow provides you with MUCH more control over its output when you run it
  1519. as a program or desk accessory. In addition, you can configure a number of
  1520. settings, such as those mentioned above, to tailor Calshow's behaviour. These
  1521. settings, prepared from the Preferences dialog, are saved in the Calshow file
  1522. so they will be active the next time you run Calshow at boot time. Calshow's
  1523. main dialog allows you to override many of these settings temporarily.
  1524.  
  1525.  
  1526. 3.2.1. Calshow Preference Overrides
  1527.  
  1528. The top section of the main Calshow dialog allows you to set up your options.
  1529. First you see a box labelled "Show __ Events": this box lets you set the
  1530. MAXIMUM number of events Calshow will display. You can type in a specific
  1531. number of lines, or leave the value as zero. If you say zero, Calshow will try
  1532. to determine the size of your Atari's screen and display only the number of
  1533. events that will fit.
  1534.  
  1535. IMPORTANT NOTE: Calshow may not display this number of events every time...
  1536. it depends on the days notice you defined for each event! Remember, this is the
  1537. MAXIMUM!
  1538.  
  1539. Next is a field that says "Pause ___ Seconds". This field controls the length
  1540. of the pause after Calshow has displayed its event list. Type in any number
  1541. from zero to 999 seconds here.
  1542.  
  1543. IMPORTANT NOTE: IF YOU SET THIS FIELD TO ZERO, CALSHOW WILL WAIT FOREVER FOR
  1544. YOU TO PRESS A KEY! Keep this in mind when you're deciding on a value to enter
  1545. here.
  1546.  
  1547. Beneath these two fields is a buttons marked 'Show Skipped'. If you select
  1548. this button, any events you've said should be skipped on a holiday will instead
  1549. be displayed, even on a holiday. (The days-until, date, and alarm time on the
  1550. display will be grayed out to indicate that the event would normally be skipped
  1551. over.)
  1552.  
  1553. On the right side of the dialog is a button marked "Locate Cal". Use this
  1554. button to tell Calshow exactly where your copy of Cal is located. Click on the
  1555. button, then use the GEM item selector to find your Cal program file.
  1556.  
  1557. IMPORTANT NOTE: Cal doesn't actually have to be in the folder you locate!
  1558. Calshow will store the path and filename you select, even if the file isn't Cal
  1559. or doesn't even exist. This means you can configure Calshow first, then move a
  1560. copy of Cal into the right place later. You'll see an alert that warns you of
  1561. any error, but the information will be stored in memory anyway.
  1562.  
  1563. The next button in this part of the dialog is marked "Preferences". Click this
  1564. button to move to the Preferences dialog, where you can configure Calshow's
  1565. settings as desired.
  1566.  
  1567. Beneath these two buttons is a group of ten buttons marked 0-9. These buttons
  1568. tell Calshow which importance levels to show. If the button corresponding to an
  1569. event's importance level is NOT selected, that event WON'T be shown in
  1570. Calshow's display. Once you've selected the levels you wish to view, you may
  1571. click the small "Importance Filters" title to toggle your selections on and
  1572. off. You may also double-click the title to select all levels at once.
  1573.  
  1574.  
  1575. Underneath these setup items is a box where you can enter a specific start
  1576. or end date for Calshow's display.
  1577.  
  1578. When you enter a starting date, Calshow pretends that 'today' is the date you
  1579. entered. You don't need to enter a complete date here; if you just want to see
  1580. a list of events for the first part of May, simply enter the number "5" in the
  1581. month field. When you enter a year, any two-digit number is assumed to be in
  1582. the 1900s and any one-digit number is treated as if it's in the 2000s. Thus, a
  1583. year of "93" would be 1993 and a year of "1" would mean 2001.
  1584.  
  1585. You can enter a new ending date in the same fashion. Of course, Calshow will
  1586. warn you if you try ending the display before it starts.
  1587.  
  1588. IMPORTANT NOTE: If you enter an ending date, CALSHOW WILL IGNORE THE DAYS
  1589. ADVANCE NOTICE SPECIFIED FOR EACH EVENT. When you tell Calshow the end date you
  1590. want, it assumes you want a complete list of events up to that date regardless
  1591. of the advance notice. Calshow will keep showing events until this end date is
  1592. reached OR the maximum number of events has been shown. (Remember, you set up
  1593. the maximum in the "at most" field above.)
  1594.  
  1595.  
  1596. The next section of the Calshow dialog is labelled 'Alternate Reporting
  1597. Options'. The three buttons in this section allow you to create three different
  1598. reports to a disk file or printer.
  1599.  
  1600. The first type, Events, produces a report on events that will occur in the
  1601. near future. This report looks exactly like the display you'd see when running
  1602. Calshow from the AUTO folder. Each entry contains the number of days before the
  1603. event, the date and time of the event, and the message.
  1604.  
  1605. The second type, Datebook, will produce a datebook-like list with one entry
  1606. for every day in the time period you specify. The starting month and year are
  1607. listed on one line. Under this, another line lists the date and day of the
  1608. week. Then, if there are any events scheduled for that day, the event messages
  1609. are listed on a separate line, preceded by the event's alarm time. This type of
  1610. list is most useful when you specify a time period of a week or month; you may
  1611. want to use the Datebook output as a to-do list.
  1612.  
  1613. The last option allows you to produce a Master List of all the events you've
  1614. stored in Cal's database. If you choose this type of output, any starting or
  1615. ending date you've entered is ignored; every event in Cal is listed, one event
  1616. per line (with extra lines if the event uses more than one line for its
  1617. message). Each entry contains the event number, letters to indicate the months
  1618. in which the event occurs, the date or position on which the event falls, the
  1619. alarm time and number of days advance notice you've set, the event's
  1620. importance, and the event message. For a cyclic event, the entry shows the
  1621. number of days between occurrences and the date of the first occurrence. You
  1622. have the option of listing all events or only those matching the importance
  1623. levels you've selected.
  1624.  
  1625. If you select one of these reports, you're asked if you want the report to go
  1626. to a file or a printer. If you choose to print the report, Calshow will check
  1627. the parallel port for a printer. If your printer isn't ready, an alert will
  1628. tell you so and will give you the option of cancelling the report, checking the
  1629. printer again (presumably after you've turned it on :-), or trying to print
  1630. anyway. If you have an Atari laser printer using the LaserBrain driver, you'll
  1631. need to choose the 'print anyway' option. (LaserBrain seems to intercept the
  1632. printed output properly, but it ignores the printer status check so Calshow
  1633. can't tell if the printer is ready. Bummer. :-)
  1634.  
  1635. After Calshow has written the report, you'll return to the main dialog.
  1636.  
  1637. NOTE: For the alerts that choose file or printed reports, formfeed yes or no,
  1638. and recheck printer or print anyway, you may hold down the Alt key when you
  1639. click your answer. When you do so, Calshow registers the button you click as
  1640. the new default button, so in the future you'll be able to select it by just
  1641. hitting the Return key. (Make sure you save your Calshow preferences after
  1642. choosing a new default button!)
  1643.  
  1644.  
  1645.  
  1646. Four buttons appear at the bottom of Calshow's dialog. The one on the left is
  1647. marked "Go!". When you click this button or hit Return, Calshow will close its
  1648. dialog, open a large GEM window, and show you the Coming Events display.
  1649. When the display has completed, you return to the main dialog.
  1650.  
  1651. The next two buttons, "nn-Days" and "Today", let you instantly select a
  1652. coming events listing for the day or the next few days. Unlike the standard
  1653. Calshow display, the advance notice for your events is ignored so you get a
  1654. full picture of upcoming events. The importance filters you've selected are
  1655. still taken into account, though, as is the start date (if you've entered
  1656. one). 
  1657.  
  1658.  
  1659. The GEM Coming Events window has several parts. The information line under
  1660. the title bar tells you the starting date for Calshow's list of events. The
  1661. rest of the window displays upcoming events according to the options you
  1662. specified above. First the number of days before the event, the day of the
  1663. week, the date, and the alarm time for the event appear in normal type (or
  1664. boldface if the event is a holiday). The message text for the event appears on
  1665. the rest of the line.
  1666.  
  1667. The message will be displayed in one of several different styles, depending
  1668. on the event's importance level. Calshow allows you to select the specific
  1669. 'attributes' - boldface, italics, underlined, or outlined - that will be used
  1670. for each level. Any combination of attributes can be used; see the Preferences
  1671. section below for more information.
  1672.  
  1673.  
  1674. At the bottom of the screen, you'll see one of two messages. If the entire
  1675. list of events fits on a single screen, Calshow will display the message "press
  1676. any key to continue". You can press a key or click the mouse to return to the
  1677. main dialog, or simply wait for the pause time you entered above to expire.
  1678.  
  1679. If there are more events to display than will fit on a single screen, Calshow
  1680. displays the message "press a key to go on or UNDO to quit". If you press the
  1681. UNDO key, Calshow will exit to the desktop. If you press any other key, or wait
  1682. for the pause time to run out, Calshow will clear the screen and display a
  1683. second group of events. This process continues until all events waiting to be
  1684. shown have been displayed.
  1685.  
  1686. If you need more time to view a display, press the HELP key or double-click
  1687. the mouse button. When you do so, Calshow will wait for you to click the mouse
  1688. again or press any key before continuing.
  1689.  
  1690.  
  1691. Once Calshow has completed a display, you return to the Calshow dialog. You
  1692. can choose to see another Calshow display, or you can exit the program by
  1693. clicking the eXit button or pressing UNDO.
  1694.  
  1695.  
  1696. 3.2.2. Calshow Preferences
  1697.  
  1698. The Preferences Dialog lets you customize Calshow's default settings and save
  1699. your configuration in the Calshow file.
  1700.  
  1701. The upper left part of the dialog has fields for you to specify the default
  1702. maximum number of events to display, the time to wait after displaying each
  1703. screen, and the number of days to use in the 'nn-Days' quickview button.
  1704.  
  1705. The upper right section contains three selectable buttons. If the Once Per
  1706. Day button is selected, then Calshow will only display upcoming events on the
  1707. first bootup of each day; if you reboot later in the day, you must hold down
  1708. the Alternate key when Calshow loads if you wish to view the display.
  1709.  
  1710. NOTE: Calshow uses the date stamp on the Calshow program file to determine
  1711. if each bootup is the first for the day. You must not write-protect Calshow if
  1712. you want to take advantage of this feature.
  1713.  
  1714. The Euro Dates button tells Calshow to expect European-style dates (day,
  1715. month, year) instead of USA-style dates (month, day, year) for the start and
  1716. end dates entered below.
  1717.  
  1718. The button marked Show Skipped will make Calshow display skip-on-holiday
  1719. events even if the date is a holiday.
  1720.  
  1721.  
  1722. The center portion of the dialog allows you to specify which importance
  1723. levels Calshow will display, and set text attributes for each level. The
  1724. importance filters here work just like the ones on the main dialog; select a
  1725. button to display events of that importance, or deselect it to ignore those
  1726. events.
  1727.  
  1728. Underneath each importance level button is a column of five letters. B, G, I,
  1729. U, and O stand for Bold, Grayed, Italics, Underlined, and Outlined. Select the
  1730. buttons corresponding to the text attributes you wish; when an event of this
  1731. level is displayed, the message text will be shown in the attributes you've
  1732. chosen.
  1733.  
  1734.  
  1735. The bottom of the Prefs dialog contains five action buttons.
  1736.  
  1737. When Calshow first loads, it saves a copy of its configuration into a special
  1738. 'holding area'. You may click the "Revert to saved" button to restore these
  1739. settings at any time.
  1740.  
  1741. The "Save Prefs" button lets you store a new configuration into the Calshow
  1742. program file. When you save your prefs, Calshow also saves the configuration
  1743. in its holding area, and copies the configuration into the active settings.
  1744.  
  1745. The "Locate Cal" button is used to tell Calshow where your copy of Cal
  1746. resides. Click the button, then use the GEM item selector to locate the Cal
  1747. file.
  1748.  
  1749. The "Accept" button copies the configuration you've chosen into the active
  1750. settings. Accepting your changes does NOT cause them to be written them into
  1751. the Calshow file, nor will the configuration be copied into the holding area.
  1752. You can Accept the changes to try a new configuration temporarily; if you don't
  1753. like it, you can return to the Prefs dialog and use the "Revert" button to
  1754. restore your old settings from the holding area.
  1755.  
  1756. The Cancel button returns you to the main Calshow dialog without affecting the
  1757. configuration.
  1758.  
  1759.  
  1760. 3.2.3. The Command Line
  1761.  
  1762. Calshow 6.3 will now accept commands passed on the command line. You can use
  1763. this feature to prepare any of the alternate reports or view the GEM coming
  1764. events display without using the main dialog. The preferences saved in the
  1765. Calshow file will be used unless overridden by switches on the command line.
  1766.  
  1767. All commands passed MUST begin with the dash character ('-'). All characters
  1768. passed are uppercased and blanks are removed when parsing the command line.
  1769. Extra characters following a command or argument, or non-numeric chars when
  1770. digits are expected, will be ignored. Use '-I' with no arguments to select all
  1771. importance levels. If the '-O' switch is used with no arguments, the output
  1772. will be written to a file named EVENTS.TXT in the current directory. File
  1773. output will always overwrite an existing file with no warnings.
  1774.  
  1775. Unless the -G (GEM mode) command is included, Calshow will exit after the
  1776. output is written or displayed.
  1777.  
  1778. If any command errors are detected, an informative message and the actual
  1779. command line used (upper case, no blanks) are displayed, followed by a help
  1780. display. Enter a question mark as the first non-blank character to view the
  1781. Help display (or include the -? switch anywhere on the command line).
  1782.  
  1783. This chart lists the valid command parameters:
  1784.  
  1785.    1. One of these switches is required:
  1786.  
  1787.         -?           show this help (or '?' as first character)
  1788.         -V           coming events list
  1789.         -B           datebook output (-O or -P required)
  1790.         -M           master list (-O or -P required)
  1791.  
  1792.    2. These optional switches may be entered as desired:
  1793.  
  1794.         -Ofilespec   output filespec (not with -P)
  1795.         -P           output to printer (not with -O)
  1796.         -F           formfeed after (ignored except with -P)
  1797.         -Smmddyyyy   start date
  1798.         -Emmddyyyy   end date (ignored with -D)
  1799.         -Dnn         show next nn days (-V only; ignores -E)
  1800.         -Cfilespec   Cal location
  1801.         -Innnnnnnnnn show only these importance levels
  1802.         -#nnn        show nnn events max (ignored with -E)
  1803.         -Wnnn        wait nnn seconds after display
  1804.         -K           toggle show-skipped-events setting
  1805.         -U           toggle European dates setting (ddmmyyyy)
  1806.         -G           GEM mode (-V only; returns to dialog)
  1807.  
  1808. Some example command lines:
  1809.  
  1810. Show the normal Coming Events listing, just as if you pressed the 'Go'
  1811. button in the Calshow dialog.
  1812.  
  1813.       -v-g
  1814.  
  1815. Show the coming-events listing for the next two weeks, in GEM mode. Return
  1816. to the Calshow dialog afterward. Pause for 30 seconds on each screen.
  1817.  
  1818.       -v-g-d14-w30
  1819.  
  1820. Save datebook-style output in a file named P:\DATEBOOK.PRT. The output
  1821. should start on September 1, 1992, and should show 31 days. Cal is located
  1822. in a subfolder named CAL on the D: drive.
  1823.  
  1824.       -b-op:\datebook.prt-s09011992-d31-cd:\cal\cal63.acc
  1825.  
  1826.  
  1827. ====================================================
  1828.  
  1829.  
  1830. 4. Final Notes
  1831.  
  1832.  
  1833. Cal and Calshow were written completely in assembly language using the HiSoft
  1834. DevpacST assembler. The resources were created with WERCS and converted to
  1835. assembly code using a program written by Carl Barron. Thanks to Robert
  1836. Birmingham for convincing me to add events to my simple calendar program, and
  1837. to Myles Cohen, Colin Robertson, and many others for some great suggestions!
  1838. Many thanks also to the CodeHeads for telling me how to hook into HotWire and
  1839. to the Double Click folks for help getting these programs working with
  1840. DC-Squish. Special thanks are due Charles F. Johnson for hints on letting a
  1841. program figure out if it's an ACC or AUTO program.
  1842.  
  1843. And, of course, many thanks and best wishes to the folks who've sent cards
  1844. and letters (and donations) -- people like you keep shareware authors writing!
  1845.  
  1846. The calendar routine I use in Cal was based on Zeller's Congruence, which
  1847. explains a simple way to calculate the day of the week for a given date without
  1848. resorting to a lookup table. Articles dealing with this subject appeared in
  1849. Computer Language Magazine, March and December 1988. (The articles were
  1850. helpful, although they included a couple of typographical errors. :-) Also note
  1851. that the modern Gregorian calendar wasn't invented until the 1580s, something
  1852. to keep in mind if you're poking around in the dim and distant past <grin>.
  1853.  
  1854. Please let me know if you use this program!!! Comments, suggestions,
  1855. requests, and bug reports are all welcome. Remember: if you find a bug but you
  1856. don't let me know about it, chances are I won't fix it. :-)
  1857.  
  1858.  
  1859.  
  1860. 4.1. Registration
  1861.  
  1862.  
  1863. This program is distributed as shareware - try Cal out for awhile, and if you
  1864. decide to keep it, send a donation to me at the address below. For every
  1865. donation of $25 or more, I'll send a disk containing the latest versions of all
  1866. my programs (Cal, the Whatis File Identifier, KXPset Printer Setup Utility).
  1867.  
  1868.  
  1869. You may also register Cal online, using CompuServe's Shareware Registration
  1870. database. To do so, enter the command   GO SWREG   at any ! prompt. When the
  1871. Shareware Registration menu appears, select choice #2 (Register Shareware).
  1872. Then, to find Cal in the database, select 'Search by filename' from the menu,
  1873. and use CAL.LZH as the filename. Follow the prompts to select Cal and register
  1874. the program, and the $25 registration fee will be charged to your CompuServe
  1875. account.
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.       Bill Aycock
  1882.       2310 North Elm Street
  1883.       Greensboro, NC 27408-5120
  1884.  
  1885.       Compuserve ID: 76703,4061
  1886.       Internet: 76703.4061@compuserve.com
  1887.       September 1, 1992
  1888.  
  1889. PS- The latest version of Cal is always available in Compuserve's Atari
  1890.     Productivity Forum (GO ATARIPRO at any ! prompt). Since I'm on the
  1891.     Forum's staff, I always upload there first. For fastest response to
  1892.     inquiries, post a message to me in ATARIPRO.
  1893.  
  1894. PPS- If you somehow lose my address, just press the Help key from Cal's main
  1895.      screen. :-)
  1896.  
  1897.  
  1898.  
  1899. 4.2. Version History
  1900.  
  1901.  
  1902. v6.3: Cal: multiple weekdays for an event, holiday/skip holidays, date
  1903.       calculation in event text, new mode/prev/next buttons in Edit, new
  1904.       prefs settings, more informative alerts
  1905.       Calshow: new prefs dialog, user selectable attributes for GEM display,
  1906.       nn-Days quickview, mouse support for paging display, command line
  1907.       support, holiday/skip holiday support
  1908. v6.2b talks to MultiDesk Deluxe to find when running as non-resident MDX
  1909. v6.2a corrects behaviour of background window when a resident ACC
  1910. v6.2: Cal: more displays of alarm time; more Scan options; When dialog to show
  1911.       cyclic event dates; more date calculations; ability to move dialog on
  1912.       screen; Calshow: alarm time displayed, events sorted by alarm time; new
  1913.       Week and Today buttons; return to menu instead of exit
  1914. v6.11 both: corrected keyboard shortcuts and mouse handling in ACC mode
  1915. v6.1: Cal: adds ability to communicate with other Cal ACCs; Calshow: allows
  1916.       European date format, once-per-day bootup display
  1917. v6.02 Cal: fixed 'invisible' level-0 events, edit logic change; Calshow: fixed
  1918.       max display lines, problem when cancelling a locate-Cal process
  1919. v6.01 allowed shifted command keys; in Cal: corrected Cancel key in Mass
  1920.       Erase, added default importance level, honors alarms-disable button,
  1921.       extended cyclic period to up to 255 days; fixed Calshow to save
  1922.       importance filter, allowed Master List to pay attention to importance
  1923.       filters
  1924. v6.0: complete rewrite: added cyclic events, file load/save, importance
  1925.       levels, keyboard shortcuts, many many more changes!
  1926. v5.3: fixed Cal & Calshow to work if system date is not valid
  1927. v5.2: added extended data area; fixed Calshow to recognize any 5.x version
  1928. v5.1: Cal: added alert when no room remains to add an event
  1929. v5.0: Cal: added compatibility with DC-Squish; three importance levels; one
  1930.       event can occur in multiple months; specify advance notice separately
  1931.       for each event; Hotwire alarm feature; bug fixes, optimizations, etc.
  1932.       Calshow: completely rewritten to run as a GEM program or ACC or from
  1933.       AUTO folder; DC-Squish compatible; new Datebook and Dump output
  1934.       options; importance filter for event displays; lots more stuff
  1935. v4.7: added support for significant/non-significant events
  1936. v4.5: added multiple positional events; when saving setup, file selector now
  1937.       defaults to path Cal loaded from; allow more events on single day; added
  1938.       code to help guard against unusual March start date problem
  1939. v4.4: added option to supress add/replace/erase event alerts; added case
  1940.       sensitive search; retains search string between searches
  1941. v4.3: fixed a logic bug occurring when exiting Cal in some circumstances;
  1942.       added keyboard exit from Browse screen
  1943. v4.2: added Replace button in Edit; added option to ignore expired events;
  1944.       added type filters to Find function; changed Browse logic
  1945. v4.1: added grow/shrink box support; added leap-year check for one-time
  1946.       events on Feb 29; skip saving duplicate events; sundry other tweaks
  1947. v4.0: added multiple events on the same date; added alphabetic sort; added
  1948.       one-time events and expired-event handling; various other tweaks
  1949. v3.5: fixed filepath setup for standard GEM file selector problem
  1950. v3.4: fixed logic error in Calshow; enabled 'last' week position button
  1951. v3.3: fixed obscure bug in Find function; redesigned Browse screen and Today
  1952.       button logic; added Prev and Next month buttons; added option to save
  1953.       changed setup when exiting
  1954. v3.2: fixed occasional bus errors after erasing events and then browsing;
  1955.       included Calshow for bootup reminders
  1956. v3.1: first released version supporting events
  1957. v2.0: final calendar-only version
  1958.  
  1959. ====================================================
  1960.  
  1961. 5. Keyboard Shortcuts
  1962.  
  1963. 5.1. Main Calendar
  1964.  
  1965.       UNDO                 Exit
  1966.       HELP, Space bar      credits, statistics
  1967.       numbers 1-0, -, =    month buttons
  1968.       keypad 1-9, (, ), /  month buttons
  1969.       Clr/Home             January
  1970.       shift Clr/Home       December
  1971.       R arrow              next month
  1972.       L arrow              previous month
  1973.       Up arrow             forward one year
  1974.       shift Up arrow       forward ten years
  1975.       Down arrow           back one year
  1976.       shift Down arrow     back ten years
  1977.       Y                    Year dialog
  1978.       F1, /, ?             extras dialog
  1979.       F2, T                Today
  1980.       F3, P                Preferences dialog
  1981.       F4, F                File dialog
  1982.       F5, S                Scan dialog
  1983.  
  1984.  
  1985. 5.2. Alert Dialog
  1986.  
  1987.       UNDO                 Exit
  1988.       numbers 1-8          select event 1-8
  1989.       keypad 1-8           select event 1-8
  1990.       F1, N, space bar     Next page
  1991.  
  1992.  
  1993. 5.3. Edit Dialog
  1994.  
  1995.       UNDO                 Exit
  1996.       HELP                 end date Help (cyclic events)
  1997.       Return               move cursor to next field
  1998.       ^C                   toggle to Cyclic mode
  1999.       ^D                   toggle to Date mode
  2000.       ^P                   toggle to Positional mode
  2001.       Alt-N                Next event
  2002.       Alt-P                Previous event
  2003.       Alt-H                Holiday event
  2004.       Alt-O                Ordinary event
  2005.       Alt-S                Skip-holidays event
  2006.       Alt-W                When dialog (cyclic events)
  2007.       Alt-Y                this Year (date events)
  2008.       F1, Alt-F            Find dialog
  2009.       F2, Alt-E            Erase event
  2010.       F3, Alt-R            Replace event
  2011.       F4, Alt-A            Add event
  2012.  
  2013.  
  2014. 5.4. Expired Event Dialog
  2015.  
  2016.       UNDO                 Exit
  2017.       F1, C                Convert event
  2018.       F2, E                Erase event
  2019.       F3, I, space bar     Ignore event
  2020.  
  2021.  
  2022. 5.5. Extras Dialog
  2023.  
  2024.       UNDO                 Exit
  2025.       F1, C                Calculate
  2026.       D, ^ R arrow         Day/month/year order
  2027.       M, ^ L arrow         Month/day/year order
  2028.  
  2029.  
  2030. 5.6. File Dialog
  2031.  
  2032.       UNDO                 Exit
  2033.       F1, Alt-L            Load from file
  2034.       F2, Alt-S            Save to file
  2035.       F3, ^ R              Rescan for acc
  2036.       F4, ^ L              Load from acc
  2037.       F5, ^ S              Save to acc
  2038.       F6, Alt-M            Merge from file
  2039.       F7, Alt-E            mass Erase dialog
  2040.       F8, Alt-A            set Alarms
  2041.       F9, Alt-X            check eXpired events
  2042.  
  2043.  
  2044. 5.7. Find Dialog
  2045.  
  2046.       UNDO                 Exit
  2047.       ^ L arrow            case sensitive
  2048.       ^ R arrow            not case sensitive
  2049.       Alt-A                Alarm events
  2050.       Alt-C                Cyclic events
  2051.       Alt-D                Date events
  2052.       Alt-E                Expired events
  2053.       Alt-H                Holiday events
  2054.       Alt-N                Normal (non-holiday) events
  2055.       Alt-O                One-time events
  2056.       Alt-P                Positional events
  2057.       Alt-S                Skip-holiday events
  2058.       ^ space bar          clear importance flags
  2059.       F1                   reset event flags
  2060.       F2                   select events
  2061.  
  2062.  
  2063. 5.8. Mass Erase Dialog
  2064.  
  2065.       UNDO                 Exit
  2066.       numbers 1-0, -, =    month buttons
  2067.       keypad 1-9, (, ), /  month buttons
  2068.       A                    erase All events
  2069.       F1, E                Erase events
  2070.  
  2071.  
  2072. 5.9. Preferences Dialog
  2073.  
  2074.       UNDO                 Exit
  2075.       F1                   accept changes
  2076.  
  2077.  
  2078. 5.10. Scan Dialog
  2079.  
  2080.       UNDO                 Exit
  2081.       HELP                 scan options alert
  2082.       numbers 1-0, -, =    first event in that month
  2083.       keypad 1-8           select event 1-8
  2084.       ^ 1-8                hide event 1-8
  2085.       Clr/Home             first event
  2086.       shift Clr/Home       last event
  2087.       L arrow              back one event
  2088.       R arrow              forward one event
  2089.       Up arrow             back one page
  2090.       Down arrow           forward one page
  2091.       F1, R                Reset event flags
  2092.       F2, F                Find dialog
  2093.       F3, P                Previous page
  2094.       F4, N                Next page
  2095.  
  2096.  
  2097. 5.11. When Dialog
  2098.  
  2099.       UNDO                          Exit
  2100.       P, L arrow, U arrow, F1       Past
  2101.       F, R arrow, D arrow, F2       Future
  2102.       1-0                           go to date 1-10
  2103.  
  2104.  
  2105. 5.12. Calshow Main Dialog
  2106.  
  2107.       UNDO, X            eXit
  2108.       HELP               wait for keypress
  2109.       B                  dateBook report
  2110.       D                  nn-Days quickview
  2111.       E                  coming Events report
  2112.       G                  Go!
  2113.       I                  toggle Importance filters
  2114.       L                  Locate Cal
  2115.       M                  Master list report
  2116.       P                  Preferences dialog
  2117.       S                  show Skipped events
  2118.       T                  Today quickview
  2119.       Alt-D              edit nn-Days number of days
  2120.  
  2121.  
  2122. 5.13. Calshow Preferences Dialog
  2123.  
  2124.       UNDO               cancel
  2125.       A                  Accept
  2126.       E                  European date format
  2127.       I                  toggle Importance filters
  2128.       L                  Locate Cal
  2129.       O                  Once-per-day boot display
  2130.       P                  save Preferences
  2131.       R                  Revert to saved preferences
  2132.       S                  show Skip-holiday events
  2133.  
  2134.  
  2135. 5.14. Calshow Command Line Parameters
  2136.  
  2137.       One of these switches required:
  2138.  
  2139.         -?           show this help (or '?' as first character)
  2140.         -V           coming events list
  2141.         -B           datebook output (-O or -P required)
  2142.         -M           master list (-O or -P required)
  2143.  
  2144.       Optional switches as desired:
  2145.  
  2146.         -Ofilespec   output filespec (not with -P)
  2147.         -P           output to printer (not with -O)
  2148.         -F           formfeed after (ignored except with -P)
  2149.         -Smmddyyyy   start date
  2150.         -Emmddyyyy   end date (ignored with -D)
  2151.         -Dnn         show next nn days (-V only; ignores -E)
  2152.         -Cfilespec   Cal location
  2153.         -Innnnnnnnnn show only these importance levels
  2154.         -#nnn        show nnn events max (ignored with -E)
  2155.         -Wnnn        wait nnn seconds after display
  2156.         -K           toggle show-skipped-events setting
  2157.         -U           toggle European dates setting (ddmmyyyy)
  2158.         -G           GEM mode (-V only; returns to dialog)
  2159.  
  2160. Example command lines:
  2161.  
  2162. Show the normal Coming Events listing, just as if you pressed the 'Go'
  2163. button in the Calshow dialog.
  2164.  
  2165.       -v-g
  2166.  
  2167. Show the coming-events listing for the next two weeks, in GEM mode. Return
  2168. to the Calshow dialog afterward. Pause for 30 seconds on each screen.
  2169.  
  2170.       -v-g-d14-w30
  2171.  
  2172. Save datebook-style output in a file named P:\DATEBOOK.PRT. The output
  2173. should start on September 1, 1992, and should show 31 days. Cal is located
  2174. in a subfolder named CAL on the D: drive.
  2175.  
  2176.       -b-op:\datebook.prt-s09011992-d31-cd:\cal\cal63.acc
  2177.  
  2178.