home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / F / PERFLESS.ARK / LESSON7.PC < prev    next >
Text File  |  1989-09-27  |  13KB  |  187 lines

  1. >a3:"                 LESSON7 -- Using Associated Files
  2. >a6:"       Throughout these lessons we have seen how two separate files 
  3. >a7:" can be displayed simultaneously to the screen.  This capability is made
  4. >a8:" possible by Perfect Calc's unique system of 'multiple buffers', which
  5. >a9:" allows more than one spreadsheet to be held in machine memory at one
  6. >a10:" time.  As we have mentioned, up to seven associated spreadsheets can be
  7. >a11:" active simultaneously, permitting us to switch back and forth between
  8. >a12:" them with ease, copying and sharing data as needed (this feature is
  9. >a13:" only available with Perfect Calc!).
  10. >a15:"       In this lesson we are going to examine how spreadsheets can be
  11. >a16:" linked together and made to share data--a feature we are sure you will
  12. >a17:" agree represents one of the most remarkable advances ever to appear
  13. >a18:" in personal computer software.  For the first time, a powerful set of
  14. >a19:" programming tools are available to the typical personal computer user
  15. >a20:" in a 'natural language'.  With this feature you will find yourself
  16. >a21:" doing programming without ever knowing that you are!
  17. >a24:"       When a spreadsheet is copied from disk to machine memory, it is
  18. >a25:" placed in a temporary work space called a 'buffer', which serves to 
  19. >a26:" isolate it from other spreadsheets and internal program functions.  
  20. >a27:" Thus, changes and recalculations made to a spreadsheet in one buffer
  21. >a28:" do not affect files held in other buffers, a necessary condition if 
  22. >a29:" the integrity of spreadsheet files is to be maintained.
  23. >a31:"       However, sometimes it is desireable or even necessary to have
  24. >a32:" spreadsheets work together sharing both functions and data.  For
  25. >a33:" example, if we are preparing a tax report, it might be convenient if 
  26. >a34:" the 'tax' spreadsheet could directly reference positions on other
  27. >a35:" spreadsheets that calculate our income, net worth, etc.,  thus elimin-
  28. >a36:" ating the need for manual transfer of data.
  29. >a38:"       Perfect Calc provides a means of doing this through a process
  30. >a39:" called 'linking' or 'associating' files.
  31. >a45:"  Consider the following formula:   b17 = b18 + income[c6]
  32. >a46:"  
  33. >a47:"       This formula instructs Perfect Calc to calculate the sum of two
  34. >a48:" variables, one of which is held in the current buffer and one in a
  35. >a49:" buffer called 'income'.  When calculating this formula,  Perfect Calc
  36. >a50:" will go to the spreadsheet in the buffer 'income' and retrieve whatever
  37. >a51:" value is located in position 'c6', afterwards returning to complete 
  38. >a52:" the calculation in the current buffer.  (Note the syntax of the cross-
  39. >a53:" reference:  the variable is enclosed in square brackets and follows
  40. >a54:" immediately after the name of the buffer containing it.)
  41. >a56:"       The referenced buffer must exist (i.e.  be active in memory) and
  42. >a57:" must hold the correct spreadsheet.  If it does not, the formula will
  43. >a58:" either compute to 'Error!' or produce a faulty value.
  44. >a59:"       However, more is needed than just cross-references between the
  45. >a60:" spreadsheet files.  Spreadsheets which reference each other must be
  46. >a61:" 'linked' or 'associated' in such a way that a recalculation in one
  47. >a62:" automatically causes a recalculation in the other.  Otherwise data in
  48. >a63:" the non-current spreadsheet may become outdated, if it is not regularly
  49. >a64:" updated by switching to it and forcing a recalculation.  Remember, a
  50. >a65:" recalculation normally affects only the spreadsheet in the current 
  51. >a66:" buffer, and no other.
  52. >a68:"       Perfect Calc provides a means of doing this through its 
  53. >a69:" ASSOCIATE FILES Command, which will link the files such that a recalcu-
  54. >a70:" lation in one will cause a recalculation in all.
  55. >a72:"       Linked or associated files exist in a special 'dependency' to
  56. >a73:" each other.  The first file (considered the master file) is dependent
  57. >a74:" upon the file, or files, which follow it.  Dependency means that the
  58. >a75:" files are recalculated in a specific order:  that is, the 'depended-on'
  59. >a76:" files are always recalculated BEFORE those files which depend on them
  60. >a77:" are recalculated.
  61. >a79:" HOW TO LINK FILES
  62. >a81:"       Given several files which reference each other, you would place
  63. >a82:" the cursor in the file which would depend on all the other files, and
  64. >a83:" type:
  65. >a84:"                         Control--x  a
  66. >a86:"       Perfect Calc would respond with the message:
  67. >a88:"                         "Associate file:  <CR>  "
  68. >a89:"       You would then type the name of the first file which the current
  69. >a90:" file would 'depend on', and which would have to be recalculated before
  70. >a91:" the current file is recalculated.
  71. >a93:"       Perfect Calc would 'associate' the two files and switch you to
  72. >a94:" the file that you have just named.  If this second file depends on yet
  73. >a95:" a third file, you would give the ASSOCIATE FILES Command again, linking
  74. >a96:" the third file to the second.  Up to seven spreadsheets may be linked
  75. >a97:" consecutively in this way.
  76. >a99:"       To preserve the 'associative' links you must save each file in
  77. >a100:" turn, using the SAVE FILE Command  (Control--x  Control--s).
  78. >a102:"      When reading such a chain of linked files into memory, either when
  79. >a103:" beginning Perfect Calc or by using the FIND FILE Command, you have only
  80. >a104:" to name the first file in the chain.  Perfect Calc will automatically
  81. >a105:" read the remaining linked files without your having to specify them.
  82. >a107:"       Associated spreadsheets, as we will see shortly, allow us to
  83. >a108:" handle data in ways that previously were not possible.  In the remain-
  84. >a109:" der of this lesson let us examine a set of linked spreadsheets to
  85. >a110:" demonstrate exactly how this feature works.
  86. >a112:"       At this time move the cursor to line  121  and give the CREATE
  87. >a113:" TWO WINDOWS Command  (Control--x  2).
  88. >a115:"       (Do not synchronize the windows.)
  89. >a116:"       Move the cursor to the top window, using the OTHER WINDOW 
  90. >a117:" Command  (Control--x  o ).
  91. >a119:"       Type the FIND FILE Command  (Control--x  Control--f),  followed
  92. >a120:" by the filename:  'b:Rental.pc'.    
  93. >a121:"       In the next few moments Perfect Calc will read into machine
  94. >a122:" memory three separate, but 'linked', files:
  95. >a124:"       1)  'Rental.pc'
  96. >a125:"       2)  'Unit1.pc'
  97. >a126:"       3)  'Unit2.pc'
  98. >a128:"       When the read operation is complete, Perfect Calc will display
  99. >a129:" the 'unit2.pc' file in the top window.  Use the SWITCH BUFFERS Command
  100. >a130:" to go to the first buffer in the chain, 'rental'.
  101. >a131:"       As you can see, 'Rental.pc' is a simple rental property manage-
  102. >a132:" ment program, which calculates the total monthly income generated by
  103. >a133:" various holdings of property, in this case 'Unit1' and 'Unit2' .
  104. >a135:"       Move the cursor to position 'b5' and examine the formula contain-
  105. >a136:" ed there:
  106. >a137:"                     Formula:  unit1[b19]
  107. >a139:"       This tells Perfect Calc to display in position 'b5' whatever
  108. >a140:" value is held in position 'b19' of the spreadsheet buffer 'unit1' .
  109. >a141:"       Let us switch to buffer 'unit1' to see what data is being refer-
  110. >a142:" enced in its spreadsheet.  Use the SWITCH BUFFER Command  
  111. >a143:" (Control--x  b),  followed by the buffer name: 'unit1' .
  112. >a145:"       Perfect Calc switches us to buffer 'unit1' .  The spreadsheet
  113. >a146:" here contains income and expense figures for a three bedroom house, 
  114. >a147:" from which it will calculate a 'Cash Flow' for the property.  Move
  115. >a148:" the cursor to position 'b19', and examine the formula which accomplish-
  116. >a149:" es this:
  117. >a151:"                     Formula:  b8 - (b16 + b18)
  118. >a153:"       This formula instructs Perfect Calc to subtract 'Total Expenses'
  119. >a154:" and 'Mortgage Payment' from 'Monthly Rent', producing a figure that
  120. >a155:" represents either a positive or negative 'Cash Flow'  ('b19').  To see
  121. >a156:" how this value is referenced by the previous spreadsheet, 'rental.pc',
  122. >a157:" enter the following values for January:
  123. >a158:"       Monthly rent:      $550.00          Maintenance:      $35.00
  124. >a159:"       Repairs:            $45.00          Taxes:           $110.75
  125. >a160:"       Insurance:          $12.50          Mortgage:        $350.00 
  126. >a162:"       Perfect Calc automatically calculates 'Total Expenses' and 'Cash
  127. >a163:" Flow'.   Since this file is 'linked' to the file 'Rental.pc' which
  128. >a164:" depends on it, we can assume that a recalculation has already occurred
  129. >a165:" in the other file.  Switch back to the buffer 'Rental' to see what 
  130. >a166:" has happened.  (use Control--X  b     to SWITCH BUFFERS)
  131. >a168:"       As you can see, 'Rental.pc' has automatically referenced a value
  132. >a169:" for January 'Cash Flow' from 'Unit1' and, using this value, has calcu-
  133. >a170:" lated figures for 'YEARLY TOTALS' and 'Monthly Cash Totals'.
  134. >a172:"       Move the cursor to 'b6' of 'Rental.pc' and examine the formula
  135. >a173:" at this position:
  136. >a174:"                        b6 = unit2[b19]
  137. >a176:"       This formula is identical to the previous one, except that its
  138. >a177:" value is taken from the spreadsheet in buffer 'Unit2' .  Switch to
  139. >a178:" this buffer using the SWITCH BUFFER Command  (Control--x  b).  This
  140. >a179:" spreadsheet is identical to the spreadsheet in buffer 'Unit1', except
  141. >a180:" that it calculates rental income for a 'warehouse' .  Enter several
  142. >a181:" sample values in this spreadsheet, afterwards switching back to the 
  143. >a182:" master spreadsheet in buffer 'rental' .
  144. >a184:"       As before, 'rental.pc' has already obtained a 'Cash Flow' value
  145. >a185:" from 'unit2.pc' and has recalculated its formulas accordingly.  
  146. >a187:"       As we mentioned, a particular order of dependency exists between
  147. >a188:" the spreadsheet files, which determines their order of recalculation.
  148. >a189:" This relationship is reflected in the Buffer Directory, which displays
  149. >a190:" the 'links' existing between the spreadsheets.
  150. >a192:"       Move the cursor to the bottom window, using the OTHER WINDOW
  151. >a193:" Command  (Control--x  o ), afterwards typing the CREATE ONE WINDOW
  152. >a194:" Command (Control--x  1).  Now, give the BUFFER DIRECTORY Command:
  153. >a196:"                    Control--x  Control--b
  154. >a198:"       The Buffer Directory will display at the bottom of the screen,
  155. >a199:" overwriting some of this text.  If necessary, scroll the window to
  156. >a200:" erase the directory, or give the REDRAW WINDOW Command (Escape...
  157. >a201:" Control--L ).
  158. >a203:"       In the Buffer Directory 'arrows' indicate the links between 
  159. >a204:" spreadsheets.  'Rental' is linked (i.e. depends on)  'Unit1', which
  160. >a205:" is linked to 'Unit2'.  You should note that we are currently using four
  161. >a206:" different spreadsheets in memory.  Amazing!
  162. >a207:"   {Type  Escape...Control--L}
  163. >a209:"       As you perhaps realize 'Unit1' does not really depend on 'Unit2'.
  164. >a210:" The only dependent spreadsheet in the chain is 'Rental.pc', which 
  165. >a211:" depends on all the files which follow it.  The files 'Unit1.pc' 
  166. >a212:" and 'Unit2.pc' could therefore have been linked in reverse order,
  167. >a213:" and a correct recalculation would have resulted.  However,
  168. >a214:" this will not always be the case, and we can easily conceive of
  169. >a215:" instances in which the order of recalculation among a series of files
  170. >a216:" IS important and must be strictly followed.
  171. >a218:"       One can see how simple and convenient associated spreadsheets are
  172. >a219:" to use.  One master spreadsheet, working in conjunction with two
  173. >a220:" subsidiary spreadsheets (a total of six subsidiary spreadsheets would
  174. >a221:" have been possible), results in a very orderly and intelligible format,
  175. >a222:" for what might otherwise have been a hodgepodge of loosely connected
  176. >a223:" financial data, involving awkward and inefficient manual transfers of
  177. >a224:" information.  The associated spreadsheet files, while maintaining their
  178. >a225:" functional integrity, operate in a unified and harmonious fashion.
  179. >a227:"       This concludes our lesson on 'Using Associated Files' .  However,
  180. >a228:" before we end this series of lessons on learning to use Perfect Calc, 
  181. >a229:" we wish to conclude with a few important 'suggestions' regarding the
  182. >a230:" use of Perfect Calc, which we are sure you will find helpful.
  183. >a232:"       At this time delete entire machine memory, and proceed to the 
  184. >a233:" concluding lesson, 'lesson8.pc'  with the FIND FILE Command.
  185. >a235:"                           END OF LESSON7
  186. >a1
  187.