home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 1 / ARM_CLUB_CD.iso / contents / apps / print / progs / printdiary / !PrntDiary / Help < prev    next >
Encoding:
Text File  |  1993-09-29  |  10.8 KB  |  304 lines

  1. The 'PrintDiary' program prints a desk_diary showing nearly a
  2. complete month on each page. It inserts a blank half-page to help
  3. synchronise the dates with the 4-week pages. Days can annotated with
  4. personalised anniversary-dates, calculated-ages etc.
  5.  
  6.   
  7. It was first written on a BBC Model B and used successfully for
  8. 5 years; it was then rewritten in 1992 in Basic 5 on an A3000 and is
  9. now suitable for Archimedes computers.
  10.  
  11.   
  12. The program has no GOTO instructions and it was developed using
  13. DeskEdit from Risc User. I strongly recommend Deskedit for writing
  14. letters and editing programs. 'PrintDiary' controls the printer
  15. directly ie: no driver is needed; it was tested using an Epson FX-80.
  16.  
  17.  
  18. To change fonts or adjust for incompatible printers, alter the Print
  19. Procedures at the end of the program. Refer to the corresponding
  20. control codes for your own printer. Note that a pitch of 12 lines/inch
  21. is set-up instead of the default 6 lines/inch. Vertical tabulation is
  22. set to give a half-page tab and one allowing printing just below the
  23. perforations. Reversing is also necessary.
  24.  
  25. 11 inch x 241 mm fanfold paper is normally used.
  26.  
  27.  
  28. Follow the Set-up Procedure Below to adjust for each year:
  29.      
  30.  1. Set the year, and its variable holidays in the Diary-dates DATA
  31.       statements at the End of the Program.
  32.  
  33.  2. Other items are controlled when the program is run eg:
  34.  
  35.  3. Set opt%=0 & 1 for Previews to check raw data, messages, and
  36.       dates.
  37.  
  38.  4. Then Set opt%=4 for the Final Print which takes about 50 minutes.
  39.  
  40.  5. opt%=3 will give a partial print if your printer fouls up (my
  41.       Epson never has).
  42.  
  43.  6. For a detailed screen-only preview, use a printing option but
  44.        reply N (=NO) when asked to confirm that the printer is on.
  45.  
  46.  
  47.  
  48. There is a Full Data Description followed by live data at the End of
  49. the Program; it is copied here for convenience:
  50.  
  51.  
  52. This Data-list is correct for 1993.
  53. Those dates already decided for 1994 are included with
  54. condition-numbers which will activate them when Diary-year 1994 is
  55. selected.
  56.  
  57. Dates for 1992 have been left in as examples; they can be removed now.
  58. You will need to replace my Birthdays and other Anniversaries with
  59. events that you need to remember; it takes some effort but it lasts
  60. for years when you've done it.
  61.  
  62. The program initialises the printer to suit itself and restores it to
  63. normal on exit. The printer will reverse-step over the perforations
  64. and the initialisation is for a page which is only half-a-fanfold-page
  65. in length. This will be cancelled when a print ends normally but a
  66. paper foul-up will leave the printer wondering where it is.
  67.  
  68. Read the following notes and experiment in one of the non-printing
  69. preview modes. Then print a summary of the special dates and check it
  70. thoroughly again and again. Leave it overnight in case you have any
  71. more bright ideas.
  72.  
  73. You can print replacement sections but its better to go for one good
  74. print only. Ensure that you have at least 13 sheets of fanfold and a
  75. good ribbon before the full printout.
  76.  
  77. The Data-list is headed by the Diary-year number in long or short
  78. form, ie: 93 or 1993,  0 or 00 or 2000,  7 or 2007,  29 or 2029.
  79.  
  80. Thereafter the data is read in sets of 3 integers followed by a
  81. string. The order is: Month,  Date,  Condition,  Message-string.
  82.  
  83. Comments following the string to the line-end will be ignored
  84. providing that they are alpha-only.
  85.  
  86.       TAKE CARE WITH COMMENTS OR (BETTER) AVOID THEM ALTOGETHER
  87.  
  88. After the Year-number, the First-number is the Month-number:
  89. The Month-number must rise from 0 (or more) to 13 (or less); 0  means
  90. Dec of year before Diary-year, 1 is Jan of Diary-year; 13 means Jan of
  91. year after Diary-year. A Month-number can be missed out but one cannot
  92. be inserted out of order.
  93.  
  94. The Second-number is the Date-number:
  95. This is checked to be in range 0 - 31 only.
  96. A message could be set against Feb 30 but it would never be printed.
  97. Dates do not have to be in ascending order; they can be out of order.
  98.  
  99. The Third-number is the Condition-number (let's call it C):
  100. Absolute values of C greater than say 2000 will probably not be
  101. useful. The effect of C depends upon how many digits it has and its
  102. sign.
  103.  
  104. Consider positive (+ve) values of C:
  105.  
  106.   C values from 0 to 99 (1 or 2 digits), cause messages to be printed
  107.     in the matching year only:
  108.         eg If C=94 message printed in Diary-year 1994 only
  109.            If C= 6 message printed in Diary-year 2006 only
  110.            If C=28 message printed in Diary-year 2028 only.
  111.  
  112.   C values from 100 to 999 (3 digits), cause messages to be printed in
  113.     any Diary-year. All 3-digit numbers have the same effect; choose
  114.     one and stick to it. I use 111 because it is easy to type.
  115.  
  116.   C values from 1000 upwards (4+ digits), cause messages to be printed
  117.     in any Diary-year and they are immediately followed by an integer
  118.     number calculated by the program.
  119.     
  120.   The number makes sense if thought of as the 'age' of a person or the
  121.     'age' of an item.
  122.   For this to be useful the value of C will be either:
  123.     the year-of-birth of the person whose birthday occurs on that day,
  124.     or the year-of-acquisition of the item whose anniversary it is.
  125.     
  126.  
  127. Example 1:
  128.  
  129.   If Sarah was born on Aug 24th 1982, the following data might be
  130.     suitable:
  131.      
  132.     DATA  8,  24, 1982,   "Sarah is "
  133.  
  134.     In the Diary for 1994 (say), this would print the reminder:
  135.        
  136.       'Sarah is 12' for the appropriate date ie Aug 24th.
  137.     
  138.  
  139. Example 2:
  140.  
  141.   If your car (or dog) was acquired (born) on Dec 29th 1977, consider:
  142.  
  143.     DATA 12,  29, 1977,   "Rover is "
  144.  
  145.     In the Diary for 1994 (say), this would print the reminder:
  146.        
  147.       'Rover is 17' for  Dec 29th 1994.
  148.      
  149.  
  150.   To include a corresponding message in the December of the outgoing
  151.     year (in this case 1993), you will need to put it into the
  152.     overlapping month called Month 0 at the start of the diary.
  153.     To do this, you could add:
  154.          
  155.     DATA  0,  29, 1977,   "Rover is "
  156.     
  157.     In the Diary for 1994 (say), this would print the reminder:
  158.        
  159.       'Rover is 16' for  Dec 29th 1993.
  160.       
  161.      Dec 93 appears at the start of the '94 Diary.
  162.      Dec 94 appears at the  end  of the '94 Diary; followed by Jan 95.
  163.      
  164.   
  165.  
  166. Now Consider negative (-ve) values of C:
  167.   Negative values of C mark dates as 'Special dates'
  168.   Special dates included in the data-list, can be excluded from the
  169.     your print-out by an option at run-time. This enables you to
  170.     prevent personal messages from being included in a diary being
  171.     printed for a friend.
  172.  
  173.   The action of C depends on its size, just the same as for +ve
  174.     values. In fact you simply calculate the value of C required
  175.     normally, and then preface it by a minus-sign: '-'
  176.  
  177. Example 3:
  178.  
  179.   The dates above are made special and put in order:
  180.  
  181.     DATA  0,  29, -1977,   "Rover is "
  182.     DATA  8,  24, -1982,   "Sarah is "
  183.     DATA 12,  29, -1977,   "Rover is "
  184.     
  185.   Now I can stop these messages from appearing in a Diary that I am
  186.     printing for a friend, I can choose to include them or exclude
  187.     them at run-time just prior to printing.
  188.  
  189.  
  190. End the Data-list with 'bogus' Month-number, ie a number in the
  191.   position of a Month-number but obviously too big ie greater than 13.
  192.   
  193.   I use 999 but anything > 13 will do
  194.   
  195.   The rest of the line can be blank or can contain comment.
  196.   
  197.   
  198. Finally, a note on Holidays:
  199.        
  200.   Christmas and New-year Holidays are sometimes difficult.
  201.  
  202.     When Christmas or Boxing Day falls on a Saturday or Sunday the
  203.     following Monday and perhaps Tuesday will be a Holiday. This can
  204.     be thunk out (my personal past-tense of the verb to think) or
  205.     ignored.
  206.     
  207.   Other Holidays are easy because they are mainly Mondays.
  208.     I never use the term 'Bank Holiday' because I have no great liking
  209.     for banks and I don't wish to spoil MY HOLIDAY by thinking that I am
  210.     indebted to a bank for it. In your diary you can call these days
  211.     whatever you like.
  212.  
  213. The live data copied from the program follows:
  214.  
  215. :
  216. DATA  93
  217. :
  218. DATA  0,  25,   111,   "Christmas"       Dec of year before Diary year
  219. DATA  0,  26,   111,   "Boxing"
  220. DATA  0,  29, -1977,   "Rover is "       Program adjusts age to year before
  221. DATA  0,  21,   111,   "Shortest Day"
  222. :
  223. DATA  1,   1,   111,   "New Year"        Jan
  224. DATA  1,   1,    92,   "New Leap Year"
  225. DATA  1,   1,    96,   "New Leap Year"
  226. DATA  1,   3,    94,   "Holiday"
  227. DATA  1,   2,    95,   "Holiday"
  228. DATA  1,  10, -1900,   "Granny might be "
  229. DATA  1,  20, -1980,   "Big Joe will be "
  230. :
  231. DATA  2,   8, -1966,   "Peter is "       Feb
  232. DATA  2,  14,   111,   "Valentine"
  233. DATA  2,  20, -1987,   "Little Joe will be "
  234. DATA  2,  23,    93,   "Shrove/Pancake"
  235. DATA  2,  15,    94,   "Shrove/Pancake"
  236. :
  237. DATA  3,   3,    92,   "Shrove/Pancake"  Mar
  238. DATA  3,  10,  -111,   "Fido's Birthday"
  239. DATA  3,  20,   111,   "Spring Equinox"
  240. DATA  3,  28,    92,   "Clocks Forward"
  241. DATA  3,  27,    93,   "Clocks Forward"  Provisional date
  242. DATA  3,  26,    94,   "Clocks Forward"  Provisional date
  243. DATA  3,  29,    92,   "Mothers Day"
  244. DATA  3,  21,    93,   "Mothers Day"
  245. DATA  3,  13,    94,   "Mothers Day"
  246. :
  247. DATA  4,  17,    92,   "Good Friday"     Apr
  248. DATA  4,   9,    93,   "Good Friday"
  249. DATA  4,   1,    94,   "Good Friday"
  250. DATA  4,  19,    92,   "Easter"
  251. DATA  4,  20,    92,   "Easter"
  252. DATA  4,  11,    93,   "Easter"
  253. DATA  4,  12,    93,   "Easter"
  254. DATA  4,   3,    94,   "Easter"
  255. DATA  4,   4,    94,   "Easter"
  256. DATA  4,  29, -1967,   "R"
  257. DATA  4,   2, -1981,   "M"
  258. :
  259. DATA  5,   1,   111,   "Pay Water Bill"  May
  260. DATA  5,   4,    92,   "Mayday"
  261. DATA  5,   3,    93,   "Mayday"
  262. DATA  5,   2,    94,   "Mayday"
  263. DATA  5,  10,  -111,   "Catto's Birthday"
  264. DATA  5,  25,    92,   "Spring"
  265. DATA  5,  31,    93,   "Spring"
  266. DATA  5,  30,    94,   "Spring"
  267. :
  268. DATA  6,  10, -1973,   "Sue is "         Jun
  269. DATA  6,  21,   111,   "Longest Day"
  270. DATA  7,  29, -1986,   "Richard is "     Jly
  271. DATA  7,  30, -1982,   "Robert will be "
  272. :
  273. DATA  8,  24, -1982,   "Sarah is "       Aug
  274. DATA  8,  31,    92,   "Late Summer"
  275. DATA  8,  30,    93,   "Late Summer"
  276. DATA  8,  29,    94,   "Late Summer"
  277. :
  278. DATA  9,  10,  -111,   "MOT"             Sep
  279. DATA  9,  22,    92,   "Autumn Equinox"
  280. DATA  9,  23,    93,   "Autumn Equinox"
  281. DATA  9,  23,    94,   "Autumn Equinox"
  282. :
  283. DATA 10,   1,   111,   "Pay Water Bill"  Oct
  284. DATA 10,  24,    92,   "Clocks Back"
  285. DATA 10,  30,    93,   "Clocks Back"     Provisional date
  286. DATA 10,  31,    94,   "Clocks Back"     Provisional date
  287. :
  288. DATA 11,   5,   111,   "Bonfire"         Nov
  289. DATA 11,   5, -1983,   "Bonfire, Daniel is "
  290. :
  291. DATA 12,  21,   111,   "Shortest Day"    Dec
  292. DATA 12,  25,   111,   "Christmas"
  293. DATA 12,  26,   111,   "Boxing"
  294. DATA 12,  28,    92,   "Holiday"
  295. DATA 12,  28,    93,   "Holiday"
  296. DATA 12,  27,    93,   "Holiday"
  297. DATA 12,  27,    94,   "Holiday"
  298. DATA 12,  29, -1977,   "Rover is "
  299. :
  300. DATA 13,   1,   111,   "New Year"        Jan of year following Diary year
  301. DATA 13,   1,    96,   "New Leap Year"
  302. :
  303. DATA 999                                 End of Data
  304.