home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol030 / sigmlog.028 < prev    next >
Text File  |  1985-02-09  |  25KB  |  591 lines

  1.  
  2. Sig/M.028    A Small Library for Pascal/Z
  3.         Life/Wumpus Update
  4.         NAD Accounts Receivable System
  5.         Simple Doctor Billing Programs
  6.         Home Remote Control Programs
  7.  
  8.             compiled by Charlie Foster
  9.  
  10.         -CATALOG.028    contents of Sig/M.028
  11.         -CATA028.ACK    acknowledgement file
  12.         CRCKLIST.028    checksum file
  13.  
  14. index    size    names        notes
  15.  
  16. 28.01     4K    LIBRARY.DOC    A Small Library
  17. 28.02     2K    ASL.REL             /
  18. 28.03     1K    CHAIN.REL        /
  19. 28.04     1K    CHAIN.SUB       /
  20. 28.05     1K    COMPILE.SUB      /    
  21. 28.06     1K    HALT.REL     /
  22. 28.07     1K    HALT.SRC    /
  23. 28.08    10K    LIFE.COM    variations of LIFE 
  24. 28.09     9K    LIFE.PAS      /
  25. 28.10    10K    LIFE-C.COM     /
  26. 28.11     7K    LIFE-C.C    /
  27. 28.12     1K    CAVE0        CAVE update
  28. 28.13     1K    CAVE1            /
  29. 28.14     1K    CAVE2           /
  30. 28.15     1K    CAVE3          /
  31. 28.16     1K    CAVE4         /
  32. 28.17     1K    CAVE5        /
  33. 28.18     6K    WADUZIT.COM    waduzit do?
  34. 28.19     4K    WADUZIT.DOC     /
  35. 28.20     7K    WADUZIT.PAS    /
  36. 28.21    18K    NAD.COM        NAD Accounts Receivable System
  37. 28.22    12K    NAD.PAS            /
  38. 28.23     6K    NAME&ADD.DOC       /
  39. 28.24    25K    RECEIVAB.COM      /
  40. 28.25    17K    RECEIVAB.PAS     /
  41. 28.26    12K    ACTTREC.DOC    /
  42. 28.27    20K    DISKBILL.PAS    simple doctor billing programs
  43. 28.28     9K    RECMAKE.PAS    /
  44. 28.29     1K    ANDMSK.SRC    home remote control programs
  45. 28.30     2K    EXORG.SRC        /
  46. 28.31     3K    COMPARE.PAS       /
  47. 28.32     1K    ORMSK.SRC      /
  48. 28.33     2K    REMOTE.SRC     /
  49. 28.34     2K    PROG.DOC    /
  50.  
  51. Thi≤á disδ i≤ aε importan⌠ one«á Ra∙ Penle∙ ha≤ beeε a⌠ i⌠ again« ì
  52. ReaΣ hi≤ Library.Doπ anΣ you'l∞ seσ wha⌠ hσ ha≤ iε mind«á ╔ agreσ ì
  53. witΦ hiφ anΣ ver∙ sooε wσ wil∞ havσ ß LIBRAR┘ DISK«á Ho≈ t∩á pas≤ ì
  54. up-date≤á i≤á ou≥ onl∙ problem«á S∩ iµ yo⌡ havσ an∙á suggestions¼ ì
  55. speaδ up« 
  56.  
  57. Thesσá arσá thσá star⌠á oµ ou≥ AS╠ (┴ Smal∞á Library⌐á mostl∙á b∙      ì
  58. Ra∙ Penley.
  59.      
  60.      LIBRARY.DOC         ASL.REL             HALT.REL
  61.      CHAIN.REL           CHAIN.SUB           HALT.SRC
  62.      COMPILE.SUB
  63.  
  64. Ra∙á ha≤á giveεá u≤ ou≥ firs⌠ gamσ updatσá also«á Thσá cave≤á arσ      ì
  65. froφá Wumpu≤á whicΦ i≤ oε Sig/M.021«á Cave│ haΣ ░ record≤ iεá it«      ì
  66. S∩á no≈á Wumpu≤ wil∞ bσ complete«á Thσ Lifσá program≤á arσá game≤      ì
  67. als∩á bu⌠á witΦá ß educationa∞ slant«á  You'l∞á noticσá tha⌠á onσ      ì
  68. i≤á iεá Pascal/┌á bu⌠ thσ othe≥ i≤ iε "C"«á Thσ ├á versioεá seem≤      ì
  69. t∩á bσá faster«á Thσ though⌠ wσ havσ i≤ tha⌠ i⌠ i≤ thσ wa∙á ├á i≤      ì
  70. writteεá rathe≥á thaεá aεá inheren⌠á superiority«áá Doe≤áá anyonσ      ì
  71. havσ an∙ commen⌠ a≤ t∩ thσ pro'≤ o≥ con'≤ oµ wh∙ tha⌠ is?
  72.  
  73.      LIFE.COM            LIFE-C.COM          CAVE0,1,2,3,4,5
  74.      LIFE.PAS            LIFE-C.C
  75.  
  76. Fo≥á thosσá wh∩ likσ t∩ mes≤ around¼á thσ followinτá prograφá wa≤ ì
  77. publisheΣ anΣ theε converteΣ t∩ "C"¼ Pasca∞ anΣ ╔ don'⌠ kno≈ wha⌠ ì
  78. othe≥ languages«  It≤ ß real¼ short¼ simplσ language« Ra∙ se· it≤ ì
  79. aεá examplσ oµ wha⌠ ß higΦ languagσ likσ Pasca∞ caε do«á ReaΣ thσ ì
  80. Doc.
  81.  
  82.      WADUZIT.COM/PAS/DOC
  83.  
  84. Craiτáá Rudliεá take≤á credi⌠á fo≥á thesσáá wonderfu∞áá programs«      ì
  85. Craiτá isn'⌠á t∩á fa≥á ofµ froφ beinτ ablσ t∩á pu⌠á hi≤á program≤      ì
  86. u≡á oεá ß commercia∞ footing«á Thσ firs⌠ i≤ ßá NA─á prograφá witΦ      ì
  87. somσá interestinτá technques«á You'l∞ havσ t∩ bσá aler⌠á however¼      ì
  88. the∙á arσá slightl∙á hardwarσ dependent«á Thσ Curso≥á contro∞á i≤      ì
  89. fo≥ ß Soroπ o≥ ß Televideo«á Naturally¼á witΦ thσ blocδ structurσ ì
  90. oµ Pasca∞ thσ change≤ arσ eas∙ t∩ make«á Thσ seconΣ prograφ i≤á ß ì
  91. smal∞á account≤á receivablσ modulσ tha⌠ work≤ witΦá thσá NAD«á Iε ì
  92. additioε t∩ thσ program≤ themselves¼á bσ surσ anΣ looδ a⌠ Craig'≤ ì
  93. function≤á anΣ procedure≤ (iε fac⌠ pa∙ attentioε t∩ anyone'≤á fo≥ ì
  94. ne≈á sample≤ t∩ use)¼á hσ haΣ ß probleφ witΦ EO╞ anΣ founΣ ßá wa∙ ì
  95. arounΣ it.
  96.  
  97.      NAD.PAS/COM              RECEIVAB.PAS/COM
  98.      NAME&ADD.DOC             ACTTREC.DOC
  99.      
  100. Sincσá Craiτ donateΣ thi≤ kerne∞ fo≥ ß star⌠ iε Pascal/┌ busines≤ ì
  101. softwarσ ╔ havσ beeε lookinτ arounΣ fo≥ thing≤ t∩ add«á ╔ founΣ ß ì
  102. UCS─ prograφ calleΣ Diskbill«á I⌠ i≤ ß simplσ billinτ prograφ fo≥ ì
  103. ßá Docto≥á s∩ ╔ addeΣ i⌠ t∩ thi≤ bunch« Thσ firs⌠á onσá wh∩ ì
  104. convert≤ i⌠ t∩ "Zó wil∞ oµ coursσ wiε ß freσ disk.
  105.      è     DISKBILL.PAS
  106.  
  107. BoΓ Miller¼á oµ Saε Jose,Ca¼á donateΣ thesσ fo≥ ou≥ use« ReaΣ thσ ì
  108. Prog.Doπá first«áá I⌠á provide≤á somσá morσá tool≤á fo≥á us«áá Aε ì
  109. interestinτ piecσ i≤ thσ Remote.SRC¼ i⌠ fo≥ thσ home
  110. remote control units.
  111.  
  112.      ANDMSK.SRC          EXORG.SRC           COMPARE.PAS
  113.      ORMSK.SRC           REMOTE.SRC          PROG.DOC
  114.  
  115.  
  116.           LIBRARY MAINTENANCE
  117.  
  118. by Ray Penley
  119.  
  120.  
  121.      Wσá havσ founΣ tha⌠ somσ oµ thσ member≤ arσ havinτá problem≤ ì
  122. creatinτá thei≥ owε librarie≤ oµ commonl∙ useΣ routines«á  A≤ yo⌡ ì
  123. kno≈á i⌠ i≤ oµ primar∙ importancσ t∩ havσ ß librar∙á oµá routine≤ ì
  124. tha⌠á yo⌡ don'⌠ havσ t∩ kee≡ writinτ ove≥ anΣ ove≥á again«á  Wheε ì
  125. yo⌡á writσ you≥ prograφ yo⌡ onl∙ havσ t∩ referencσ thσ routinσ a≤ ì
  126. an external and then use the routine freely in your program.
  127.  
  128.      Wσá arσá goinτá t∩á creatσ ß librar∙á oµá commonl∙á routine≤ ì
  129. presentl∙á founΣá iε thσ "┌ User≤ Groupó librar∙á anΣá cal∞á thi≤ ì
  130. new library ASL.REL (A Small Library).
  131.  
  132.      T∩ makσ ß librar∙ yo⌡ mus⌠ firs⌠ havσ ß subroutinσ assembleΣ ì
  133. int∩ ß .RE╠ file«  Iµ yo⌡ neeΣ hel≡ witΦ thi≤ procedure¼ thσ tex⌠ ì
  134. filσá MAKEREL.DO├ founΣ oε volumσ #▒ shoulΣ be most helpful.
  135.  
  136.      Ruεá thσá linke≥á bu⌠ ente≥ thσá librariaεá modσá b∙á typinτ ì
  137. /L:filename«  Sincσ wσ wan⌠ t∩ cal∞ ou≥ librar∙ AS╠ let≤ star⌠ b∙ ì
  138. typing:
  139.  
  140.      A>LINK /L:ASL
  141.  
  142.  
  143.      No≈á yo⌡á specif∙ thσ file≤ t∩ bσ includeΣ iεá thσá library«  ì
  144.                                     *** REMARKS ***
  145. *KEYIN                        found on volumes #3 and #4
  146. *CHAIN                        found on Pascal/Z library disk
  147. *INPORT                       found on volume #3
  148. *OUTPORT                      found on volume #3
  149. *DELAY                        found on volume #3
  150. *RANDOM                       found on volume #3
  151. *HALT                         found on this volume
  152. */E                           Typing /E closes the output file
  153.  
  154. NOTES:
  155.      Iµá yo⌡ makσ ß mistakσ yo⌡ caε alway≤ restar⌠ thσ linke≥á b∙ ì
  156. typing /R.
  157.      Iµá ß filσ witΦ thσ samσ namσ alread∙ exist≤ oε thσ disδá i⌠ ì
  158. wil∞ bσ deleteΣ anΣ theε ß ne≈ filσ wil∞ bσ created¼á s∩ bσá ver∙ ì
  159. carefu∞ a⌠ thi≤ step.
  160.      Thσá orde≥á oµá entr∙á int∩á thσá librar∙á ma∙á bσá oµá somσ ì
  161. importance«á  Sincσá thσ librar∙ i≤ loadeΣ iε onσ pass¼á ß modulσ ì
  162. shoulΣ appea≥ afte≥ i⌠ ha≤ beeε referenceΣ b∙ aε externa∞á symbo∞ ì
  163. iε othe≥ modules.
  164. .paè     No≈ i⌠ i≤ ß simplσ matte≥ t∩ usσ ou≥ ne≈ library«á  Let≤ usσ ì
  165. the routine KEYIN in a sample program.
  166.  
  167. Program DRead;
  168. { A program to directly read a char from the keyboard.}
  169.  
  170. LABEL 1;
  171. VAR  CH: CHAR;
  172.  
  173. Procedure KEYIN(VAR C:CHAR); EXTERNAL;
  174.  
  175. BEGIN
  176.   WHILE TRUE DO
  177.     BEGIN
  178.       WRITE('ENTER A CHARACTER ');
  179.       KEYIN(CH);
  180.       IF ( ORD(CH)=3 ) THEN GOTO 1;
  181.       WRITELN('YOU ENTERED A ',CH);
  182.     END;
  183. 1: {EXIT HERE ON CONTROL-C}
  184. END.{ of DREAD }
  185.  
  186.  
  187.      Now compile the program:
  188.  
  189. A>PASCAL DREAD.BBB
  190. A>ASMBL MAIN,DREAD.BB/REL
  191. A>LINK /N:B:DREAD B:DREAD ASL/S /E
  192.  
  193.  
  194.      That'≤ al∞ therσ i≤ t∩ itíá  Noticσ tha⌠ thσ ne≈ librar∙á i≤ ì
  195. oε thσ samσ disδ a≤ PASCAL.COM¼ ASMBL.COM¼ LIB.RE╠ AN─ LINK.COM« 
  196.  
  197.  
  198.      ╔á havσ writteε ß submi⌠ filσ tha⌠ wil∞ allo≈ yo⌡ t∩ compilσ ì
  199. ßá prograφá anΣ u≡ t∩ │ additiona∞ librar∙á files«á  Executσá thσ ì
  200. submi⌠ filσ likσ so:
  201.  
  202.      A>SUBMIT COMPILE PROGRAM DRIVE LIBRARY/S
  203.      A>SUBMIT COMPILE my PROGRAM on DRIVE using LIBRARY/S
  204.  
  205.  
  206.      We can compile and link our sample program in one step:
  207.  
  208.      A>SUBMIT COMPILE DREAD B ASL/S
  209.  
  210.      Isn'⌠á tha⌠ easyíá Thσ .CO═ filσ wil∞ bσ placeΣ oε thσá samσ ì
  211. drivσ a≤ thσ Pasca∞ sourcσ program«á  Notσ tha⌠ yo⌡ mus⌠ cal∞ fo≥ ì
  212. thσá librar∙á filσ witΦ thσ /╙ optioε elsσ yo⌡ loaΣ iε thσá wholσ ì
  213. library.
  214. .paèCall this file COMPILE.SUB
  215.  
  216. Pascal $1.$2$2$2
  217. asmbl main,$1.$2$2/rel
  218. ERA $2:$1.SRC
  219. link /n:$2:$1 $2:$1 $3 $4 $5 lib/s/E
  220. ERA $2:$1.REL
  221. :
  222. FILES $2:$1.*
  223.  
  224.  
  225. That'≤ al∞ fo≥ now«á  Iµ yo⌡ havσ an∙ question≤ fee∞ freσ t∩ cal∞ ì
  226. mσ o≥ dro≡ ß note«
  227.  
  228. RAYMOND E. PENLEY
  229. 1263 ALLEN COURT
  230. WALDORF, MD 20601
  231. (301) 645-9632  (evenings or weekends only)
  232. .paè
  233.  
  234.  
  235.                         WADUZITDO
  236.  
  237.  
  238. How to write a language in 256 words or less.
  239.  
  240. From BYTE magazine, September 1978. It is highly recommended
  241. that you obtain the above magazine. This program is only
  242. provided as a learning experience. If you make any changes to
  243. the program please provide a copy to your Pascal Users Group.
  244.  
  245. --------------------------------------------------------------
  246.   Statement     Format          What it does
  247. --------------------------------------------------------------
  248.   type          T:text  Display text on the terminal.
  249. --------------------------------------------------------------
  250.   accept        A:      Input one character from the
  251.                         terminal keyboard.
  252. --------------------------------------------------------------
  253.   match         M:x     Compare x to last input character
  254.                         and set match flag to Y if equal,
  255.                         set to N if not equal.
  256. --------------------------------------------------------------
  257.   jump          J:n     If n = 0 jump to last accept.
  258.                         If n = 1 thru 9 jump to nth program
  259.                         marker forward from the J.
  260. --------------------------------------------------------------
  261.   stop          S:      Terminate program and return to
  262.                         text editor.
  263. --------------------------------------------------------------
  264.   subroutine    S:x     Call user machine language program.
  265.                         (Requires program modification).
  266. --------------------------------------------------------------
  267.   conditionals          May precede any operation code.
  268.                 Y       Execute only if match flag is 'Y'.
  269.                 N       Execute only if match flag is 'N'.
  270. --------------------------------------------------------------
  271.  program        *       May precede any statement, serves
  272.  marker                 as a jump destination.
  273. --------------------------------------------------------------
  274.         Table 1: Program instructions for the WADUZITDO
  275.  
  276.  
  277. --------------------------------------------------------------
  278.  Edit character HEX             Meaning
  279. --------------------------------------------------------------
  280.         $       24      Start program execution
  281. --------------------------------------------------------------
  282.         \       5C      Move edit pointer to program start.
  283. --------------------------------------------------------------
  284.         /       2F      Display next line of program.
  285. --------------------------------------------------------------
  286.         %       25      Erase line. Pads with nulls.
  287. --------------------------------------------------------------
  288.    bs or <-  08 or 5F   Backspace to correct typing error.
  289. --------------------------------------------------------------
  290.         cr      0D      End of current statement.
  291. --------------------------------------------------------------
  292.   any others            Character stored in program and
  293.                         edit pointer advances.
  294. --------------------------------------------------------------
  295.         Table 2: Editing characters used by the built-in
  296.                  text editor.
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.                                 ACCOUNTS RECEIVABLE 
  306.  
  307.  
  308.  
  309.               RECEIVABLE á i≤ ß simplσ account≤ receivablσ prograφ fo≥á usσ ì
  310.         b∙á aε individua∞ o≥ smal∞ business«á Thσ prograφ permit≤á eithe≥ ì
  311.         postinτ t∩ aε account¼ o≥ generatinτ ß monthl∙ statement.  
  312.  
  313.               RECEIVABLE á require≤á ßá namσ anΣá addres≤á filσá previousl∙ ì
  314.         createΣ b∙ thσ use≥ witΦ thσ prograφ  NAD « 
  315.  
  316.              Thσá prograφá i≤á initiateΣ b∙á typinτá  RECEIVABLES ¼á anΣá ß ì
  317.         carriage return.  The screen is cleared and the message
  318.  
  319.                         ACCOUNTS RECEIVABLE PROGRAM PACKAGE
  320.  
  321.                                CHOSE FROM EITHER:
  322.  
  323.                              (1) POST TO AN ACCOUNT
  324.                             (2) GENERATE AN STATEMENT
  325.  
  326.                          ENTER THE NUMBER OF YOUR CHOICE 
  327.  
  328.  
  329.         i≤ displayed«  Regardles≤ oµ you≥ choice¼ thσ prograφ wil∞ promp⌠ ì
  330.         with the message:
  331.  
  332.                    ENTER NAME & ADDRESS FILE AS  DRIVE:NAME.EXT
  333.  
  334.         Ente≥á thσá namσá oµ thσ filσ a≤ i⌠ wa≤ createΣ b∙ thσá namσá anΣ ì
  335.         addres≤ prograφ (e.g«á B:OFFICE.NAD)«á   RECEIVABLES  wil∞ nex⌠ asδ ì
  336.         for the name of the account:
  337.  
  338.              ENTER THE NAME OF ACCOUNT _____________________________ 
  339.  
  340.         Yo⌡á shoulΣ ente≥ thσ namσ precisel∙ a≤ i⌠ i≤ listeΣ iε thσá filσ ì
  341.         oµ namσ anΣ addresses«á  Notσ tha⌠ u≡ t∩ 3░ letter≤ o≥ space≤ ma∙ ì
  342.         bσ useΣ (number≤ arσ treateΣ a≤ letters)«á  Thσ prograφ wil∞ theε ì
  343.         ask
  344.  
  345.                              IS THIS A NEW ACCOUNT? Y/N 
  346.  
  347.         Iµ yo⌡ ente≥ ß 'Y'¼á Versioε 1.░ oµ  RECEIVABLES ¼á wil∞ promp⌠ yo⌡ ì
  348.         t∩ exi⌠ t∩ thσ CP/═ operatinτ systeφ (b∙ typinτ ß contro∞ C)¼ anΣ ì
  349.         ente≥á thσá namσ anΣ addres≤ (account⌐ int∩ thσ appropriatσá filσ ì
  350.         prio≥á t∩ runninτ  RECEIVABLES.   Enterinτ aε 'Nº wil∞á permi⌠á thσ ì
  351.         program to search the file for the account.  
  352.  
  353.                 Iµá yo⌡ havσ selecteΣ thσ firs⌠ men⌡ option-- pos⌠ t∩á aε ì
  354.         account--  RECEIVABLES  wil∞ prompt
  355.  
  356.              I╙ THI╙ TH┼ FIRS╘ INVOIC┼ EVE╥ POSTE─ T╧ THI╙ ACCOUNT┐ Y/N 
  357. è
  358.  
  359.                                          1 
  360.  
  361.  
  362.  
  363.  
  364.  
  365.           
  366.  
  367.  
  368.         Bσ carefulí  Notσ tha⌠ thσ questioε is║ i≤ thi≤ thσ firs⌠ invoicσ ì
  369.          EVER posteΣá t∩ thi≤ account«á  Excep⌠ fo≥ thσ ver∙ firs⌠ timσ thσ ì
  370.         prograφá i≤á ruε fo≥ ß particula≥ account¼á thσá answe≥á t∩á thi≤ ì
  371.         questioε shoulΣ bσ  'N' .
  372.  
  373.                 Iµá yo⌡ havσ selecteΣ thσ seconΣ men⌡ option-- generatσ ß ì
  374.         statement-- thσ latte≥ questioε i≤ no⌠ asked. 
  375.  
  376.                 A⌠á thi≤á poin⌠ iε ou≥ discussion¼á i⌠á i≤á necessar∙á t∩ ì
  377.         elaboratσá ßá littlσá oε ho≈  RECEIVABLES  anΣ  NAD á actuall∙á work«  ì
  378.         EacΦ timσ ß namσ anΣ addres≤ i≤ entereΣ t∩ thσ file¼á  NAD  assign≤ ì
  379.         aε accoun⌠ numbe≥ t∩ thσ record«  (Thσ accoun⌠ numbe≥ i≤ actuall∙ ì
  380.         thσá recorΣ number.⌐  Afte≥ yo⌡ ente≥ thσ namσ oµ thσá file¼á anΣ ì
  381.         thσá account¼á  RECEIVABLES á locate≤ thσ accoun⌠ iε thσá namσá anΣ ì
  382.         addres≤á file¼áá anΣá read≤á thσá accoun⌠á number«á  Iµá yo⌡á arσ ì
  383.         generatinτ ß statement¼ i⌠ searche≤ thσ assigneΣ disπ (i⌠ assume≤ ì
  384.         tha⌠á botΦ thσ namσ anΣ addres≤ file¼á anΣ thσ filσ oµá invoices¼ ì
  385.         arσ botΦ oε thσ samσ drive!⌐ fo≥ ß filσ whosσ namσ i≤ thσ accoun⌠ ì
  386.         number¼á anΣ whosσ extensioε i≤ 'INV'«  Fo≥ example¼ iµ thσ thirΣ ì
  387.         recorΣ oµ thσ namσ anΣ addres≤ filσ B:OFFICE.NAD¼ i≤ 'ACM┼ LUMBE╥ ì
  388.         YARD╙áá  234╡á BROADROC╦á ROA─á RICHMON─á VIRGINI┴á 2322╣áá SALE╙ ì
  389.         MANAGER'¼áá  RECEIVABLES áá wil∞áá pos⌠á invoice≤áá t∩áá thσáá filσ ì
  390.         'B:0003.INV'¼á anΣá reaΣ froφ thi≤ filσ wheε generatinτ ß monthl∙ ì
  391.         statement.
  392.  
  393.                 Iµ yo⌡ wisΦ t∩ seσ thσ curren⌠ invoices¼ anΣ balance¼ fo≥ ì
  394.         ß particula≥ account¼ bu⌠ d∩ no⌠ wisΦ t∩ generatσ ß statement¼ do ì
  395.          NOT  selec⌠ men⌡ optioε tw∩ (generatσ ß statement)í  Rather¼ chosσ ì
  396.         thσá firs⌠ optioε (pos⌠ t∩ aε account)¼á anΣ exi⌠ directl∙ t∩ thσ ì
  397.         filσ listinτ a≤ detaileΣ below.
  398.  
  399.                 Thi≤á i≤ becausσ  RECEIVABLES  automaticall∙ (l⌐ write≤ thσ ì
  400.         entirσ .IN╓ filσ fo≥ thσ accoun⌠ t∩ ß ne≈ filσ identifieΣ b∙á thσ ì
  401.         montΦ oµ thσ statement¼ anΣ (2⌐ re-create≤ thσ .IN╓ filσ witΦ thσ ì
  402.         balancσ duσ froφ thσ statement«á  Fo≥ example¼á iµ ß statemen⌠ i≤ ì
  403.         generateΣ fo≥ Acmσ Lumbe≥ Yards¼ fo≥ thσ montΦ oµ September¼ andì
  404.         thσ tota∞ duσ fo≥ tha⌠ montΦ (statement⌐ i≤ 126.89¼á theε al∞ thσ ì
  405.         invoice≤á previousl∙ fileΣ iε B:0003.IN╓ wil∞ bσ writteε int∩ thσ ì
  406.         filσá B:0003.SEP¼á anΣ thσ filσ B:0003.IN╓ wil∞ contaiε onl∙á thσ ì
  407.         balancσ 126.89«á  Iε October¼á thσ olΣ balancσ wil∞ bσ identifieΣ ì
  408.         oεá thσ statemen⌠ a≤ 'PREVIOU╙ BALACEº anΣ addeΣ t∩ an∙á invoice≤ ì
  409.         posted during October, to equal the balance due for October.  
  410.  
  411.                 I⌠á i≤ suggested¼á tha⌠ wheε yo⌡ pos⌠ thσ paymen⌠ fo≥ thσ ì
  412.         previou≤ month'≤ statement¼á tha⌠ yo⌡ usσ thσ word≤ 'PRIORº 'BAL-ì
  413.         ANCEº fo≥ thσ invoicσ numbe≥ anΣ purchasσ orde≥á number¼á respec-ì
  414.         tively«á  Thi≤á wil∞ neatl∙ identif∙ ß paymen⌠ oε thσá subsequen⌠ ì
  415.         statement (and distinguish a payment from any other credit).
  416.  
  417.                 Wheεá thσá seconΣ men⌡ optioε i≤á selected¼á thσá prograφ ì
  418.         prompts across the top of the screen with
  419.  
  420.          MO/DA/YR   INVOICE #   PURCH ORDER #     AMOUNT           CORRECT 
  421.  
  422.         Ente≥á eacΦá piecσ oµ informatioε followeΣ b∙ ß carriagσá return«  ìè
  423.  
  424.                                          2 
  425.  
  426.  
  427.  
  428.  
  429.  
  430.           
  431.  
  432.  
  433.         Excep⌠á fo≥ thσ amount¼á letter≤ anΣ number≤ arσá considereΣá thσ ì
  434.         same«á  Hencσá aε invoicσ numbe≥ oµ R6574-┴ i≤ permissible«á Onl∙ ì
  435.         tw∩á character≤ arσ permitteΣ fo≥ thσ month¼á da∙ o≥á year«á  Thσ ì
  436.         invoicσá numbe≥ ma∙ havσ u≡ t∩ si° characters¼á anΣ thσá purchasσ ì
  437.         orde≥á number¼á u≡á t∩ l0«á  Thσ amoun⌠ i≤á considereΣá ßá 'realº ì
  438.         number¼ anΣ ma∙ havσ thσ rangσ -99,999.9╣ t∩ +99,999.99«  Ente≥ ß ì
  439.         '-º sigε iε fron⌠ oµ thσ amoun⌠ iµ i⌠ i≤ ß credi⌠ t∩ thσ account« ì
  440.         ┴á positivσ sigε ('+'⌐ doe≤ no⌠ neeΣ t∩ bσ entereΣ iµ thσá amoun⌠ ì
  441.         i≤ ß debi⌠ t∩ thσ account« Thσ prograφ wil∞ automatical∙ positioε ì
  442.         thσá curso≥ afte≥ eacΦ entr∙ (carriagσ return)«á  Thσ las⌠ entry¼ ì
  443.         unde≥ thσ 'CORRECTº column¼á i≤ eithe≥ ß 'Yº o≥ aεá 'N'¼á distin-ì
  444.         guishinτá whethe≥á thσá informatioε i≤ correc⌠á o≥á incorrec⌠á a≤ ì
  445.         entered¼á respectively«á  Iµá yo⌡ ente≥ ß 'N'¼á thσ prograφá wil∞ ì
  446.         promp⌠ witΦ ß men⌡ representinτ eacΦ entry«  Selec⌠ thσ numbe≥ ì
  447.         correspondinτá t∩ thσ firs⌠ piecσ oµ incorrec⌠á information¼á anΣ ì
  448.         ente≥ thσ numbe≥ followeΣ b∙ ß carriagσ return«  Thσ prograφ wil∞ ì
  449.         erasσá thσ incorrec⌠ entry¼á repositioε thσ curso≥ anΣ awai⌠á thσ ì
  450.         re-entr∙á oµá thσ information«á  Yo⌡ ma∙ continuσ t∩ correc⌠á thσ ì
  451.         informatioε unti∞ i⌠ i≤ entirel∙ correct«á  A⌠ tha⌠ point¼ selec⌠ ì
  452.         thσá numbe≥ correspondinτ t∩ 'Al∞ informatioε i≤ correc⌠á a≤á en-ì
  453.         tered'«á  Thσ prograφ wil∞ erasσ thσ correctioε prompt≤ anΣ posi-ì
  454.         tioεá thσ curso≥ fo≥ thσ nex⌠ linσ oµ information«á  Versioεá 1.░ ì
  455.         doe≤á no⌠ permi⌠ correctioε oµ thσ informatioε afte≥ i⌠ ha≤á beeε ì
  456.         writteε t∩ thσ disπ filσ (i.e« afte≥ yo⌡ havσ answereΣ 'Yº t∩ thσ ì
  457.         'CORRECTº prompt)«  
  458.  
  459.                 Versioε 1.░ oµ  RECEIVABLES  ha≤ onσ peculiarity«  Thσ ver∙ ì
  460.         firs⌠ timσ ever¼á yo⌡ pos⌠ invoice≤ t∩ ß particula≥ account¼á yo⌡ ì
  461.         ma∙á ente≥ onl∙ threσ beforσ thσ prograφ asδ yo⌡ whethe≥ yo⌡ wan⌠ ì
  462.         ßá listinτ oµ thσ file«á  Iµ thi≤ i≤ al∞ yo⌡ havσ t∩á post¼á theε ì
  463.         decidσ whethe≥ yo⌡ wan⌠ thσ listing¼ and/o≥ exi⌠ froφ thσ prograφ ì
  464.         a≤ describeΣ below«á  However¼ iµ yo⌡ havσ morσ invoice≤ t∩ post¼ ì
  465.         answe≥á 'Nºá t∩ thσ listinτ prompt¼á anΣ 'Yº t∩ thσá nex⌠á promp⌠ ì
  466.         askinτ whethe≥ yo⌡ wisΦ t∩ pos⌠ t∩ anothe≥ account«  Re-ente≥ thσ ì
  467.         account name when prompted, and continue posting.
  468.  
  469.                 Oncσá yo⌡á havσá posteΣá t∩á ßá giveεá account¼á yo⌡á ma∙ ì
  470.         subsequentl∙á ente≥á a≤ man∙ invoice≤ a≤ yo⌡ desirσá a⌠á an∙á onσ ì
  471.         time«   RECEIVABLES  wil∞ no⌠ permi⌠ scrollinτ oµ thσ screeε durinτ ì
  472.         entr∙ oµ thσ information«  Wheε thσ screeε i≤ full¼ i⌠ wil∞ clea≥ ì
  473.         thσ screen¼á rewritσ thσ prompts¼á anΣ repositioε thσ cursor¼ fo≥ ì
  474.         you to continue.
  475.  
  476.                 Wheε yo⌡ havσ finisheΣ enterinτ al∞ thσ invoice≤ yo⌡ havσ ì
  477.         fo≥ ß particula≥ account¼á ente≥ ß  '00'  fo≥ thσ month¼ ß carriagσ ì
  478.         return¼á anΣ ß carriagσ returε fo≥ thσ day¼ year¼ invoicσ number¼ ì
  479.         anΣ purchasσ orde≥ number«á  Ente≥ ß  '0'  fo≥ thσ amoun⌠ anΣ ß  'Y'  ì
  480.         fo≥ 'CORRECT'«  Thσ prograφ wil∞ theε prompt
  481.  
  482.                       DO YOU WANT A LISTING OF THE FILE? Y/N 
  483.  
  484.         Iµ yo⌡ sa∙ 'Y'¼ i⌠ wil∞ asδ whethe≥ yo⌡ wan⌠ ß 'HARDCOPY'«  ┴ 'Yº ì
  485.         wil∞á causσá thσ prograφ t∩ lis⌠ thσ filσ (includinτ thσá curren⌠ ì
  486.         balance⌐ oε you≥ printer«á Aε 'Nº wil∞ causσ thσ prograφ t∩á lis⌠ ì
  487.         thσá filσ anΣ balancσ oε you≥ CRT«á  A≤ usual¼á scrollinτ wil∞ bσ ìè
  488.  
  489.                                          3 
  490.  
  491.  
  492.  
  493.  
  494.  
  495.           
  496.  
  497.  
  498.         inhibited¼á anΣá wheε thσ screeε i≤ full¼á yo⌡ wil∞ bσá askeΣá t∩ ì
  499.         ente≥á ß carriagσ returε t∩ continue«á  Iµ therσ i≤ morσ thaε onσ ì
  500.         pagσ oµ listing¼á thσ page≤ arσ numbered«á  Iε addition¼á thσ ac-ì
  501.         coun⌠ namσ anΣ addres≤ i≤ printeΣ o≥ displayeΣ a⌠ thσ to≡ oµá thσ ì
  502.         firs⌠á page«á  Thσá balancσ i≤ writteε a⌠ thσ bottoφ oµ thσá las⌠ ì
  503.         pagσ oµ thσ statement«  Credit≤ arσ clearl∙ identified.
  504.  
  505.                 Afte≥ thσ listinτ i≤ complete¼ o≥ iµ yo⌡ havσ decideΣ no⌠ ì
  506.         t∩á lis⌠ thσ file¼á thσ prograφ wil∞ asδ yo⌡ whethe≥ yo⌡ wisΦá t∩ ì
  507.         pos⌠ invoice≤ t∩ anothe≥ account«á  Iµ yo⌡ do¼á ente≥ ß 'Y'¼á anΣ ì
  508.         thσá accoun⌠á namσ wheε askeΣ t∩ d∩ so«á  Iµ yo⌡ d∩ no⌠á wisΦá t∩ ì
  509.         ente≥ an∙ furthe≥ invoices¼á ente≥ aε 'N'¼á anΣ thσ prograφá wil∞ ì
  510.         exi⌠ t∩ thσ CP/═ operatinτ system«  
  511.  
  512.                 Iµáá yo⌡á havσá selecteΣá men⌡á optioεá tw∩á (generatσá ß ì
  513.         statement)¼ thσ prograφ will¼ afte≥ promptinτ yo⌡ fo≥ thσ accoun⌠ ì
  514.         name¼ anΣ whethe≥ i⌠ i≤ ß ne≈ account¼ asδ yo⌡ fo≥ thσ month¼ da∙ ì
  515.         anΣá yea≥ oµ thσ statement«á  Ente≥ thi≤ informatioε NUMERICALLYí  ì
  516.         Fo≥ example¼á iµ thσ datσ oµ thσ statemen⌠ i≤ Septembe≥ 5¼á l981¼ ì
  517.         ente≥  '09º carriagσ return¼á '05º carriagσ return¼ '81º carriagσ ì
  518.         return«á   RECEIVABLES  use≤ thi≤ datσ t∩ generatσ thσ extensioε oµ ì
  519.         thσ monthl∙ filσ (a≤ describeΣ above╗á e.g«á B:0003. SEP )¼á anΣ a≤ ì
  520.         the date for the 'PRIOR BALANCE' written to the .INV file.
  521.  
  522.                 A≤á witΦ thσ firs⌠ optioε (postinτ t∩á aεá account)¼á yo⌡ ì
  523.         ma∙ eithe≥ lis⌠ thσ statemen⌠ oε thσ CRT¼á o≥ prin⌠ thσ statemen⌠ ì
  524.         on your printer. 
  525.  
  526.                 Afte≥ thσ prograφ generate≤ thσ statement¼ yo⌡ wil∞ agaiε ì
  527.         havσ thσ opportunit∙ t∩ eithe≥ generatσ additiona∞ statement≤ fo≥ ì
  528.         othe≥ accounts¼ o≥ exi⌠ t∩ thσ CP/═ operatinτ system« 
  529.  
  530.  
  531.                 D╧ NO╘ FORGE╘ THA╘ TH┼ .IN╓ FIL┼ I╙ RE-WRITTE╬ EAC╚á TIM┼ ì
  532.         ┴á STATEMEN╘ I╙ GENERATED«á  Thσ informatioε i≤ no⌠ lost«á  I⌠ i≤ ì
  533.         writteε int∩ thσ accoun⌠ filσ witΦ aε extensioε representinτá thσ ì
  534.         firs⌠á threσá letter≤á fo≥á thσ montΦá oµá thσá statement«á  Als∩ ì
  535.         remembe≥ tha⌠ thσ .NAD¼á .IN╓ anΣ monthl∙ filσ arσ al∞ maintaineΣ ì
  536.         oε thσ  'B'  drive.
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.                                          4 
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564. THIS DISKETTE CONTAINS THE FOLLOWING FIVE DIFFERENT FILES:
  565.  
  566. 1) ANDMSK.SRC- AN EXTERNAL FUNCTION WHICH WILL DO A BIT-BY-BIT
  567.     LOGICAL 'AND' FUNCTION OF ITS TWO INTEGER ARGUMENTS.
  568.  
  569. 2) COMPARE.*- A PROGRAM WHICH WILL DO A  COMPARE OF TWO  DIFFERENT 
  570.     FILES AND LOG THE DIFFERENCES IN A THIRD FILE. ( NOTE THAT
  571.     CHARACTER COUNT IS IN DECIMAL WHILE THE CHARACTERS ARE 
  572.     IN HEXADECIMAL. )
  573.  
  574.     I CREATED THIS PROGRAM AFTER I USED THE CK.COM FILE FROM A
  575.     PREVIOUS USER'S GROUP DISK BECAUSE THE CK PROGRAM SAID THE TWO
  576.     FILES WERE THE SAME. MY PROGRAM SAID AN ENTIRE SECTOR WAS BAD.
  577.     ( I'D LIKE TO SEE THE SOURCE OF THAT PROGRAM AND FIND OUT WHY
  578.     THE ALGORITHM DIDN'T FIND SUCH AN OBVIOUS PROBLEM).
  579.  
  580. 3) EXORG.SRC- AN EXTERNAL FUNCTION THAT WILL RETURN THE ADDRESS OF
  581.     THE ARGUMENT VARIABLE. VERY USEFUL FOR DMA TO GET AN ARRAY'S
  582.     ADDRESS.
  583.  
  584. 4) ORMSK.SRC- AN EXTERNAL FUNCTION THAT WILL RETURN A LOGICAL
  585.     BIT-BY-BIT 'OR' OF THE TWO INTEGER ARGUMENTS.
  586.  
  587. 5) REMOTE.SRC- AN EXTERNAL PROCEDURE DESIGNED TO BE USED WITH THE
  588.     SCITRONICS/BSR HOME REMOTE CONTROL UNITS. ONE INPUTS THE
  589.     HOUSE CODE, UNIT CODE AND THE FUNCTION TYPE AND THIS PROCEDURE
  590.     WILL PERFORM THE FUNCTION THRU THE SCITRONICS CONTROLLER.
  591.