home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / lambda / soundpot / a / dbappt.lbr / APP.CZD / APP.CMD
Encoding:
Text File  |  1993-10-26  |  6.1 KB  |  267 lines

  1. ***************************************************************************
  2. *APP
  3. *                    - A fast-running little dBASE-II program for
  4. *Jotting down appointments.  Completely menu-driven, it will find
  5. *past and future appointments, and send the lists to the printer, if
  6. *desired.  Will modify a single entry, and delete a year of entries at
  7. *one fell swoop.  No provision for deleting a single entry via the program.
  8. *
  9. *WARNING:PRACTICALLY NO ABSOLUTE DATE CHECKING IS DONE, EXCEPT IN THE
  10. *INITIAL SYSTEM DATE ENTRY, AND THAT DOESN`T CHECK FOR LEAP YEARS, SHORT
  11. *MONTHS, ETC.
  12. *                  Chuck Ross KC9FL
  13. *                  437 Strieff Lane
  14. *                  Glenwood, IL 60425           (312)798-2092
  15. ***************************************************************************
  16. CLEA
  17. ERAS
  18. SET TALK OFF
  19. IF DATE()='00/00/00'
  20. STOR t TO not:DATE
  21. ENDI
  22. STOR 0 TO counter
  23. DO WHIL not:DATE
  24. STOR '  /  /  ' TO mdate
  25. @ 10,0 SAY "Enter today's date " GET mdate PICTURE '99/99/99'
  26. READ
  27. @ 13,0
  28. IF mdate=' / / ' .OR.$(mdate,1,2)< '01' .OR.$(mdate,1,2)> '12' ;
  29. .OR. $(mdate,4,2)<'01' .OR.$(mdate,4,2)> '31' .OR.$(mdate,7,1)< '8'
  30. @ 13,0 SAY "ERROR IN DATE ENTRY"
  31. STOR 1+counter TO counter
  32. IF counter>2
  33. @ 15,0 SAY 'Come on, turkey - put in a correct date!!'
  34. ENDI
  35. LOOP
  36. ELSE
  37. STOR f TO not:DATE
  38. ENDI
  39. SET DATE TO &mdate
  40. @ 15,0 SAY 'Thank you...                                         '
  41. RELE not:DATE,mdate
  42. ENDD
  43. RELE counter
  44. ERAS
  45. SET bell ON
  46. ERAS
  47. USE app INDEX apdate
  48. STORE DATE() TO FDATE
  49. STOR 1 TO check
  50. DO WHIL check=1
  51. STOR $(FDATE,7,2)+$(FDATE,1,2)+$(FDATE,4,2) TO FINDER
  52. STOR '?' TO mselect
  53. @ 4,0 SAY '   APPOINTMENTS                                 '
  54. ? '...........................................................................'
  55. ?
  56. ?
  57. ? '                        ( 0 ) QUIT                          '
  58. ? '                        ( 1 ) ADD APPOINTMENTS  '
  59. ? '                        ( 2 ) SHOW ALL APPOINTMENTS  '
  60. ? '                        ( 3 ) SHOW PAST APPOINTMENTS '
  61. ? '                        ( 4 ) SHOW FUTURE APPOINTMENTS '
  62. ? '                        ( 5 ) SHOW APPOINTMENTS FOR A CERTAIN MONTH  '
  63. ? '                        ( 6 ) MODIFY RECORDS  '
  64. ? '                        ( 7 ) DELETE A YEAR OF OLD APPOINTMENTS  '
  65. @ 19,0 SAY '                 ENTER CHOICE' GET mselect PICTURE '!'
  66. READ
  67. DO CASE
  68. CASE mselect='0'
  69. ERAS
  70. STOR 0 TO check
  71. QUIT
  72. CASE mselect='1'
  73. ERAS
  74. STOR 1 TO ADD
  75. DO WHIL ADD=1
  76. @ 1,0 SAY 'Add appointments                  hit [RETURN] to exit  '
  77. @ 2,0
  78. CLEA GETS
  79. STOR "  /  /  " TO mapdate
  80. STOR "                                                  " TO mappt
  81. @ 10,0 SAY 'Enter Appointment date' GET mapdate PICTURE '99/99/99'
  82. READ
  83. IF mapdate="  /  /  "
  84. STOR 0 TO ADD
  85. ERAS
  86. ELSE
  87. @ 12,0 SAY 'Enter Appointment' GET mappt
  88. READ
  89. APPE BLAN
  90. REPL appt WITH mappt,apdate WITH mapdate
  91. ERAS
  92. ENDI
  93. ENDD
  94. CASE mselect='2'
  95. ERAS
  96. @ 1,0 SAY 'Displaying all Appointments in database:'
  97. ?
  98. DISP OFF ALL apdate,appt
  99. ?
  100. ?
  101. ? "That's all of them..."
  102. ? 'hit any key when ready'
  103. SET cons OFF
  104. WAIT
  105. SET cons ON
  106. ERAS
  107. CASE mselect='3'
  108. ERAS
  109. STOR 'N' TO printer
  110. @ 1,0 SAY 'Past Appointments'
  111. @ 3,0 SAY 'Output to printer (Y/N) ? ' GET printer PICTURE '!'
  112. READ
  113. IF printer='Y'
  114. SET PRIN ON
  115. SET MARGIN TO 5
  116. ENDI
  117. ? 'Past Appointments:  Today is ',DATE()
  118. ?
  119. ?
  120. DISP OFF FOR finder > $(apdate,7,2)+$(apdate,1,2)+$(apdate,4,2)
  121. ?
  122. ?
  123. ?
  124. SET PRIN OFF
  125. ?
  126. ? "That's all of them .."
  127. ? 'Hit any key when ready'
  128. SET cons OFF
  129. WAIT
  130. SET cons ON
  131. RELE printer
  132. ERAS
  133. CASE mselect='4'
  134. ERAS
  135. STOR 'N' TO printer
  136. @ 1,0 SAY 'Future Appointments'
  137. @ 3,0 SAY 'Output to printer (Y/N) ? ' GET printer PICTURE '!',
  138. READ
  139. IF printer='Y'
  140. SET PRIN ON
  141. SET MARGIN TO 10
  142. ENDI
  143. ? 'Future Appointments:  Today is ',DATE()
  144. ?
  145. ?
  146. DISP OFF FOR finder < $(apdate,7,2)+$(apdate,1,2)+$(apdate,4,2)
  147. ?
  148. ?
  149. ?
  150. SET PRIN OFF
  151. ?
  152. ? "That's all of them .."
  153. ? 'Hit any key when ready'
  154. SET cons OFF
  155. WAIT
  156. SET cons ON
  157. RELE printer
  158. ERAS
  159. CASE mselect='5'
  160. ERAS
  161. STOR 1 TO look
  162. DO WHIL look=1
  163. STOR 'N' TO printer
  164. STOR '  /  ' TO mtime
  165. @ 1,0 SAY 'To list appointments for a given month'
  166. @ 5,0 SAY 'Hit [RETURN] to EXIT'
  167. @ 3,5 SAY 'Enter month/year (EX:01/85) ' GET mtime PICTURE '99/99'
  168. READ
  169. @ 15,0
  170. DO CASE
  171. CASE mtime='  /  '
  172. STOR 0 TO look
  173. RELE printer,time,mtime
  174. ERAS
  175. CASE mtime<>'  /  '
  176. STOR $(mtime,4,2)+$(mtime,1,2) TO finder
  177. FIND &finder
  178. IF #=0
  179. @ 15,0 SAY 'There are no entries for '+mtime
  180. LOOP
  181. ELSE
  182. STOR mtime TO time
  183. ERAS
  184. @ 1,0 SAY 'Output to printer  (Y/N) ?' GET printer PICTURE '!'
  185. READ
  186. IF printer='Y'
  187. SET PRIN ON
  188. SET MARGIN TO 10
  189. ? 'These are the appointments for ',mtime
  190. ?
  191. LIST OFF apdate,appt ;
  192. FOR $(apdate,1,2)+$(apdate,7,2)=$(time,1,2)+$(time,4,2)
  193. ?
  194. SET PRIN OFF
  195. ELSE
  196. @ 2,0
  197. ? 'These are the appointments for',mtime
  198. ?
  199. DISP OFF apdate,appt ;
  200. FOR $(apdate,1,2)+$(apdate,7,2)=$(time,1,2)+$(time,4,2)
  201. ?
  202. ENDI
  203. ENDI
  204. ?
  205. ? 'Hit any key when finished' 
  206. SET CONS OFF
  207. WAIT
  208. SET CONS ON
  209. ERAS
  210. ENDC
  211. ENDD
  212. CASE mselect='6' 
  213. DO appmod
  214. CASE mselect='7' 
  215. NOTE*apdel.cmd removes a year ' s entries FROM the FILES
  216. ERAS
  217. SET COLO OFF
  218. STOR t TO out
  219. DO WHIL out
  220. STOR 'N' TO GO
  221. @ 1,0 SAY "Delete a year's worth of entries from the database:"
  222. @ 10,0 SAY "WARNING: This procedure will remove a year's worth of entries from"
  223. @ 11,0 SAY " the database permanently! - DO you really want TO DO that ;
  224. (y/n) ? " GET GO PICTURE '!'
  225. READ
  226. DO CASE
  227. CASE GO<>'Y'
  228. STOR f TO out
  229. SET COLO ON
  230. ERAS
  231. CASE GO='Y'
  232. ERAS
  233. STOR f TO nogo
  234. DO WHIL .not. nogo
  235. STOR '  ' TO year
  236. @ 1,0 SAY 'OK-  Enter year for deletion: 19' GET year PICTURE '99'
  237. READ
  238. @ 3,0 SAY 'Year to delete is 19'+year+':'
  239. @ 3,25 SAY 'Is that correct (Y/N) ?' GET nogo PICTURE '!'
  240. READ
  241. IF .not. nogo
  242. LOOP
  243. ELSE
  244. ERAS
  245. @ 5,0 SAY 'Deleting all records for year 19'+year+':'
  246. DELE ALL FOR $(apdate,7,2)=year
  247. PACK
  248. ENDI
  249. ENDD
  250. @ 5,0 SAY 'Deletion complete: returning to main menu:      ' 
  251. STOR 1 TO counter
  252. DO WHIL counter<10
  253. STOR 1+counter TO counter
  254. ENDD
  255. STOR f TO out
  256. RELE year,GO,nogo,counter
  257. SET COLO ON
  258. ENDC
  259. ENDD
  260. ERAS
  261. CASE mselect='*' 
  262. CANC
  263. OTHE
  264. @ 23,0 SAY 'Please select a number from "0"  TO "7" ' 
  265. ENDC
  266. ENDD
  267.