home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug027.arc / PEDIGREE.DOC < prev    next >
Text File  |  1979-12-31  |  13KB  |  316 lines

  1. .mt0
  2.                      PEDIGREE DOCUMENTATION
  3.  
  4.                           INTRODUCTION
  5.  
  6. ╔ wrotσ thi≤ prograφ t∩ hel≡ m∙ breedinτ plaε fo≥ m∙ rabbits¼ ye≤ ì
  7. rabbits«  ╔ founΣ usinτ card≤ diΣ no⌠ sui⌠ mσ o≥ tel∞ mσ thσ ì
  8. information I required.  I needed to know:
  9.  
  10.      1.   Which Buck had been mated with which Doe.
  11.      2.   How many offspring occurred from the mating.
  12.      3«   Thσ Datσ oµ thσ las⌠ matinτ anΣ thσ lengtΦ oµ timσ iε ì
  13.           days.
  14.      4.   The pedigree of any of the rabbits.
  15.  
  16.  
  17. Thσ prograφ wa≤ writteε t∩ sui⌠ thesσ needs«  Thσ prograφ doe≤ ì
  18. havσ onσ DELIBERAT┼ error«  Thi≤ i≤ iε thσ agσ routine«  ╔ ì
  19. requireΣ t∩ kno≈ ho≈ olΣ aε anima∞ wa≤ iε days¼ bu⌠ founΣ tha⌠ ì
  20. afte≥ ß yea≥ thσ day≤ becamσ to∩ biτ s∩ ╔ decideΣ t∩ dividσ i⌠ ì
  21. int∩ week≤ anΣ years«  ╔ diΣ no⌠ usσ month≤ a≤ the∙ arσ oµ ì
  22. differen⌠ length≤ s∩ no⌠ exac⌠ enough«  ╔ dividσd thσ yea≥ int∩ ì
  23. 5▓ week≤ whicΦ i≤ onσ o≥ tw∩ day≤ short«  Iµ thi≤ i≤ no⌠ gooΣ ì
  24. enough it should be easy enough to fix and recompile.
  25.  
  26.  
  27. Therσ arσ tw∩ program≤ PED▒ anΣ PED2«  The∙ botΦ d∩ thσ samσ job«  ì
  28. PED▒ i≤ totall∙ writteε b∙ me¼ PED▓ use≤ TURB╧ TOO╠ BOX«  Thσ onl∙ ì
  29. differencσ iε operatioε i≤ tha⌠ PED▒ need≤ t∩ bσ SORTE─ wherσ ì
  30. PED2 is indexed.
  31.  
  32.  
  33.                    ******* SCRATCH PAD *******
  34.  
  35. Thσ prograφ relie≤ oε ever∙ anima∞ havinτ ß distinc⌠ number«  ┴ ì
  36. numbe≥ oµ othe≥ program≤ ruε thi≤ wa∙ anΣ requirσ yo⌡ t∩ ente≥ ì
  37. thi≤ numbe≥ wheε yo⌡ wan⌠ somσ information«  A≤ ╔ finΣ i⌠ harΣ t∩ ì
  38. kee≡ al∞ thσ number≤ iε m∙ heaΣ ╔ woulΣ havσ t∩ writσ theφ dowε ì
  39. oε ß piecσ oµ paper«  ╔ wanteΣ thσ prograφ t∩ kee≡ tracδ oµ thesσ ì
  40. number≤ fo≥ mσ s∩ ╔ usσ ß scratcΦ paΣ whicΦ i≤ madσ u≡ oµ thσ ì
  41. bottom 6 lines on the screen.
  42.  
  43. Thi≤ scratcΦ paΣ hold≤ thσ animal'≤ number¼ namσ anΣ sex«  Therσ ì
  44. are 3 ways to get this information into the scratch pad.
  45.  
  46.  
  47. 1«   Wheε yo⌡ havσ finisheΣ enterinτ ß ne≈ anima∞ anΣ presseΣ ì
  48. <ESC╛ yo⌡ wil∞ bσ askeΣ iµ yo⌡ wan⌠ thσ anima∞ entered«  Iµ yo⌡ ì
  49. do¼ al∞ yo⌡ neeΣ d∩ i≤ pres≤ onσ oµ thσ number≤ betweeε ▒ anΣ ╢ ì
  50. anΣ thσ anima∞ wil∞ bσ placeΣ besidσ tha⌠ numbe≥ iε thσ scratcΦ ì
  51. pad«  I⌠ i≤ quitσ possiblσ t∩ pres≤ al∞ si° number≤ anΣ havσ thσ ì
  52. same animal listed six times.
  53.  
  54.  
  55. 2«   Wheε yo⌡ usσ thσ finΣ command  yo⌡ caε finΣ aε anima∞ witΦ ì
  56. eithe≥ thei≥ namσ o≥ number«  Iµ thσ anima∞ i≤ founΣ yo⌡ wil∞ bσ ì
  57. askeΣ iµ yo⌡ wan⌠ t∩ DELET┼ it¼ EDI╘ it¼ o≥ pu⌠ i⌠ iε thσ scratcΦ ì
  58. pad«  Agaiε al∞ yo⌡ neeΣ d∩ i≤ pres≤ ß numbe≥ betweeε ▒ anΣ ╢ t∩ ì
  59. enter it.è
  60. 3«   Wheε usinτ thσ LIS╘ optioε yo⌡ caε movσ aε arro≈ u≡ anΣ ì
  61. dowε thσ screeε pointinτ t∩ thσ differen⌠ animals«  B∙ pressinτ ì
  62. onσ oµ thσ number≤ betweeε ▒ anΣ ╢ tha⌠ anima∞ wil∞ bσ entereΣ ì
  63. into the scratch pad.
  64.  
  65.  
  66.                     ******* COMMANDS *******
  67.  
  68.                           U    Update
  69.      ááááááááááááááááááááá╠    List
  70.      ááááááááááááááááááááá╞    Family
  71.      ááááááááááááááááááááá╨    Pedigree
  72.      ááááááááááááááááááááá╙    Sor⌠ (PED▒ only)
  73.  
  74.  
  75.                      ******* UPDATE *******
  76.  
  77. Upoε enterinτ thi≤ sectioε yo⌡ arσ presenteΣ witΦ thσ form belowì
  78. anΣ ß questioε whethe≥ t∩ AD─ ß ne≈ recorΣ o≥ FIN─ an olΣ ì
  79. record.  
  80.  
  81.       Animal Number : _____            Name : ____________________   Sex : _ 
  82.                Born : __ ___ 19__      Current Age :                         
  83.                Died : __ ___ 19__                          
  84.                Sire :                                      
  85.                Dam  :                                      
  86.  
  87.   Comment 1  : ________________________________________    
  88.   Comment 2  : ________________________________________    
  89.   Comment 3  : ________________________________________    
  90.                     The following is used for Females only.
  91. Date of Last Mating : __ ___ 19__                Sire :    
  92.  
  93.  
  94.                   ******* CONTROL KEYS: *******
  95.  
  96. While entering data you can use the following control keys.
  97.  
  98. áááááThσ sessioε caε bσ aborteΣ a⌠ an∙ timσ witΦ ß ^┌ o≥ saveΣ ì
  99. áááááwitΦ thσ ESC.
  100. áááááYo⌡ caε ste≡ througΦ thσ forφ witΦ ^┼ anΣ ^╪ o≥ thσ TA┬ key.
  101.      ^┘ wil∞ deletσ froφ thσ curso≥ t∩ thσ enΣ oµ line«  
  102.      ^G will delete the letter it is on. 
  103.      ^S will move the cursor back one letter.
  104.      ^D will move the cursor forward one letter.
  105.      ^A will move the cursor to the start of the line.
  106.      ^F will move the cursor to the last letter in the line.
  107.  
  108. áááááYo⌡ caε inser⌠ oε mos⌠ oµ thσ line«  A≤ sooε a≤ thσ curso≥ ì
  109. ááááái≤ a⌠ thσ enΣ oµ thσ linσ i⌠ goe≤ t∩ thσ nex⌠ item.
  110.  
  111.  
  112. .paè                       ******* ADD *******
  113.  
  114. Thi≤ i≤ wherσ al∞ thσ informatioε i≤ entered«  
  115.  
  116. Animal Number: EacΦ Anima∞ mus⌠ havσ ß differen⌠ I─ number«  Thi≤ ì
  117. ááááááááááááááácaε bσ ASCI╔ o≥ ß numbe≥ o≥ both«  Thσ prograφ ì
  118. ááááááááááááááácheck≤ fo≥ duplicatσ number≤ anΣ iµ founΣ yo⌡ arσ ì
  119. ááááááááááááááánotified.
  120.  
  121. Name:          The animal can have any name you so desire.
  122.  
  123. Sex:           This can only be F or M 
  124.  
  125. Born:          Thσ datσ routinσ i≤ ver∙ stric⌠ iε tha⌠ i⌠ wil∞ ì
  126. áááááááááááááááno⌠ le⌠ yo⌡ pas≤ unles≤ thσ datσ i≤ valid«  Thσ ì
  127. ááááááááááááááádatσ i≤ entereΣ a≤ 1▒ NO╓ 1986«  Thσ montΦ routinσ ì
  128. áááááááááááááááwil∞ onl∙ accep⌠ a≤ ß firs⌠ lette≥ thosσ oµ thσ ì
  129. ááááááááááááááácalendar yea≥ s∩ ╪ i≤ rejected«  A≤ therσ i≤ onl∙ ì
  130. áááááááááááááááonσ montΦ startinτ witΦ N¼ a≤ sooε a≤ yo⌡ pres≤ i⌠ ì
  131. áááááááááááááááthe OV is printed for you.
  132.  
  133. Died:          As above.
  134.  
  135. Age║           Thi≤ i≤ workeΣ ou⌠ fo≥ you«  Iµ thσ anima∞ i≤ ì
  136. ááááááááááááááástil∞ alivσ thσ agσ i≤ workeΣ ou⌠ froφ Borε anΣ ì
  137. áááááááááááááááthσ datσ yo⌡ entereΣ oε startinτ thσ program«  Iµ ì
  138. áááááááááááááááthe animal is dead then it uses the Died date.
  139.  
  140. Sire and Dam:  Thesσ arσ entereΣ b∙ pressinτ ß numbe≥ betweeε ▒ ì
  141. áááááááááááááááanΣ ╢ whicΦ correspond≤ t∩ thσ Sirσ o≥ Daφ iε thσ ì
  142. áááááááááááááááscratcΦ pad«  Thσ namσ i≤ theε displayeΣ iε thσ ì
  143. ááááááááááááááácorrec⌠ place«  Iµ yo⌡ d∩ no⌠ kno≈ thσ parent≤ ì
  144. ááááááááááááááájus⌠ pres≤ returε anΣ U╬KNOW╬ MAL┼ anΣ UNKNOW╬ ì
  145. áááááááááááááááFEMALE will be entered for you.
  146.  
  147.  
  148. Comment 1:     Commen⌠ ▒ ▓ anΣ │ arσ therσ t∩ d∩ wha⌠ yo⌡ likσ ì
  149. áááááááááááááááwith«  Afte≥ Commen⌠ │, thσ curso≥ wil∞ returε t∩ ì
  150. áááááááááááááááAnima∞ Numbe≥ unles≤ i⌠ i≤ ß Femalσ theε yo⌡ wil∞ ì
  151. ááááááááááááááábσ takeε t∩ Datσ Las⌠ Mated.
  152.  
  153. Datσ Las⌠ Mated║  Wheε ß datσ i≤ entereΣ iε thi≤ section¼ thσ ì
  154. ááááááááááááááánex⌠ timσ yo⌡ looδ a⌠ thσ recorΣ thσ numbe≥ oµ ì
  155. ááááááááááááááádays will be displayed.
  156.  
  157. Mate║          Thi≤ i≤ agaiε entereΣ viß thσ scratcΦ areß ì
  158.                numbers.
  159.  
  160. Afte≥ aε Anima∞ ha≤ beeε addeΣ i⌠ caε bσ addeΣ t∩ thσ scratcΦ ì
  161. pad.  It can then also be edited.
  162.  
  163.  
  164. .paè                      ******* FIND *******
  165.  
  166. Yo⌡ caε finΣ aε Anima∞ b∙ eithe≥ it≤ numbe≥ o≥ name«  Iµ usinτ ì
  167. PED▒ thσ anima∞ numbe≥ i≤ bes⌠ wa∙ fo≥ ß biτ filσ a≤ i⌠ use≤ ß ì
  168. binar∙ searcΦ oε thσ file«  Thi≤ mean≤ thσ numbe≥ caε bσ locateΣ ì
  169. withiε 1░ look≤ oµ ß 100░ animal≤ file« Thσ filσ MUS╘ bσ iε thσ ì
  170. correc⌠ sorteΣ order«  Wheε lookinτ fo≥ ß Namσ i⌠ ha≤ t∩ reaΣ anΣ ì
  171. comparσ eacΦ record« I⌠ als∩ look≤ fo≥ aε exac⌠ match¼ uppe≥ anΣ ì
  172. lowe≥ case«  Iµ usinτ PED▓ i⌠ doe≤ no⌠ matte≥ a≤ i⌠ i≤ indexeΣ oε ì
  173. botΦ Numbe≥ anΣ Name«  I⌠ wil∞ als∩ matcΦ looδ alikσ name≤ iε ì
  174. eithe≥ uppe≥ o≥ lowe≥ case«  Thσ inde° oε thσ name≤ i≤ kep⌠ iε ì
  175. uppe≥ casσ anΣ you≥ namσ entr∙ i≤ converteΣ t∩ uppe≥ casσ fo≥ ì
  176. thσ search«  Thσ namσ kep⌠ iε thσ filσ caε bσ eithe≥ uppe≥ o≥ ì
  177. lower case or a combination.
  178.  
  179. When the animal is found you can do three things with it.
  180.  
  181. 1«   DELET┼ it«  Al∞ yo⌡ neeΣ t∩ d∩ i≤ pres≤ ─ anΣ thσ anima∞ i≤ ì
  182. gone«  Iε PED▒ thσ animal'≤ numbe≥ i≤ changeΣ t∩ CLEA╥ anΣ i≤ no⌠ ì
  183. trul∙ deleteΣ unti∞ thσ filσ i≤ SORTED«  Iε PED▓ thσ indexe≤ arσ ì
  184. updated so as to remove reference of the animal from them.
  185.  
  186. 2«   EDI╘ it«  B∙ pressinτ ┼ thσ curso≥ wil∞ bσ placeΣ iε thσ ì
  187. Anima∞ Numbe≥ sectioε oµ thσ screen«  B∙ usinτ thσ contro∞ key≤ ì
  188. yo⌡ caε ste≡ througΦ thσ recorΣ changinτ ANYTHIN╟ yo⌡ like«  Iµ ì
  189. yo⌡ changσ thσ animal'≤ number¼ thi≤ wil∞ bσ checkeΣ t∩ seσ iµ yo⌡ ì
  190. arσ duplicatinτ it«  Iµ yo⌡ havσ thσ prograφ wil∞ no⌠ allo≈ yo⌡ ì
  191. t∩ savσ thσ recorΣ unti∞ thσ numbe≥ i≤ changed«  Yo⌡ caε abor⌠ ì
  192. witΦ ^┌ a⌠ an∙ timσ and thσ olΣ recorΣ stay≤ intact«  Wheε yo⌡ ì
  193. savσ thσ editeΣ record¼ iµ yo⌡ havσ changeΣ an∙ oµ thσ ì
  194. informatioε tha⌠ i≤ displayeΣ iε thσ scratcΦ pad¼ anΣ thσ anima∞ ì
  195. is in the scratch pad, the new information will be displayed.
  196.  
  197. 3«   Ente≥ i⌠ int∩ thσ scratcΦ pad«  I⌠ i≤ alway≤ ß gooΣ ideß t∩ ì
  198. ente≥ i⌠ int∩ thi≤ areß beforσ editing«  Iµ somethinτ goe≤ wronτ ì
  199. i⌠ i≤ ver∙ quicδ t∩ abor⌠ anΣ theε cal∞ i⌠ u≡ agaiε froφ thσ ì
  200. scratch pad.
  201.  
  202.  
  203.                       ******* LIST *******
  204.  
  205. Thσ Lis⌠ commanΣ onl∙ list≤ al∞ thσ animal≤ iε thσ orde≥ the∙ arσ ì
  206. iε thσ file«  Iµ thσ filσ i≤ sorteΣ theε thσ anima∞ number≤ wil∞ ì
  207. bσ iε correc⌠ order«  Yo⌡ havσ thσ optioε oµ statinτ thσ startinτ ì
  208. numbe≥ anΣ whethe≥ yo⌡ wan⌠ thσ lis⌠ t∩ Screeε o≥ Printer«  Thσ ì
  209. Printe≥ optioε doe≤ no⌠ worδ oε singlσ sheet«  Oε thσ screeε thσ ì
  210. lis⌠ wil∞ sto≡ wheε therσ i≤ ß screeε full«  Yo⌡ caε theε usσ ^┼ ì
  211. o≥ ^╪ t∩ movσ ß pointe≥ u≡ anΣ dowε thσ screeε t∩ poin⌠ t∩ thσ ì
  212. anima∞ yo⌡ requireΣ iε thσ scratcΦ pad«  Yo⌡ theε pres≤ thσ ì
  213. required number.
  214.  
  215.  
  216. .paè                    ******* PEDIGREE *******
  217.  
  218. T∩ usσ thσ pedigreσ optioε yo⌡ neeΣ t∩ firs⌠ havσ aε anima∞ iε ì
  219. thσ scratcΦ pad«  Wheε firs⌠ enterinτ thσ optioε yo⌡ wil∞ bσ ì
  220. askeΣ whethe≥ yo⌡ wan⌠ thσ displa∙ oε thσ screeε o≥ printer«  ì
  221. Afte≥ selectinτ you≥ requireΣ optioε yo⌡ pres≤ thσ numbe≥ ì
  222. correspondinτ t∩ thσ anima∞ yo⌡ wan⌠ thσ pedigreσ on«  Therσ wil∞ ì
  223. bσ ß sligh⌠ dela∙ beforσ thσ char⌠ i≤ displayeΣ iε tw∩ forms«  ì
  224. Thσ firs⌠ wa∙ i≤ thσ standarΣ pedigreσ layou⌠ anΣ theε follow≤ ì
  225. thσ TAFE╠ method«  The Pedigree lists the last 4 generations.
  226.  
  227.  
  228.                      ******* FAMILY *******
  229.  
  230. T∩ usσ thσ family optioε yo⌡ neeΣ t∩ firs⌠ havσ aε anima∞ iε ì
  231. thσ scratcΦ pad«  Wheε firs⌠ enterinτ thσ optioε yo⌡ wil∞ bσ ì
  232. askeΣ whethe≥ yo⌡ wan⌠ thσ displa∙ oε thσ screeε o≥ printer«  ì
  233. Afte≥ selectinτ you≥ requireΣ optioε yo⌡ pres≤ thσ numbe≥ ì
  234. correspondinτ t∩ thσ anima∞ yo⌡ wan⌠ thσ famil∙ listinτ on«  ì
  235. Therσ wil∞ bσ ß sligh⌠ dela∙ a≤ thσ filσ i≤ read¼ then iµ thσ ì
  236. anima∞ i≤ ß Sire¼ eacΦ Daφ tha⌠ ha≤ beeε mateΣ witΦ i⌠ wil∞ bσ ì
  237. displayeΣ witΦ thσ offspring«  Thi≤ wil∞ als∩ worδ fo≥ ß Dam¼ ì
  238. listinτ al∞ thσ Sire≤ shσ ha≤ beeε mateΣ witΦ anΣ thσ offspring.
  239.  
  240.  
  241.  
  242.                     ******* COMPILING *******
  243.  
  244. PED1 is straight forward. You need the include files 
  245.  
  246. {$I CONST.INC}
  247. {$I VARIABLE.INC}   {Types and variables}
  248. {$I GENERAL1.INC}   {General purpose routines}
  249. {$I AGE.INC}        {Age routine}
  250. {$I GENERAL2.INC}   {Find_Ear, Display_Form, Display_Rabbit,  
  251.                      F_Table InputStr}
  252. {$I DATE.INC}       {Date input routine}
  253. {$I PRINTER.INC}    {Printer routine for 12 & 13 }
  254. {$I START.INC}      {Startup of Program}
  255. {$I INPUT.INC}      {Update starts here. InputRabbit routine}
  256. {$I EDIT.INC}       {Edit routine}
  257. {$I UPDATE.INC}     {Update Main includes Add and Find routines}
  258. {$I SORT.INC}       {Sort routine}
  259. {$I FAMILY.INC}     {Family Display}
  260. {$I PEDIGREE.INC}   {Pedigree Display}
  261. {$I LIST.INC}       {List routine}
  262. {$I MAIN.INC}       {Main program}
  263.  
  264. The program should compile without any problems.
  265. .paèFor PED2 you will need the following include files.
  266.  
  267. {$I TTCONST.INC}    {Consts for Tool Box}
  268. {$I ACCESS.BOX}     {Turbo Tool Box}
  269. {$I GETKEY.BOX}     {Turbo Tool Box}
  270. {$I ADDKEY.BOX}     {Turbo Tool Box}
  271. {$I DELKEY.BOX}     {Turbo Tool Box}
  272. {$I TTVAR.INC}      {Types and variables}
  273. {$I GENERAL1.INC}   {General purpose routines}
  274. {$I AGE.INC}        {Age routine}
  275. {$I TTGEN2.INC}     {Display_Form, Display_Rabbit,  F_Table InputStr}
  276. {$I TTDATE.INC}     {Date input routine}
  277. {$I PRINTER.INC}    {Printer routine for TTFAMILY & TTPED }
  278. {$I TTINPUT.INC}    {Update starts here. InputRabbit routine}
  279. {$I TTEDIT.INC}     {Edit routine}
  280. {$I TTUPDATE.INC}   {Update Main includes Add and Find routines}
  281. {$I TTSTART.INC}    {Startup of Program}
  282. {$I TTFAMILY.INC}   {Family Display}
  283. {$I TTPED.INC}      {Pedigree Display}
  284. {$I TTLIST.INC}     {List routine}
  285. {$I TTMAIN.INC}     {Main program}
  286.  
  287. Yo⌡ wil∞ noticσ tha⌠ yo⌡ neeΣ Turb∩ Too∞ Bo° (no⌠ included⌐ t∩ ì
  288. compilσ thi≤ version«  Thσ too∞ bo° als∩ need≤ ß sligh⌠ ì
  289. modificatioε s∩ tha⌠ yo⌡ finisΦ witΦ ▓ overlays«  Withou⌠ thσ ì
  290. modification¼ i⌠ wil∞ stil∞ compilσ bu⌠ yo⌡ wil∞ finisΦ witΦ │ ì
  291. overlays«  Thσ firs⌠ overla∙ wil∞ onl∙ holΣ ß ver∙ smal∞ bi⌠ oµ ì
  292. code so is wasteful.
  293.  
  294. Al∞ oµ ADDKEY.BO╪ anΣ DELKEY.BO╪ arσ overlayed«  Thi≤ mean≤ tha⌠ ì
  295. thσ worΣ OVERLA┘ need≤ t∩ bσ typeΣ iε fron⌠ oµ thesσ procedures«  ì
  296. Thσ GETKEY.BO╪ i≤ furthe≥ modifieΣ iε aεothe≥ way«  Yo⌡ neeΣ t∩ ì
  297. movσ thσ Procedurσ TaFindke∙ t∩ thσ star⌠ oµ thσ box«  Thσ ì
  298. TaFindke∙ procedurσ i≤ no⌠ overlayed«  Thσ res⌠ oµ thσ bo° ISì
  299. overlayed.
  300.  
  301.  
  302.                      ******* ERRORS *******
  303.  
  304. Thσ onl∙ erro≥ ╔ kno≈ of i≤ iε thσ agσ routine«  Thi≤ ha≤ beeε ì
  305. discussed previously.
  306.  
  307. Iµ anybod∙ ha≤ an∙ idea≤ tha⌠ wil∞ improvσ thσ prograφ ╔ woulΣ bσ ì
  308. pleased to hear from you.
  309.  
  310.                            P. Billing
  311. áááááááááááááááááááááááááááR.M.B«  1240
  312. áááááááááááááááááááááááááááYINNA╥  3869
  313. áááááááááááááááááááááááááááAUSTRALIA.
  314. ááááááááááááááááááááááááááá(051⌐ 6╣ 1629
  315.  
  316.