home *** CD-ROM | disk | FTP | other *** search
- FinalCalc 1.04 changes:
- -----------------------
-
- 16 March 1996
-
-
- This file describes changes and additions to FinalCalc from release 1.0 to
- release 1.04:
-
- ///////////////////////////////////////////////////////////////////////////////
- Changes from FinalCalc 1.03 to 1.04:
- ///////////////////////////////////////////////////////////////////////////////
-
- Fill Range:
- -----------
-
- The Fill Range feature is called by the 'Edit-Fill-Range' menu item. It
- fills the current range with one or more cells that exist in the range.
-
- Fill Range can fill a range with the contents of a row in the range, a column
- in the range, or a single cell in the range.
-
- If the range selected is only one column wide, the range will be filled
- up/down with the first cell found in the range.
-
- If the range selected is only one row high, the range will be filled
- left/right with the first cell found in the range.
-
- If the range selected contains multiple rows and multiple columns, a
- requester will come up asking you to decide if you want to fill up/down,
- right/left or both directions. If you select up/down, the row with the most
- active cellsis selected as the base row to duplicate into all other rows in
- the range. If you select left/right, the column with the most active cells
- is selected as the base row to duplicate into all other columns in the range.
- If you select both directions, the first cell found will be duplicated into
- the entire range.
-
-
- The following script command has been added:
-
- FILL RANGE
- FILL RANGE UP
- FILL RANGE DOWN
- FILL RANGE LEFT
- FILL RANGE RIGHT
- FILL RANGE BOTH
-
- FILL RANGE without any arguments will perform the entire scan process to
- decide what to do. If you supply an argument, that argument will only be
- used if the range has multiple rows and columns.
-
- The Recorder will generate the correct FILL RANGE sub-command.
-
-
- ///////////////////////////////////////////////////////////////////////////////
-
- Auto-paste into a formula:
- --------------------------
-
- While editing a formula, you can now click on a cell or select a range using
- the mouse and that cell or range will be automatically pasted into the
- formula. If the edit cursor was pointing at a cell or range in the formula,
- that reference is removed and the new selection is inserted in its place.
-
- If you do not want auto-paste, add the following tooltype to the program
- icon: "autopaste=no"
-
- Using Amiga-V to paste the current cell or range into the formula also now
- works the same way, i.e. it removes the current cell or range under the edit
- cursor.
-
-
- ///////////////////////////////////////////////////////////////////////////////
-
- Quick Search:
- -------------
-
- The Quick Search feature is called by the 'Actions-Search-Quick Search' menu
- or Alt-Q. It asks for something to search for. If you enter a string, it
- searches the current sheet for the string. If you enter a number, it will
- search the current sheet for that number. After that, you can use the
- normal Find Next and Find Previous to continue searching.
-
- ///////////////////////////////////////////////////////////////////////////////
-
- 3D Range Names:
- ---------------
-
- Defined Range Names can now span multiple sheets. The Define Range Name,
- Edit Range Name, and Edit Name List requesters now all show and accept 3D
- ranges.
-
- Make Names Table and Read Names Table now work directly with 3D ranges
- so they no longer need or accept ranges with 3 columns, only 2 columns.
-
-
- ///////////////////////////////////////////////////////////////////////////////
-
- Database Functions expanded arguments:
- --------------------------------------
-
- The Database functions now accept optional data input and criteria ranges.
-
- The old format was:
- DSUM(offset)
-
- The new format is:
- DSUM(database input range, offset, database criteria range)
-
- You must supply at least the offset. If you don't supply an input range,
- it defaults to the current database on the current sheet. If you don't
- supply a criteria range, it defaults to the current criteria range on the
- current sheet. The functions will accept any of the following formats:
-
- DSUM(offset)
- DSUM(database input range, offset)
- DSUM(offset, database criteria range)
- DSUM(database input range, offset, database criteria range)
-
- The old format works as it used to.
-
- This applies to all the database functions:
- DSUM, DAVG, DCOUNT, DMAX, DMIN, DSTD, and DVAR
-
-
- ///////////////////////////////////////////////////////////////////////////////
-
- Sum Icon:
- ---------
-
- The PASTEFUNCTION script command now accepts an argument. If you provide
- an argument to it, it pastes that directly into the new formula for editing
- instead of bringing up the 'Paste Function' requester. This command is
- also accepted during formula editing.
-
- A 'Sum' icon was added that does a PASTEFUNCTION "SUM()" command. It makes
- it much easier to paste a sum. Just click on the icon, then highlight the
- range with the mouse and hit enter.
-
-
- ///////////////////////////////////////////////////////////////////////////////
-
- Other Changes:
- --------------
-
- - Editing a cell while a range is active is now possible. Any method that
- enters cell edit mode now stores the range and recalls it after the cell
- editing is done even if you moved the range to paste a cell/range in a
- formula.
-
-
- - It was possible for the recalc to run out of process stack and crash if you
- had a formula that had functions nested to a level of 2,730 or more.
- FinalCalc now tests the process stack continuously to make sure this never
- happens. If the stack level is hit, the user will be informed of that.
-
- This is not the normal cell relationship stack, which is automatically
- adjusted on the fly.
-
- The default recalc system stack is 32k. If you wish to increase it you can
- use the "recalcstack=" tooltype. e.g. "recalcstack=100", which will make
- the background recalc allocate a stack of 100k.
-
-
- - Some users reported slow display rendering when using the topaz font. This
- appears to happen with some graphics board emulation software not liking
- FinalCalc's fast bitplane handling for the topaz font. If you run into this
- problem, add the following tooltype to the FinalCalc icon:
-
- fasttopaz=no
-
-
- - The keyboard menus key '/' can now be changed by using the 'menuskey'
- tooltype. Its format is:
-
- menuskey=key
-
- To set it to another key, like the ` key, just add the following tooltype
- to the FinalCalc icon:
-
- menuskey=`
-
- Note that it is best to use a key without any shift or alt modifiers.
-
-
- - The script CONTENTS command no longer returns a fully formatted string when
- the cell is numeric. If the cell is a time or date cell, a date or time
- string is returned, otherwise a raw number is returned. (e.g. 1234 and
- not $1,234). This helps scripts process cell contents easier.
-
-
- ///////////////////////////////////////////////////////////////////////////////
- Changes from FinalCalc 1.0 to 1.03:
- ///////////////////////////////////////////////////////////////////////////////
-
- New Import Module: ProCalc, Advantage and Gold Disk Office files:
- ------------------------------------------------------------------
-
- FinalCalc now detects and imports the FAFF file format, which is used by
- ProCalc, Advantage (1.1 and above), and Gold Disk Office.
-
- The module handles cell and formula contents and styles. Style tags,
- fonts and colors are loaded, too. Style tags are converted into FinalCalc
- format tags.
-
- Database input and criteria ranges are imported correctly. All database
- criteria cells are converted into a format usuable by FinalCalc. ("FIELD"
- is added to them, so a criteria of ">11" becomes "FIELD>11"). Database
- formula functions are also converted.
-
-
- Many functions are converted into suitable FinalCalc functions when loading:
-
-
- Function: Converted to:
- ------------------------------ ---------------------------------------
- HOUR() HOUR(NOW)
- MINUTES() (MINUTE(NOW)+(HOUR(NOW)*60))
- SECONDS() (MINUTE(NOW)+(HOUR(NOW)*60))*60+SECOND(NOW))
- POWER(value,power) value^power
- WEEKDAY(value) (value % 7)
- LINKDISK(filename,cell) {filename}cell
- E() EXP(1)
- DATE(month,day,year) DATE(year,month,day)
- PRINTIF() IF()
- SAYIF() IF()
- COLOR(test,true,false) SETCOLOR(HERE,IF(test,true,false))
- STYLE(test,true,false) SETSTYLE(HERE,IF(test,true,false))
- SETCOLOR(test,true,false,cell) SETCOLOR(cell,IF(test,true,false))
- SETSTYLE(test,true,false,cell) SETSTYLE(cell,IF(test,true,false))
- CELL(row offset,column offset) HERE(column offset,row offset)
- RANGE(row1,col1,row2,col2) RANGE(col1,row1,col2,row2)
- (note that columns in FAFF files start at 1,
- not 0 like FinalCalc)
-
-
-
- Unsupported Functions: (cannot be converted into FinalCalc functions)
- ---------------------------------------------------------------------
- AND(list)
- FVV(rate,range)
- ISNV(cell)
- LCELL(name,cell)
- LRANGE(filename,range)
- LOGA(base,value)
- OR(list)
- REXX(ARexx filename,list)
- TYPE(cell)
- @(cell)
-
-
-
- ///////////////////////////////////////////////////////////////////////////////
-
- System Clipboard support:
- ------------------------
-
- FinalCalc now supports the system clipboard to copy and paste text from other
- applications. There are two ways to get text from the clipboard and two ways
- to send text to the clipboard:
-
- - Copy to Clipboard:
- The Edit-Copy menu now has sub-menus. The 'Edit-Copy-Copy' works as before,
- but a new item 'Edit-Copy-Copy to Clipboard' copies the current cell or
- range as text to the sytem clipboard.
-
- - Paste from Clipboard:
- The 'Edit-Paste-Paste from Clipboard' menu item pastes the system clipboard
- contents starting at the current cell, and downwards as a single column.
- This is stored as as undo event, so you can undo and redo it.
-
- - Export Text to Clipboard:
- The 'Project-Text-Export to Clipboard' exports the current cell or range as
- text using the current Text Export Settings to the system clipboard.
-
- - Import Text from Clipboard:
- The 'Project-Text-Import from Clipboard' imports the system clipboard
- contents using the current Text Import Settings starting at the current
- cell. This is stored as as undo event, so you can undo and redo it.
-
-
- The following script commands have been added to support the above functions:
-
- COPY CLIPBOARD
- PASTE CLIPBOARD
- EXPORT CLIPBOARD
- IMPORT CLIPBOARD
-
- ///////////////////////////////////////////////////////////////////////////////
-
- Printing:
- ---------
-
- - FinalCalc is now more intelligent in deciding how many bands to print a
- page in when in Preferences printing mode. This normally results in
- printing that takes about half the time it used to.
-
- - If printing to Preferences or Laserjet printers fails for any reason,
- FinalCalc now brings up a requester informing the user of what the reason
- was. It will also mark the job as "Failed" in the Spool requester.
-
- - When printing multiple jobs in one go, the spooler is not launched until
- the last job has been sent. This speeds things up during the printing to
- spooler stage, and also reduces disk swaps in the Lite version.
-
- - Added a new tooltype:
-
- testprinter=no
-
- If this is defined, FinalCalc will not test the printer's online status
- before attempting to print. This should only be used with printer.device
- replacements that always show <<Printer Busy>> or <<Printer Offline>>.
-
-
- ///////////////////////////////////////////////////////////////////////////////
-
- Insert/Delete Cells:
- --------------------
-
- - Edit/Insert/Cells and Shift Right:
- Shifts the current cell or range to the right and adjusts all references
- to it in the project.
-
- - Edit/Insert/Cells and Shift Down:
- Shifts the current cell or range to down and adjusts all references to it
- in the project.
-
- - Edit/Delete/Cells and Shift Left:
- Deletes the current cell or range, and shifts all the cells to the right
- of it in its place.
-
- - Edit/Delete/Cells and Shift Up:
- Deletes the current cell or range, and shifts all the cells below it it
- in its place.
-
- - Added the following script commands to do the above actions:
-
- INSERT CELLS_RIGHT
- INSERT CELLS_DOWN
- DELETE CELLS_LEFT
- DELETE CELLS_UP
-
-
- ///////////////////////////////////////////////////////////////////////////////
-
- Relative Cell Names:
- --------------------
-
- Added four fixed functions that point to the cell above, below, to the left
- or right of the current cell.
-
- ABOVE =HERE(-1,0)
- BELOW =HERE(1,0)
- LEFT =HERE(0,-1)
- RIGHT =HERE(0,1)
-
- These can be used in any formula and will return the value or the address
- of the cell required.
-
- For example:
-
- =ABOVE+1 returns the value of the cell above plus 1.
- =COL(LEFT) returns the column of the cell to the left.
-
- These relative cell names are handled correctly by the Minimal Recalc and
- are not 'live' cells, i.e. they are only recalculated if the value of the
- cell they are pointing to changes, unlike the HERE() function which is
- recalculated at every recalc.
-
- ///////////////////////////////////////////////////////////////////////////////
-
- Spool Path:
- -----------
-
- You can now set FinalCalc to store its print spooler files and print
- preview files to a disk device instead of the RAM disk.
-
- To set the spool path, add the following tooltype to the FinalCalc or
- FinalCalc.FPU program icon:
-
- "spoolpath=work:myspoolpath"
-
- where work:myspoolpath is the directory to store spool and preview files in.
-
-
- FinalCalc checks to see how much space is available on the destination
- device when printing a print job to the spooler. If it is set to the default
- path (the RAM disk), it will abort the job if free RAM drops below 100k. If
- it is set to a path on a disk device, it will abort the job if free space on
- the device drops to below 20k.
-
- In either case, you will be informed of that and will be offered a Help
- button that calls up a guide section on the Spool Path.
-
-
- ///////////////////////////////////////////////////////////////////////////////
-
- Other changes:
- --------------
-
- - FinalCalc now supports accented characters when editing a cell. Dead keys
- are stored and attached to the next character (e.g. Alt-K then 'E').
-
-
- - Sheet Views now have a small display to the left of the 'Changes' indictor.
- If a range is active, and there are 2 or more numeric cells in the current
- range, the sum of those numeric cells and their count is shown.
-
- If you do not want this display, add the following tooltype to the program
- icon: "rangeinfo=no"
-
-
- - FinalCalc now keeps track of the last column and row used in a sheet and
- uses those as the limit to range scans in many places:
-
- - Copy/Cut range.
-
- - Copy range to clipboard.
-
- - The recalc minimal scan. (e.g. if you refer to a range like a1:a1000,
- and the last used row is 200, it will only scan a1:a200). This speeds
- up the background recalc if you use large ranges that extend beyond
- the active sheet data.
-
- - SUM(), AVG(), COUNT(), MAX(), MIN(), PROD(), FIRST(), LAST(), and PICK()
- functions. (e.g. if you use sum(a1:a1000) and the last used row is 200,
- it does a sum(a1:a200) instead.) Note that this doesn't apply to CSUM()
- and FSUM() type functions, as they might reference offset cells, so the
- test would have broken them.
-
-
- This means that you can use a formula like =sum(a1:a2000) for a sheet that
- you keep adding rows of data to, and you would have no performance hit as
- it would only scan and sum up to the last row used.
-
-
- - Text Import and Paste from Clipboard now strip all ANSI/ISO escape sequences
- from the source text so that they don't mess up the imported text.
-
-
- - If you use Project-Open and the current project is totally empty (fresh,
- no cells, no changes, and named "Untitled"), that project is closed and
- a new one is loaded in its place. This prevents an empty project staying
- around if you use Project-Open to load projects.
-
-
- - The Paste Function requester (Amiga-F when editing a formula) now has
- a box that shows the format of the function highlighted and also has a
- Details button that brings up the online help document for that function.
-
-
- - In the Edit User Interface Preferences requester, Default Cell Text Color and
- Background View Color now have sliders that range from 0 to 15, and show the
- selected color live next to each gadget as the sliders are changed.
-
-
- ///////////////////////////////////////////////////////////////////////////////
-
- Script Commands:
- ----------------
-
- - Added a new script command: PASTEFUNCTION. It brings up the Paste Function
- requester, and then pastes the selection into the current cell, starting
- a new formula with the function selected. Its main purpose is for a new
- 'paste function' icon which calls the Paste Function requester in or outside
- the cell edit mode.
-
-
- - Rewrote the SOLVE script command:
-
- - It now supports string formulas. Note that if you want to use double-
- quotes within your formula, you should surround the formula with
- single-quotes, for example: SOLVE 'repeat("test ",2)'
-
- - Direct cell references now work.
-
- - The HERE keyword now works. (e.g. SOLVE "col(here)")
-
-
- - Added two new QUERY script commands:
-
- - QUERY COLUMN (or QUERY COL):
- returns the current column's name. (e.g. "A")
-
- - QUERY ROW:
- returns the current row's number.
-
-
- ///////////////////////////////////////////////////////////////////////////////
-
-
- If you have any questions, our support lines are open as usual. You can also
- post them in the SoftWood section in the AmigaVendor forum on Compuserve,
- or e-mail Khalid Aldoseri on 71277.2776@compuserve.com.
-
- Softwood.
-