home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 2 / amigaformatcd02.iso / commercial / patches / finalcalc_fpu / changes_1.04 < prev    next >
Encoding:
Text File  |  1996-05-20  |  17.4 KB  |  497 lines

  1. FinalCalc 1.04 changes:
  2. -----------------------
  3.  
  4. 16 March 1996
  5.  
  6.  
  7. This file describes changes and additions to FinalCalc from release 1.0 to
  8. release 1.04:
  9.  
  10. ///////////////////////////////////////////////////////////////////////////////
  11. Changes from FinalCalc 1.03 to 1.04:
  12. ///////////////////////////////////////////////////////////////////////////////
  13.  
  14. Fill Range:
  15. -----------
  16.  
  17. The Fill Range feature is called by the 'Edit-Fill-Range' menu item.  It
  18. fills the current range with one or more cells that exist in the range.
  19.  
  20. Fill Range can fill a range with the contents of a row in the range, a column
  21. in the range, or a single cell in the range.
  22.  
  23. If the range selected is only one column wide, the range will be filled
  24. up/down with the first cell found in the range.
  25.  
  26. If the range selected is only one row high, the range will be filled
  27. left/right with the first cell found in the range.
  28.  
  29. If the range selected contains multiple rows and multiple columns, a
  30. requester will come up asking you to decide if you want to fill up/down,
  31. right/left or both directions.   If you select up/down, the row with the most
  32. active cellsis selected as the base row to duplicate into all other rows in
  33. the range.  If you select left/right, the column with the most active cells
  34. is selected as the base row to duplicate into all other columns in the range.  
  35. If you select both directions, the first cell found will be duplicated into
  36. the entire range.
  37.  
  38.  
  39. The following script command has been added:
  40.  
  41.     FILL RANGE
  42.     FILL RANGE UP
  43.     FILL RANGE DOWN
  44.     FILL RANGE LEFT
  45.     FILL RANGE RIGHT
  46.     FILL RANGE BOTH
  47.  
  48. FILL RANGE without any arguments will perform the entire scan process to
  49. decide what to do.  If you supply an argument, that argument will only be
  50. used if the range has multiple rows and columns.
  51.  
  52. The Recorder will generate the correct FILL RANGE sub-command.
  53.  
  54.  
  55. ///////////////////////////////////////////////////////////////////////////////
  56.  
  57. Auto-paste into a formula:
  58. --------------------------
  59.  
  60. While editing a formula, you can now click on a cell or select a range using
  61. the mouse and that cell or range will be automatically pasted into the
  62. formula.  If the edit cursor was pointing at a cell or range in the formula,
  63. that reference is removed and the new selection is inserted in its place.
  64.  
  65. If you do not want auto-paste, add the following tooltype to the program
  66. icon:  "autopaste=no"
  67.  
  68. Using Amiga-V to paste the current cell or range into the formula also now
  69. works the same way, i.e. it removes the current cell or range under the edit
  70. cursor.
  71.  
  72.  
  73. ///////////////////////////////////////////////////////////////////////////////
  74.  
  75. Quick Search:
  76. -------------
  77.  
  78. The Quick Search feature is called by the 'Actions-Search-Quick Search' menu
  79. or Alt-Q.  It asks for something to search for.  If you enter a string, it
  80. searches the current sheet for the string.  If you enter a number, it will
  81. search the current sheet for that number.  After that, you can use the
  82. normal Find Next and Find Previous to continue searching.
  83.  
  84. ///////////////////////////////////////////////////////////////////////////////
  85.  
  86. 3D Range Names:
  87. ---------------
  88.  
  89. Defined Range Names can now span multiple sheets.  The Define Range Name,
  90. Edit Range Name, and Edit Name List requesters now all show and accept 3D
  91. ranges.
  92.  
  93. Make Names Table and Read Names Table now work directly with 3D ranges
  94. so they no longer need or accept ranges with 3 columns, only 2 columns.
  95.  
  96.  
  97. ///////////////////////////////////////////////////////////////////////////////
  98.  
  99. Database Functions expanded arguments:
  100. --------------------------------------
  101.  
  102. The Database functions now accept optional data input and criteria ranges.
  103.  
  104. The old format was:
  105.   DSUM(offset)
  106.  
  107. The new format is:
  108.   DSUM(database input range, offset, database criteria range)
  109.  
  110. You must supply at least the offset.  If you don't supply an input range,
  111. it defaults to the current database on the current sheet.  If you don't
  112. supply a criteria range, it defaults to the current criteria range on the
  113. current sheet.  The functions will accept any of the following formats:
  114.  
  115.   DSUM(offset)
  116.   DSUM(database input range, offset)
  117.   DSUM(offset, database criteria range)
  118.   DSUM(database input range, offset, database criteria range)
  119.  
  120. The old format works as it used to.
  121.  
  122. This applies to all the database functions:
  123. DSUM, DAVG, DCOUNT, DMAX, DMIN, DSTD, and DVAR
  124.  
  125.  
  126. ///////////////////////////////////////////////////////////////////////////////
  127.  
  128. Sum Icon:
  129. ---------
  130.  
  131. The PASTEFUNCTION script command now accepts an argument.  If you provide
  132. an argument to it, it pastes that directly into the new formula for editing
  133. instead of bringing up the 'Paste Function' requester.  This command is
  134. also accepted during formula editing.
  135.  
  136. A 'Sum' icon was added that does a  PASTEFUNCTION "SUM()" command.  It makes
  137. it much easier to paste a sum.  Just click on the icon, then highlight the
  138. range with the mouse and hit enter.
  139.  
  140.  
  141. ///////////////////////////////////////////////////////////////////////////////
  142.  
  143. Other Changes:
  144. --------------
  145.  
  146. - Editing a cell while a range is active is now possible.  Any method that
  147.   enters cell edit mode now stores the range and recalls it after the cell
  148.   editing is done even if you moved the range to paste a cell/range in a
  149.   formula.
  150.  
  151.  
  152. - It was possible for the recalc to run out of process stack and crash if you
  153.   had a formula that had functions nested to a level of 2,730 or more.
  154.   FinalCalc now tests the process stack continuously to make sure this never
  155.   happens.  If the stack level is hit, the user will be informed of that.
  156.  
  157.   This is not the normal cell relationship stack, which is automatically
  158.   adjusted on the fly.
  159.  
  160.   The default recalc system stack is 32k.  If you wish to increase it you can
  161.   use the "recalcstack=" tooltype.  e.g.  "recalcstack=100", which will make
  162.   the background recalc allocate a stack of 100k.
  163.  
  164.  
  165. - Some users reported slow display rendering when using the topaz font.  This
  166.   appears to happen with some graphics board emulation software not liking
  167.   FinalCalc's fast bitplane handling for the topaz font.  If you run into this
  168.   problem, add the following tooltype to the FinalCalc icon:
  169.  
  170.     fasttopaz=no
  171.  
  172.  
  173. - The keyboard menus key '/' can now be changed by using the 'menuskey'
  174.   tooltype.  Its format is:
  175.  
  176.     menuskey=key
  177.  
  178.   To set it to another key, like the ` key, just add the following tooltype
  179.   to the FinalCalc icon:
  180.  
  181.     menuskey=`
  182.  
  183.   Note that it is best to use a key without any shift or alt modifiers.
  184.  
  185.  
  186. - The script CONTENTS command no longer returns a fully formatted string when
  187.   the cell is numeric.  If the cell is a time or date cell, a date or time
  188.   string is returned, otherwise a raw number is returned.  (e.g. 1234 and
  189.   not $1,234).  This helps scripts process cell contents easier.
  190.  
  191.  
  192. ///////////////////////////////////////////////////////////////////////////////
  193. Changes from FinalCalc 1.0 to 1.03:
  194. ///////////////////////////////////////////////////////////////////////////////
  195.  
  196. New Import Module:  ProCalc, Advantage and Gold Disk Office files:
  197. ------------------------------------------------------------------
  198.  
  199. FinalCalc now detects and imports the FAFF file format, which is used by
  200. ProCalc, Advantage (1.1 and above), and Gold Disk Office.
  201.  
  202. The module handles cell and formula contents and styles.  Style tags,
  203. fonts and colors are loaded, too.  Style tags are converted into FinalCalc
  204. format tags.
  205.  
  206. Database input and criteria ranges are imported correctly.   All database
  207. criteria cells are converted into a format usuable by FinalCalc.  ("FIELD"
  208. is added to them, so a criteria of ">11" becomes "FIELD>11").  Database
  209. formula functions are also converted.
  210.  
  211.  
  212. Many functions are converted into suitable FinalCalc functions when loading:
  213.  
  214.  
  215.  Function:                        Converted to:
  216.  ------------------------------   ---------------------------------------
  217.  HOUR()                           HOUR(NOW)
  218.  MINUTES()                        (MINUTE(NOW)+(HOUR(NOW)*60))
  219.  SECONDS()                        (MINUTE(NOW)+(HOUR(NOW)*60))*60+SECOND(NOW))
  220.  POWER(value,power)               value^power
  221.  WEEKDAY(value)                   (value % 7)
  222.  LINKDISK(filename,cell)          {filename}cell
  223.  E()                              EXP(1)
  224.  DATE(month,day,year)             DATE(year,month,day)
  225.  PRINTIF()                        IF()
  226.  SAYIF()                          IF()
  227.  COLOR(test,true,false)           SETCOLOR(HERE,IF(test,true,false))
  228.  STYLE(test,true,false)           SETSTYLE(HERE,IF(test,true,false))
  229.  SETCOLOR(test,true,false,cell)   SETCOLOR(cell,IF(test,true,false))
  230.  SETSTYLE(test,true,false,cell)   SETSTYLE(cell,IF(test,true,false))
  231.  CELL(row offset,column offset)   HERE(column offset,row offset)
  232.  RANGE(row1,col1,row2,col2)       RANGE(col1,row1,col2,row2)
  233.                                   (note that columns in FAFF files start at 1,
  234.                                   not 0 like FinalCalc)
  235.  
  236.  
  237.  
  238.  Unsupported Functions: (cannot be converted into FinalCalc functions)
  239.  ---------------------------------------------------------------------
  240.  AND(list)
  241.  FVV(rate,range)
  242.  ISNV(cell)
  243.  LCELL(name,cell)
  244.  LRANGE(filename,range)
  245.  LOGA(base,value)
  246.  OR(list)
  247.  REXX(ARexx filename,list)
  248.  TYPE(cell)
  249.  @(cell)
  250.  
  251.  
  252.  
  253. ///////////////////////////////////////////////////////////////////////////////
  254.  
  255. System Clipboard support:
  256. ------------------------
  257.  
  258. FinalCalc now supports the system clipboard to copy and paste text from other
  259. applications.  There are two ways to get text from the clipboard and two ways
  260. to send text to the clipboard:
  261.  
  262. - Copy to Clipboard:
  263.   The Edit-Copy menu now has sub-menus.  The 'Edit-Copy-Copy' works as before,
  264.   but a new item 'Edit-Copy-Copy to Clipboard' copies the current cell or
  265.   range as text to the sytem clipboard.
  266.  
  267. - Paste from Clipboard:
  268.   The 'Edit-Paste-Paste from Clipboard' menu item pastes the system clipboard
  269.   contents starting at the current cell, and downwards as a single column.
  270.   This is stored as as undo event, so you can undo and redo it.
  271.  
  272. - Export Text to Clipboard:
  273.   The 'Project-Text-Export to Clipboard' exports the current cell or range as
  274.   text using the current Text Export Settings to the system clipboard.
  275.  
  276. - Import Text from Clipboard:
  277.   The 'Project-Text-Import from Clipboard' imports the system clipboard
  278.   contents using the current Text Import Settings starting at the current
  279.   cell.  This is stored as as undo event, so you can undo and redo it.
  280.  
  281.  
  282. The following script commands have been added to support the above functions:
  283.  
  284.     COPY CLIPBOARD
  285.     PASTE CLIPBOARD
  286.     EXPORT CLIPBOARD
  287.     IMPORT CLIPBOARD
  288.  
  289. ///////////////////////////////////////////////////////////////////////////////
  290.  
  291. Printing:
  292. ---------
  293.  
  294. - FinalCalc is now more intelligent in deciding how many bands to print a
  295.   page in when in Preferences printing mode.  This normally results in
  296.   printing that takes about half the time it used to.
  297.  
  298. - If printing to Preferences or Laserjet printers fails for any reason,
  299.   FinalCalc now brings up a requester informing the user of what the reason
  300.   was.  It will also mark the job as "Failed" in the Spool requester.
  301.  
  302. - When printing multiple jobs in one go, the spooler is not launched until
  303.   the last job has been sent.  This speeds things up during the printing to
  304.   spooler stage, and also reduces disk swaps in the Lite version.
  305.  
  306. - Added a new tooltype:
  307.  
  308.   testprinter=no
  309.  
  310.   If this is defined, FinalCalc will not test the printer's online status
  311.   before attempting to print.  This should only be used with printer.device
  312.   replacements that always show <<Printer Busy>> or <<Printer Offline>>.
  313.  
  314.  
  315. ///////////////////////////////////////////////////////////////////////////////
  316.  
  317. Insert/Delete Cells:
  318. --------------------
  319.  
  320. - Edit/Insert/Cells and Shift Right:
  321.   Shifts the current cell or range to the right and adjusts all references
  322.   to it in the project.
  323.  
  324. - Edit/Insert/Cells and Shift Down:
  325.   Shifts the current cell or range to down and adjusts all references to it
  326.   in the project.
  327.  
  328. - Edit/Delete/Cells and Shift Left:
  329.   Deletes the current cell or range, and shifts all the cells to the right
  330.   of it in its place.
  331.  
  332. - Edit/Delete/Cells and Shift Up:
  333.   Deletes the current cell or range, and shifts all the cells below it it
  334.   in its place.
  335.  
  336. - Added the following script commands to do the above actions:
  337.  
  338.     INSERT CELLS_RIGHT
  339.     INSERT CELLS_DOWN
  340.     DELETE CELLS_LEFT
  341.     DELETE CELLS_UP
  342.  
  343.  
  344. ///////////////////////////////////////////////////////////////////////////////
  345.  
  346. Relative Cell Names:
  347. --------------------
  348.  
  349. Added four fixed functions that point to the cell above, below, to the left
  350. or right of the current cell.
  351.  
  352. ABOVE   =HERE(-1,0)
  353. BELOW   =HERE(1,0)
  354. LEFT    =HERE(0,-1)
  355. RIGHT   =HERE(0,1)
  356.  
  357. These can be used in any formula and will return the value or the address
  358. of the cell required.
  359.  
  360. For example:
  361.  
  362. =ABOVE+1     returns the value of the cell above plus 1.
  363. =COL(LEFT)   returns the column of the cell to the left.
  364.  
  365. These relative cell names are handled correctly by the Minimal Recalc and
  366. are not 'live' cells, i.e. they are only recalculated if the value of the
  367. cell they are pointing to changes, unlike the HERE() function which is
  368. recalculated at every recalc.
  369.   
  370. ///////////////////////////////////////////////////////////////////////////////
  371.  
  372. Spool Path:
  373. -----------
  374.  
  375. You can now set FinalCalc to store its print spooler files and print
  376. preview files to a disk device instead of the RAM disk.
  377.  
  378. To set the spool path, add the following tooltype to the FinalCalc or
  379. FinalCalc.FPU program icon:
  380.  
  381. "spoolpath=work:myspoolpath"
  382.  
  383. where work:myspoolpath is the directory to store spool and preview files in.
  384.   
  385.  
  386. FinalCalc checks to see how much space is available on the destination
  387. device when printing a print job to the spooler.  If it is set to the default
  388. path (the RAM disk), it will abort the job if free RAM drops below 100k.  If
  389. it is set to a path on a disk device, it will abort the job if free space on
  390. the device drops to below 20k.
  391.  
  392. In either case, you will be informed of that and will be offered a Help
  393. button that calls up a guide section on the Spool Path.
  394.  
  395.  
  396. ///////////////////////////////////////////////////////////////////////////////
  397.  
  398. Other changes:
  399. --------------
  400.  
  401. - FinalCalc now supports accented characters when editing a cell.  Dead keys
  402.   are stored and attached to the next character (e.g. Alt-K then 'E').
  403.  
  404.  
  405. - Sheet Views now have a small display to the left of the 'Changes' indictor.
  406.   If a range is active, and there are 2 or more numeric cells in the current
  407.   range, the sum of those numeric cells and their count is shown.
  408.  
  409.   If you do not want this display, add the following tooltype to the program
  410.   icon:  "rangeinfo=no"
  411.  
  412.  
  413. - FinalCalc now keeps track of the last column and row used in a sheet and
  414.   uses those as the limit to range scans in many places:
  415.  
  416.   - Copy/Cut range.
  417.  
  418.   - Copy range to clipboard.
  419.  
  420.   - The recalc minimal scan.  (e.g. if you refer to a range like a1:a1000,
  421.     and the last used row is 200, it will only scan a1:a200).  This speeds
  422.     up the background recalc if you use large ranges that extend beyond
  423.     the active sheet data.
  424.  
  425.   - SUM(), AVG(), COUNT(), MAX(), MIN(), PROD(), FIRST(), LAST(), and PICK()
  426.     functions.  (e.g. if you use sum(a1:a1000) and the last used row is 200,
  427.     it does a sum(a1:a200) instead.)   Note that this doesn't apply to CSUM()
  428.     and FSUM() type functions, as they might reference offset cells, so the
  429.     test would have broken them.
  430.  
  431.  
  432.   This means that you can use a formula like =sum(a1:a2000) for a sheet that
  433.   you keep adding rows of data to, and you would have no performance hit as
  434.   it would only scan and sum up to the last row used.
  435.  
  436.  
  437. - Text Import and Paste from Clipboard now strip all ANSI/ISO escape sequences
  438.   from the source text so that they don't mess up the imported text.
  439.  
  440.  
  441. - If you use Project-Open and the current project is totally empty (fresh,
  442.   no cells, no changes, and named "Untitled"), that project is closed and
  443.   a new one is loaded in its place.  This prevents an empty project staying
  444.   around if you use Project-Open to load projects.
  445.  
  446.  
  447. - The Paste Function requester (Amiga-F when editing a formula) now has
  448.   a box that shows the format of the function highlighted and also has a
  449.   Details button that brings up the online help document for that function.
  450.  
  451.  
  452. - In the Edit User Interface Preferences requester, Default Cell Text Color and
  453.   Background View Color now have sliders that range from 0 to 15, and show the
  454.   selected color live next to each gadget as the sliders are changed.
  455.  
  456.  
  457. ///////////////////////////////////////////////////////////////////////////////
  458.  
  459. Script Commands:
  460. ----------------
  461.  
  462. - Added a new script command: PASTEFUNCTION.  It brings up the Paste Function
  463.   requester, and then pastes the selection into the current cell, starting
  464.   a new formula with the function selected.  Its main purpose is for a new
  465.   'paste function' icon which calls the Paste Function requester in or outside
  466.   the cell edit mode.
  467.  
  468.  
  469. - Rewrote the SOLVE script command:
  470.  
  471.   - It now supports string formulas.  Note that if you want to use double-
  472.     quotes within your formula, you should surround the formula with
  473.     single-quotes, for example: SOLVE 'repeat("test ",2)'
  474.  
  475.   - Direct cell references now work.
  476.  
  477.   - The HERE keyword now works.  (e.g.  SOLVE "col(here)")
  478.  
  479.  
  480. - Added two new QUERY script commands:
  481.  
  482.   - QUERY COLUMN  (or QUERY COL):
  483.     returns the current column's name.  (e.g. "A")
  484.  
  485.   - QUERY ROW:
  486.     returns the current row's number.
  487.  
  488.  
  489. ///////////////////////////////////////////////////////////////////////////////
  490.  
  491.  
  492. If you have any questions, our support lines are open as usual.  You can also
  493. post them in the SoftWood section in the AmigaVendor forum on Compuserve,
  494. or e-mail Khalid Aldoseri on 71277.2776@compuserve.com.
  495.  
  496. Softwood.
  497.