home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a074 / 1.img / READ.ME < prev   
Encoding:
Text File  |  1991-04-29  |  9.9 KB  |  276 lines

  1. ╔══════════════════════════════════════════════════════════════════════╗
  2. ║                             CALC(DB) 1.0                             ║
  3. ║                            April 26, 1991                            ║
  4. ╚══════════════════════════════════════════════════════════════════════╝
  5.  
  6. Since the printing of the User's Manual for CALC(DB) a number of new
  7. or updated features have been added. This new stuff is documented
  8. here and
  9.  
  10.      SHOULD BE PRINTED FOR FUTURE REFERENCE!
  11.  
  12. The next generation of the manual will have all these updates
  13. incorporated but for now this is the *ONLY* place that they are
  14. documented.
  15.  
  16. A brief table of contents is supplied for easy reference.
  17.  
  18.      Requirements
  19.      New @function: @UDF
  20.      New Macro Commands
  21.           {REVERT}
  22.           {RECALCUDF}
  23.           {EXIT}
  24.      Misc. Macro Stuff
  25.      New Menu Commands
  26.           Worksheet-Revert
  27.           Worksheet-Global-Recalc-UDFs
  28.      New API Functions
  29.      Memory Management
  30.      Important Notes
  31.      Credits
  32.  
  33.  
  34. ╔══════════════════════════════════════════════════════════════════════╗
  35. ║                             Requirements                             ║
  36. ╚══════════════════════════════════════════════════════════════════════╝
  37.  
  38. CALC(DB) requires Clipper version 5.01 or greater.  The DEMO program
  39. requires expanded memory to work with all the example spreadsheets.
  40.  
  41.  
  42. ╔══════════════════════════════════════════════════════════════════════╗
  43. ║                                 @UDF                                 ║
  44. ╚══════════════════════════════════════════════════════════════════════╝
  45.  
  46. CALC(DB) introduces a new @Function to the spreadsheet world:
  47.  
  48.      @UDF
  49.  
  50. This function can be used to call a Clipper UDF directly from a
  51. spreadsheet formula.  The return value from the UDF is placed in the
  52. cell as its value.
  53.  
  54. In spite of its apparent size, @UDF is *NOT* A MINOR ADDITION!
  55.  
  56. In fact, through this @function you can access the full power of Clipper
  57. as an integrated part of your system.
  58.  
  59. The biggest advantage to using @UDF over an embedded UDF in a macro is
  60. that the @UDF will be called every time data is changed or recalculated
  61. in the worksheet.  This, in essence, gives you the power of an
  62. event-driven engine from within Clipper.
  63.  
  64. Take a look at the sample spreadsheets included with CALC(DB) to get
  65. some idea of the power inherent here.  Also, read the next few
  66. paragraphs carefully to understand the current limitations of this
  67. function.
  68.  
  69. The calculation of @UDF functions is controlled by the Object Variable
  70. cdCalcUDF in the Spreadsheet Object.  When cdCalcUDF is set TRUE all
  71. @UDFs are recalculated whenever the spreadsheet is modified.
  72.  
  73. The syntax for @UDF is very similar to the syntax for calling Clipper
  74. UDFs from macros.  The Clipper function should appear as it would be
  75. called from within Clipper code.  For example:
  76.  
  77.      @UDF(MEMORY(0))
  78.  
  79. would call the Clipper MEMORY() function and place the return value in
  80. the cell.  As with UDFs called from macros, the current Spreadsheet
  81. Object is passed as a final parameter to the function you call using
  82. @UDF.
  83.  
  84. @UDFs must be used alone in a cell, and cannot be nested within normal
  85. @Functions.  To use the return value from an @UDF in another formula,
  86. simply place the @UDF in its own cell and reference the cell from the
  87. formula.
  88.  
  89. NOTES:
  90.  
  91. @UDFs will not appear if the spreadsheet is read using another
  92. spreadsheet program.  Also, if a spreadsheet containing @UDFs is
  93. modified and saved using another spreadsheet program, @UDFs are not
  94. saved in the new/modified spreadsheet.
  95.  
  96. You must be sure that all functions referenced in @UDFs are linked into
  97. your application.  If an @UDF references a function that doesn't exist
  98. it will show the value as ERR.  Any functions that are not explicitly
  99. called from you Clipper code must be declared as EXTERNAL. One way to do
  100. this is to place EXTERNAL declarations for all your spreadsheet UDFs in
  101. a header file and #include it in your main source file.  (See the
  102. Clipper documentation for more information on external functions and
  103. header files.)
  104.  
  105.  
  106. ╔══════════════════════════════════════════════════════════════════════╗
  107. ║                          New Macro Commands                          ║
  108. ╚══════════════════════════════════════════════════════════════════════╝
  109.  
  110. {REVERT}
  111.  
  112.      Reverts the spreadsheet to the last saved version.
  113.  
  114. {RECALCUDF}
  115.  
  116.      Recalculates @UDFs only
  117.  
  118. {EXIT}
  119.  
  120.      Exits cd_Browse() - equivalent to /-Quit-Yes
  121.  
  122.  
  123. ╔══════════════════════════════════════════════════════════════════════╗
  124. ║                          Misc. Macro Stuff                           ║
  125. ╚══════════════════════════════════════════════════════════════════════╝
  126.  
  127. UDFs in macros no longer have to be in their own cell or the last
  128. command in a cell.
  129.  
  130.  
  131. ╔══════════════════════════════════════════════════════════════════════╗
  132. ║                          New Menu Commands                           ║
  133. ╚══════════════════════════════════════════════════════════════════════╝
  134.  
  135. Worksheet-Revert
  136.  
  137.      The Worksheet-Revert menu command reverts the current spreadsheet
  138.      to the last saved version.  This command can also be executed using
  139.      the new {REVERT} macro command.
  140.  
  141. Worksheet-Global-Recalc-UDFs
  142.  
  143.      There are new menu commands to facilitate the recalculation of
  144.      @UDFs in your spreadsheets.  The UDFs selection presents a new
  145.      sub-menu with the following options:
  146.  
  147.      With Recalc
  148.  
  149.           Causes all @UDFs to be recalculated whenever a normal
  150.           recalculation occurs (when spreadsheet is changed if autocalc
  151.           is on, or F9 is pressed).
  152.  
  153.      Manual
  154.  
  155.           @UDFs are only recalculated when Worksheet-Global-Recalc-UDFs-
  156.           Right Now! is selected or {RECALCUDF} macro command is
  157.           executed.
  158.  
  159.      Right Now!
  160.  
  161.           Recalculates all @UDFs.
  162.  
  163.  
  164. ╔══════════════════════════════════════════════════════════════════════╗
  165. ║                          New API Functions                           ║
  166. ╚══════════════════════════════════════════════════════════════════════╝
  167.  
  168. cd_FReadCell()
  169.  
  170.      Syntax:
  171.  
  172.           cd_FReadCell(cFileName, cCellAddr | cRangeName)
  173.  
  174.           cFileName = Name of the spreadsheet file to read from
  175.  
  176.           cCellAddr = Address of cell to read (ie. "A1")
  177.  
  178.           cRangeName = Range name for cell to read
  179.  
  180.  
  181.      Return Value:  <?> value contained in cell (NIL if cell is empty)
  182.  
  183.      Description:  Opens spreadsheet file and reads the value from the
  184.      specified cell.  If a range name is specified the value is returned
  185.      from the upper-left cell in the range.
  186.  
  187.      Note:  This function can be used to establish "relational"
  188.      connections to other spreadsheets/datafiles.  See the DEMO_UDF
  189.      worksheet to examine a sample of this.
  190.  
  191.  
  192. ╔══════════════════════════════════════════════════════════════════════╗
  193. ║                          Memory Management                           ║
  194. ╚══════════════════════════════════════════════════════════════════════╝
  195.  
  196. Providing this much functionality in a Clipper environment requires a
  197. considerable amount of memory.  Upcoming versions of CALC(DB) will
  198. support virtual memory, but in the meantime here are a few things to
  199. keep in mind when using CALC(DB):
  200.  
  201. Expanded Memory
  202.  
  203.      This version will only store numbers and certain cd_Browse()
  204.      environment data in expanded memory.  Expanded memory is highly
  205.      recommended when using this product, but not absolutely necessary.
  206.  
  207. Overlays
  208.  
  209.      Overlays should be used when using CALC(DB).  The CALC(DB) library
  210.      is divided into two separate files - CDBROOT.LIB and CALCDB.LIB.
  211.      CALCDB.LIB contains functions that can be overlaid.  We have
  212.      included some linker response files to demonstrate some more
  213.      effective ways of dividing up overlays.  So far, the most effective
  214.      linker for our testing purposes was BLINKER by Blink Inc. The other
  215.      linkers we tested for compatibility were RTLINK (for Clipper),
  216.      RTLINK 4.1, and Microsoft Link.
  217.  
  218. Limit Spreadsheet Size
  219.  
  220.      Spreadsheets should be kept as small as possible to avoid
  221.      exhausting memory.  The use of spreadsheet objects makes it easier
  222.      to divide large projects into smaller spreadsheets.
  223.  
  224.  
  225. ╔══════════════════════════════════════════════════════════════════════╗
  226. ║                           Important Notes                            ║
  227. ╚══════════════════════════════════════════════════════════════════════╝
  228.  
  229. Lotus 1-2-3 password-protected worksheets can not be used with CALC(DB).
  230.  
  231. Named graphs stored in spreadsheets are not retained in files saved
  232. using CALC(DB).
  233.  
  234.  
  235. ╔══════════════════════════════════════════════════════════════════════╗
  236. ║                               Credits                                ║
  237. ╚══════════════════════════════════════════════════════════════════════╝
  238.  
  239. Most importantly are those people who made this product possible.  As
  240. always it is impossible to name them all, but a few stand out and
  241. deserve the attention.
  242.  
  243. -BJ Walsh, the Director of Software Development at SuccessWare and team
  244. leader on this project.  Incredible talent.
  245.  
  246. -David Johnson, who started this whole mess.
  247.  
  248. -Tzvi Rozenman, who supplied the core spreadsheet technology.
  249.  
  250. -Ira Emus, whose last minute "suggestions" made CALC(DB) considerably
  251. more robust (and slowed the release of the product by two weeks).
  252.  
  253. And to Lori, Corey and Holly, my "other" family, the ones who sit at
  254. home waiting for me...
  255.  
  256. Thanks y'all.  HiHo,
  257.  
  258. Jeff Jochum
  259. President
  260. SuccessWare 90, Inc.
  261. May 1, 1991
  262.  
  263. ╔══════════════════════════════════════════════════════════════════════╗
  264. ║                      CALC(DB) is published by:                       ║
  265. ╚══════════════════════════════════════════════════════════════════════╝
  266.  
  267. Pinnacle Publishing, Inc.
  268. 28621 Pacific Highway S.
  269. Federal Way, WA  98003
  270. (206) 941-2300
  271. (800) 231-1293 (Sales)
  272. (206) 946-1491 FAX
  273. (206) 941-2487 Technical Support
  274. (206) 941-2492 BBS (2400-8-N-1)
  275.  
  276.