VAXDTC - The VAX Desk Top Calender James G. Downward August 2, 1984 Based on: DTC - The Desk Top Calender Mitch Wyle December 1982 Version 1: Glen C. Everhart Original Abstract The idea here is to automate an appointment calender. Most appointment calenders give only one of Month-At-A-Glance, Week-At-A-Glance, or Day-At-A-Glance. DTC is an attempt to give all of these functions in a paperless, fast, menu-driven format. DTC is one of a number of Paperless Office programs I have been developing for two years. Other related programs are an on-line telephone directory, an electronic mail system, an automatic "While You Were Out" message taker which spawns mail directives, Memo and Form letter templates and programs, and software tools for writers in a business environment. Mitchell F. Wyle Data Systems Supervisor, NUS Pittsburgh Radiological Laboratory 5350 Campbells Run Rd. Pittsburgh, PA 15205 (412) 788-1080 x405 Revision 1 Abstract Revision 1: Glenn C. Everhart I have added a few extras to the program to make it more usable and fix a few small bugs. The following has been done: * Date bugs in displaying weeks at the beginnings of months are fixed. * The E in Evening now is a pseudo time and gets displayed as 17:00 on the weekly summary. You can enter evening appointments using the D command with E for time. (EV works OK too.) * Most commands are accepted in lower case or upper case. * Commands T (Today), R (Reminder), and C (Calendar) correspond to Day, Week, and Month exactly but cause DTC to exit after they are executed. This permits them to be used from MCR with instant exit, thus to be placed into login.cmd files for an "auto reminder" service. * Time ranges may be input (so long as it is done with no format errors) in the form hh:mm>h2:m2 (e.g. 09:00>15:30) which will replicate the appointment part of the line into DTC.DAT over the indicated range. * Purge of old appointments (clear out appointments from before a given date, defaulting to today) * Reverse display of week/month times permitting FREE times to be found and displayed rather than occupied ones (potentially for a group of people) * A second level of data files, permitting an appointment file to contain pointers (1 level deep) to other files which can be searched as well as the first * Multiple appointment files, changeable on command (permitting "private" appointment calendars) * Scheduling of appointments in multiple files (useful for setting up meetings or maintaining multiple files) * Lookup for free times of length n * 30 minutes (where n is any number in the range 1 to 18) over a week period; display of times is made in Week format. Valid start times for meetings of given lengths are shown. New commands: P [mmddyy] - Removes all appointments from current calendar file whose date is BEFORE the date specified. If no date is specified, today's is assumed. N(command) (for example NW [mmddyy] ) - Displays FREE time instead of scheduled time in week or month formats. Not deemed useful for Day format, so left out there. F filename - Closes current calendar file (defaults to DTC.DAT initially) and opens filename instead S [mmddyy hh:mm[>hh:mm]] appointment/meeting - Schedules appointment /meeting at the given time. If current calendar file contains pointers to other files (see below; year=99 and appointment part has 'filename=' in it) then each of those gets a notice of the appointment or meeting added to it as well as the current calendar. Otherwise only the current calendar file is updated in the D format. L [mmddyy] nn - Locate a period of nn half-hours in the week containing mmddyy. Displays the free time in week format. Used to schedule meetings. nn must be 01 thru 18 and is clamped to this range POINTERS in CALENDAR FILES The calendar file format is sequential records of the format: YYMMDDTTTappointment text of 60 characters length in which every record has this form, and the time TTT is in the range (for correct files) of 080 through 170 (for 08:00 through 17:00). The third digit is always either 3 or 0 as well, since DTC only schedules half hour periods. Indirection is accomplished by editing your calendar file (with any editor) or just entering an "appointment" for year 99 (by which time somebody should have hacked some more on this to fix it up not to mess up real appointments). The text of the "appointment" should be just filespec=, with the = sign as the terminator of the file spec. This will lead to the file you specified being opened and treated as if it existed inside your own calendar file (except you need to use the S function rather than the D function to enter appointments in it as well as your own.) DTC is a bit touchy about illegal inputs. Be sure you input the mmddyy in the format given (i.e. July 4, 1983 is entered as just "070483", NOT as "7/4/83" or "7483" or anything else. If DTC seems to generate weird displays, edit DTC.DAT (or whatever else is your calendar file) and remove or edit lines in which the date or time are in illegal format. Revision 2 - VAXDTC James G. Downward I have cleaned up program, made screen formating work on VAX, added extensive HELP support, VPW window support, added a PRINT command improved command line parsing and fixed lots of bugs. Some features of Revision 1 are no longer visibly supported as I think they will be redone in a different format in the next release. 1. All commands are case insensitive. Cleaned up command line parsing. 2. VAX exit handler to clean up DTC and fix terminal screen if DTC stopped with ^Y. 3. QCHECK command (Quite Check) for use by VPW 4. Check Command prints out message not calendar. 5. Time parsing rock solid. Leading 0's not required for hours error trapping implemented. 6. Bug in Purge routine fixed. 7. Scheduling latent but the current method has to be redone for the VAX. 8. Lots of HELP. 9. Started conversion to character data where possible.