QubeCalc Abridged User's Manual (C) Copyright FormalSoft 1986-90 All Rights Reserved FormalSoft P.O. Box 1913 Sandy, Utah 84091-1913 (801) 565-0971 DISCLAIMER This software will perform as described when used properly. By using this software you acknowledge that this software may not suit your particular needs or be completely trouble free. If this software does not perform as described, our liability to you is limited to replacing the software or refunding the purchase price (if registered). In no event will FormalSoft be liable to you for any damages, including any lost profits, lost savings or other incidental or consequential damages arising out of the use of or inability to use these programs, even if FormalSoft has been advised of the possibility of such damages. QubeCalc is NOT a public domain program. It is Shareware, which basically means it is a commercial program with a "try before you buy" option. QubeCalc is copyrighted by FormalSoft, and FormalSoft retains all rights pertaining to QubeCalc. FormalSoft grants a restricted permission to users to make and distribute copies of QubeCalc. If you continue to regularly use QubeCalc, you are expected to register with FormalSoft using the form provided on the next page. If QubeCalc is used for business purposes, or for gain, then a copy of QubeCalc must be purchased for each computer it is to be used on. You are granted permission to copy and distribute QubeCalc for evaluation by others on the following conditions: - You may NOT charge anything for QubeCalc itself. You may charge a cost based fee (not to exceed $10) to cover disks and handling. - You may NOT copy the printed documentation in any manner or form. - You may NOT bundle QubeCalc with any other product without prior written permission from FormalSoft. - You may NOT distribute versions of QubeCalc which have been modified in any way. - You must include ALL of the files which are distributed with QubeCalc. These files must be ARCHIVED together if you place them on an electronic bulletin board. FormalSoft provides quantity discounts for QubeCalc. The discount schedule is: QUANTITY DISCOUNT ----------------------- 1-2 0% 3-5 15% 6-9 20% 10-24 25% 25-49 30% 50-99 35% 100-249 40% 250-499 45% 500+ 50% 2 QubeCalc Registration Form -------------------------- QubeCalc is distributed as Shareware and is completely supported by user registrations. You may register your copy of QubeCalc by filling out the form below and mailing it along with $74.95 ($69.95 + $5 s/h) to: FormalSoft QubeCalc Registration P.O. Box 1913 Sandy, Ut. 84091-1913 We can also accept VISA/MC/AMEX at (801) 565-0971. You will receive the latest version of QubeCalc, the complete printed manual, and will be placed on our update list to receive automatic notification of QubeCalc updates and new software releases from FormalSoft. Name:__________________________________________________________ Address:_______________________________________________________ City, State, Zip:______________________________________________ Number of copies:___________ Amount enclosed * :_______________ * UT residents add 6 1/4% sales tax Where did you find out about QubeCalc or get your copy from? _______________________________________________________________ _______________________________________________________________ FormalSoft is currently working on new features to make QubeCalc even more powerful. If there are any features you would like to see added to QubeCalc, please let us know. _______________________________________________________________ _______________________________________________________________ 3 OTHER PRODUCTS FROM FORMALSOFT ------------------------------ ProQube ProQube is FormalSoft's commercial 3D spreadsheet. ProQube is similar to QubeCalc in that it has multiple pages and the ability to rotate the 3D worksheet. In addition, ProQube has: 512 rows, columns, and pages, presentation graphics, an integrated programming language, macro recorder, file manager, mouse support, cell protection, file encryption, the ability to directly import and export 1-2-3, dBase, DIF, and ASCII files (without a translation program), 104 @functions (including lookup tables), EGA 43 row support, expanded memory support, and much more! "ProQube offers much of the functionality of 1-2-3 Release 3.0 while costing only a fifth as much - and it runs on a basic 8088, 640K system with a hard disk." - Personal Computing "ProQube excels at analyzing three-dimensional data from all possible perspectives" - PC Magazine Requirements: 640K, MSDOS 2.0+, and a hard disk. ProQube is available directly from FormalSoft for $99, or you can find it at your local dealer. Call or write for a free demo disk. InstaCalc InstaCalc is a memory resident spreadsheet which can be popped up through your word processor to cut and paste data between the spreadsheet and word processor. It includes all of the same features as QubeCalc except for the 3D capabilities. InstaCalc is available as Shareware (registration price is $49.95 + $5 s/h). 4 CONTENTS WHAT CAN I DO WITH QUBECALC? . . . . . . . . . . . . . . . . 7 GETTING STARTED . . . . . . . . . . . . . . . . . . . . . . . 9 SYSTEM REQUIREMENTS . . . . . . . . . . . . . . . . . . 9 MAKING A BACKUP . . . . . . . . . . . . . . . . . . . . 9 FLOPPY DISK BASED SYSTEM . . . . . . . . . . . . . . . . 10 HARD DISK BASED SYSTEM . . . . . . . . . . . . . . . . . 10 HOW TO RUN QUBECALC . . . . . . . . . . . . . . . . . . . . . 11 THE SETUP PROGRAM . . . . . . . . . . . . . . . . . . . . . . 11 WHERE TO GO FOR HELP . . . . . . . . . . . . . . . . . . . . 12 THE DISPLAY . . . . . . . . . . . . . . . . . . . . . . . . . 13 THE WORKQUBE . . . . . . . . . . . . . . . . . . . . . . . . 14 MOVING AROUND IN THE WORKQUBE . . . . . . . . . . . . . . . . 16 ENTERING DATA INTO THE WORKQUBE . . . . . . . . . . . . . . . 17 NUMBERS . . . . . . . . . . . . . . . . . . . . . . . . 17 TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . 17 FORMULAS . . . . . . . . . . . . . . . . . . . . . . . . 18 THE COMMAND MENUS . . . . . . . . . . . . . . . . . . . . . . 20 SPECIAL FUNCTION KEYS . . . . . . . . . . . . . . . . . . . . 22 MATHEMATICAL FUNCTIONS . . . . . . . . . . . . . . . . . 23 TRIGONOMETRY FUNCTIONS . . . . . . . . . . . . . . . . . 24 STATISTICAL FUNCTIONS . . . . . . . . . . . . . . . . . 25 FINANCIAL FUNCTIONS . . . . . . . . . . . . . . . . . . 26 DATE AND TIME FUNCTIONS . . . . . . . . . . . . . . . . 27 LOGICAL FUNCTIONS . . . . . . . . . . . . . . . . . . . 27 SPECIAL FUNCTIONS . . . . . . . . . . . . . . . . . . . 28 TEXT FUNCTIONS . . . . . . . . . . . . . . . . . . . . . 28 CELL DISPLAY FORMATS . . . . . . . . . . . . . . . . . . . . 30 CELL WIDTHS . . . . . . . . . . . . . . . . . . . . . . . . . 32 ABSOLUTE AND RELATIVE CELL REFERENCES . . . . . . . . . . . . 33 DEFINING A 3D BLOCK OF CELLS . . . . . . . . . . . . . . . . 34 CELL COMMANDS . . . . . . . . . . . . . . . . . . . . . . . . 35 CELL FORMAT . . . . . . . . . . . . . . . . . . . . . . 35 CELL WIDTH . . . . . . . . . . . . . . . . . . . . . . . 35 CELL ERASE . . . . . . . . . . . . . . . . . . . . . . . 35 5 CELL JUSTIFY . . . . . . . . . . . . . . . . . . . . . . 35 CELL COPY (REPLICATE) . . . . . . . . . . . . . . . . . 36 BLOCK COMMANDS . . . . . . . . . . . . . . . . . . . . . . . 36 BLOCK FORMAT . . . . . . . . . . . . . . . . . . . . . . 36 BLOCK WIDTH . . . . . . . . . . . . . . . . . . . . . . 37 BLOCK ERASE . . . . . . . . . . . . . . . . . . . . . . 37 BLOCK JUSTIFY . . . . . . . . . . . . . . . . . . . . . 37 BLOCK COPY . . . . . . . . . . . . . . . . . . . . . . . 37 BLOCK DATAFILL . . . . . . . . . . . . . . . . . . . . . 38 BLOCK NAME . . . . . . . . . . . . . . . . . . . . . . . 38 BLOCK LINK . . . . . . . . . . . . . . . . . . . . . . . 39 BLOCK SORT . . . . . . . . . . . . . . . . . . . . . . . 40 WORKQUBE COMMANDS . . . . . . . . . . . . . . . . . . . . . . 40 WORKQUBE FORMAT . . . . . . . . . . . . . . . . . . . . 40 WORKQUBE WIDTH . . . . . . . . . . . . . . . . . . . . . 41 WORKQUBE ERASE . . . . . . . . . . . . . . . . . . . . . 41 WORKQUBE JUSTIFY . . . . . . . . . . . . . . . . . . . . 41 WORKQUBE PERSPECTIVE . . . . . . . . . . . . . . . . . . 41 WORKQUBE AUTOCALC . . . . . . . . . . . . . . . . . . . 43 WORKQUBE ORDER . . . . . . . . . . . . . . . . . . . . . 44 WORKQUBE COLOR . . . . . . . . . . . . . . . . . . . . . 44 WORKQUBE TITLE . . . . . . . . . . . . . . . . . . . . . 44 INSERTING ROWS, COLUMNS, OR PAGES . . . . . . . . . . . . . . 45 DELETING ROWS, COLUMNS, OR PAGES . . . . . . . . . . . . . . 45 SAVING AND LOADING DATA FILES . . . . . . . . . . . . . . . . 45 PRINTING YOUR DATA . . . . . . . . . . . . . . . . . . . . . 47 GRAPHING YOUR DATA . . . . . . . . . . . . . . . . . . . . . 49 DEFINING AND USING MACROS . . . . . . . . . . . . . . . . . . 50 EXITING FROM QUBECALC . . . . . . . . . . . . . . . . . . . . 52 THE LOTUS IMPORT PROGRAM . . . . . . . . . . . . . . . . . . 52 IMPORTING DIF AND DBASE FILES . . . . . . . . . . . . . . . . 53 EXPORTING DIF, DBASE, AND LOTUS FILES . . . . . . . . . . . . 53 6 WHAT CAN I DO WITH QUBECALC? Welcome to the world of QubeCalc. QubeCalc is a TRUE three dimensional spreadsheet (as opposed to some two dimensional spreadsheets which let you link cells of multiple spreadsheets together). It gives you the ability to look at your data in more ways than you ever imagined possible. You can enter data into the QubeCalc WorkQube just as you would with any other spreadsheet. You could treat the WorkQube as if it were 64 separate spreadsheets which are linked together, but it is much more flexible than just that. Regular spreadsheets allow you to enter data in a row and column format. For example, you might have a spreadsheet which displays the number of sales listed by month and salesman as shown below: 1983 Jan 83 Feb 83 Mar 83 Apr 83 Bill 12 13 14 13 Sam 11 15 12 11 Joe 10 10 13 11 Harry 12 15 13 12 With regular spreadsheets you would need to create a separate sheet for each year's data... and consolidating these spreadsheets into a total overview spreadsheet would require major rehashing or re-entering of the spreadsheet data. With QubeCalc you can enter each year's data into its own page in the WorkQube (1983 in one page, 1984 in the next page, and so on)... and one of the WorkQube's pages can be easily used to link each year's data together as a total overview spreadsheet. But the real power of QubeCalc is its ability to rotate the WorkQube to allow you to look at your data from many different perspectives. The perspective can be changed so that what were once pages are now columns, and your data is now displayed as the number of sales during a given month each year as shown below: Feb 82 Feb 83 Feb 84 Feb 85 Bill 10 13 12 11 Sam 11 15 10 12 Joe 12 10 14 10 Harry 12 15 13 12 And successive pages now list sales in March, then April, then May, and so on. Try doing that with a regular spreadsheet!!!! 7 QubeCalc is extremely powerful, yet it is easy to learn and use. It provides many functions and features found only in very expensive spreadsheet programs, as well as features which can't be found elsewhere at any price!! - You can turn rows into columns, columns into pages, and so on, allowing you to look at your data in any perspective you desire. - You can import and export Lotus 1-2-3, dBASE II, dBASE III, and DIF files. - Interactive context sensitive help screens make learning and using QubeCalc a snap. - A full assortment of predefined functions is provided for you to use in your computations (Math, Trig, Statistics, Finance, Date, Time, Logical, Special, and Text catagories). - You can link to a block of cells in another spreadsheet. - You can sort your data by rows or columns. - You can create graphs from your data. - You can lock title rows and columns on the screen. - A powerful Macro capability allows you to create your own little "programs" within a spreadsheet. - You can confine the automatic recalculation to any block of cells. This can really speed things up in a large spreadsheet. - And much, much more!!! 8 GETTING STARTED SYSTEM REQUIREMENTS QubeCalc is designed to run on an IBM PC, PC/XT, or a true IBM compatible running MS-DOS or PC-DOS (version 2.0 or higher). QubeCalc requires at least 256K of RAM to run, and the full 640K can be accessed if it is available (the more memory, the bigger the spreadsheets you can have). If you want to take advantage of QubeCalc's graphics capabilities, you must have an IBM color graphics adapter or equivalent. QubeCalc uses an overlay structure. This means that the QubeCalc program actually consists of 3 different files; QUBECALC.COM, QUBECALC.000, and QUBECALC.001. QUBECALC.COM is the main part of the program. QUBECALC.000 and QUBECALC.001 are overlay files which contain various features and functions of QubeCalc. When QubeCalc needs to access one of these features or functions, it reads the code for that feature in from QUBECALC.000 or QUBECALC.001. The advantage of using an overlay structure is that the program uses up less memory, thereby freeing up more RAM to put your spreadsheets in. If you place the overlay files (QUBECALC.000 and QUBECALC.001) on a hard disk or in a RAM disk in extended memory, you should not notice any significant delay when these features are accessed. If the overlay files are on a floppy disk, you may notice a small delay when accessing these features. If you have a floppy based system and cannot tolerate the short delays, you may place the overlay files in a RAM disk. QubeCalc needs to know where you place the overlay files. By default, QubeCalc assumes that the overlay files are in the directory where you start up QubeCalc. If you place the overlay files in a RAM disk or in a directory other than where you start the program, then you must run the setup program to create a configuration file which tells QubeCalc where you put the overlays. The setup program can also be used to tell QubeCalc where you placed the help file and which directory you want to use as the startup data directory. It will also let you customize the screen colors which QubeCalc uses. MAKING A BACKUP 9 The first thing you should do is make a backup copy of all the files on the QubeCalc disk. Put this backup away in a safe place in case you waste your working copy. The files which you should find on your disk are: QUBECALC.COM - The QubeCalc program. QUBECALC.000 - An overlay (part of the program). QUBECALC.001 - An overlay (part of the program). REGISTER.DOC - Registration form and other info. QUBECALC.HLP - The HELP file. CONVERT.COM - Converts version 1 and 2 files. GET123.COM - A program to import 1-2-3 files. IMPORT.COM - Imports DIF, dBASE and ASCII files. EXPORT.COM - Exports Lotus, DIF, dBASE, and ASCII files. MANUAL.LZH - The compressed on-disk documentation. PRINTDOC.EXE - Prints the on disk documentation. LHARC.EXE - Uncompresses the on-disk documentation. HARDDISK.BAT - Installs QubeCalc on a hard disk. SETUP.COM - The setup program. EXAMPLE.QUB - An example data file. FLOPPY DISK BASED SYSTEM Place the QubeCalc disk into the current drive and type QUBECALC at the DOS prompt. If you do not put the overlay files (QUBECALC.000 and QUBECALC.001) into a RAM disk, or if you wish to make use of the Help facility (and don't put the help file into a RAM disk), you must leave the QubeCalc disk in the drive (because that is where the help and overlay files will be located). HARD DISK BASED SYSTEM Change to the A: drive. Then place the QubeCalc disk into the A: drive and type HARDDISK. This program will create a directory named \QUBECALC on the C: drive and will copy all of the files from the QubeCalc disk into the new directory. QubeCalc can then be run by first changing to the \QUBECALC directory and typing QUBECALC at the DOS prompt. The best setup is to leave all of the files in the \QUBECALC directory, and always start up from within that directory. That way, QubeCalc will always know where all of it's system files are (overlays, help, etc.). 10 HOW TO RUN QUBECALC QubeCalc may be run by simply changing to the \QUBECALC directory and typing: QUBECALC followed by a carriage return. THE SETUP PROGRAM A setup program is included to let you customize QubeCalc. This setup program (named SETUP.COM) allows you to set several parameters and then creates a file named QUBECALC.CFG. When you run QubeCalc it looks for the QUBECALC.CFG file in the same directory as the QubeCalc program. If this file is not found or doesn't exist (because you haven't run SETUP.COM) then QubeCalc will use its own preset values. This program is run by changing to the QUBECALC directory and typing SETUP at the DOS prompt. You may choose your own favorite colors for the QubeCalc screen (if you have a color monitor). The F1 through F6 function keys allow you to select the foreground and background colors for the various parts of the QubeCalc display. The F7 function key allows you to select the color you wish to use when creating a graph. Pressing any of these keys simply changes the appropriate part of the display to the next available color. You can also set a startup data drive and directory which QubeCalc will use as the location for data files when it is first run. Pressing the F8 function key will place you into edit mode so that you may enter a drive and directory name. Once your changes have been made, just hit return to exit from edit mode. If you want QubeCalc to use your default directory as the startup data directory, then simply leave the startup directory name blank. The F9 and F10 function keys allow you to specify which directories QubeCalc should look in to find its overlay and help files. For example, if you placed the overlay files into a RAM disk named D:, then you would need to press the F9 key and enter D: as the overlay directory. If you don't specify an overlay or help directory, then QubeCalc will use the directory you started QubeCalc from as the overlay and help directory. 11 Once you are happy with the colors you have selected and the startup directory, just hit Alt-S (hold down the Alt key and press S) to create the QUBECALC.CFG file. If you decide you would rather not create a new QUBECALC.CFG file, then the ESC key will exit without creating the file. If you don't like your new colors or startup data directory after all, you can either run SETUP.COM again, or just delete QUBECALC.CFG and let QubeCalc use its defaults. NOTE An increasing number of users are using systems which have a color card but a monochrome monitor. QubeCalc will work with such a system, but the setup program must be run first. QubeCalc detects whether a color card is present. If a color card is detected, QubeCalc will use its color mode. The colors used for the cell pointer and axes, however, do not map to inverse video on a monochrome monitor. Here is the procedure to take care of this situation: 1. Run SETUP as described above. 2. Set the colors to be: - WorkQube White on Black - Cell and Axes Black on Light Gray - Block Black on Light Gray WHERE TO GO FOR HELP If you find yourself in need of help while using QubeCalc it is only a keystroke away. QubeCalc provides what is known as interactive context-sensitive HELP screens. Interactive means that you can easily switch from one HELP screen to another. Context sensitive means that QubeCalc is keeping track of what you are doing so that it can provide the proper HELP screen when you ask for it. In order to call up a HELP screen all you need to do is hit the [F1] HELP key. QubeCalc will pop up a HELP screen to assist with whatever you are currently doing. If the HELP screen provides the information you need, then you simply hit the ESC key to return to what you were doing. 12 THE DISPLAY The QubeCalc screen looks much like the screen of any other spreadsheet. It consists of cells laid out in rows and columns. At the top of each column in the WorkQube is a letter (or 2 letters) of the alphabet. This letter (or letters) provides a means of telling columns apart. The first 26 columns are labeled with the letters A through Z. Since there are 64 columns but only 26 letters, the remaining columns must use 2 letters to identify them. To the left of each row in the WorkQube is a number to let you know which rows you are looking at. The top row in the WorkQube is row 1 and the bottom is row 64. The area where a row and a column cross is known as a "cell". Each cell in the WorkQube is identified by the letter (or letters) of the column it is in, the number of the row it is in, and the number of the page it is in. For example, the cell that is in column BX and row 29 on page 4 is named BX29;4 (the column letters always come before the row number, and the page number is separated by a semicolon). Each one of the cells may contain some text, a number, or a formula. The QubeCalc screen also provides information such as the number of bytes available for data, the current directory for data files, the name of the current file (if any), the current block for recalculation, and a cell status line. The cell status line is located in the top lefthand corner of the screen and looks something like this: [C]B4;5: NUMBER (9) Each component of the above line tells you certain information about the current perspective and cell. The [C] tells you that you are currently viewing perspective C (see the next section for more information on perspectives). The B4;5 tells you that the cell you are currently at is in column B, row 4, and page 5. The next item "NUMBER" tells you what type of item is in the current cell (this item can be either BLANK, TEXT, NUMBER, FORMULA, or ERROR). And finally, the value in the parentheses (9) tells you what the width of the current cell is set to. The next to bottom line on the display is an index to the function keys (F1 through F10) so you don't have to memorize or look them up all the time. 13 THE WORKQUBE The QubeCalc spreadsheet (known as the WorkQube) may be most easily thought of as a large cube containing 262,144 cells. These cells are arranged into 64 rows, 64 columns, and 64 pages. Each one of the cells may contain some text, a number, or a formula. |------------------------- | PAGE 64 |--------- FACE C ----------- | PAGE 3 |----------------------------- B | PAGE 2 |----------------------------| E | A B C D E F .. | C | 1 | A | 2 | F | 3 PAGE 1 | | 4 FACE A | | 5 | | 6 | | : | |----------------------------| There are six (6) different faces on the WorkQube (just like on a toy block), which are named A, B, C, D, E, and F. Faces A, B, and C are shown above. Face D is on the opposite side of the block from Face A, Face E is opposite Face B, and Face F is opposite Face C. QubeCalc provides a familiar spreadsheet window into each of these 6 faces, which allows you to view, enter, or otherwise manipulate your data from any of the 6 faces of the WorkQube. This provides 6 different perspectives of the data stored within the WorkQube. 14 The easiest way to see the power of QubeCalc is by example. 1. Start up QubeCalc by typing: QUBECALC EXAMPLE This will run QubeCalc and automatically load the 3D spreadsheet named EXAMPLE.QUB. This file contains a small 3D spreadsheet. This small spreadsheet lists the amount of money spent in several budgets during January, April, July, and October. Each page of the 3D spreadsheet provides this data for a different year. Play with the PgUp and PgDn keys to change pages and see this data. 2. Now, move the cell pointer to cell D7;3 (this is cell D7 on page 3). This is the value spent on rent for April 1983. 3. We will now use the /WorkQube Perspective command to let us see how this value compares with April rents in other years. Since these values are now in different pages, and we want them to be in adjacent columns, we want to rotate the WorkQube so that we are looking at our data from Face B. Change to Perspective B by pressing the slash key /, then W (for WorkQube), then P (for Perspective), and then B (to change to Face B). You will instantly see the Rent paid in April of 83, 84, 85, 86, and the total April payments. 4. You may have noticed that a cell's name changes from face to face... for example: cell D7;3 in Face A is cell C7;4 in Face B. This is simply because you are looking at your data from a different perpective (or angle), and what are columns in one face might be pages in another face... and cell names change so that every face provides "lettered" columns and "numbered" rows and pages. Don't worry about cell references... they also change from face to face, so that references always point to the same data, regardless of which face they're in. 5. You may want to play around and look at this data from all 6 perspectives (some perspectives provide more information than others). 15 MOVING AROUND IN THE WORKQUBE QubeCalc allows you to move to any of the 262,144 cells in the WorkQube. You go to a new cell by moving the "cell pointer". The cell pointer is a highlighted bar on the screen which "points to" the cell in the WorkQube which is the current cell. QubeCalc provides several ways of moving the cell pointer around in the WorkQube. Any of these methods of moving can be used anytime you need to move the cell pointer to another location, including when you are defining a 3D block of cells. The Arrow keys on the cursor pad can be used to move the cell pointer up, down, left, or right one cell position. If you try to move the cell pointer beyond the edge of the screen, the screen will scroll to the next row or column (assuming there is a row or column to scroll to). The PgUp key moves the cell pointer up to the next higher page number. The cell pointer will be moved to the cell with the same row coordinate and column coordinate (but the next higher page coordinate) as the cell you moved from. The PgDn key moves the cell pointer down to the next lower page number. The cell pointer will be moved to the cell with the same row coordinate and column coordinate (but the next lower page coordinate) as the cell you moved from. The Home key moves the cell pointer to the top left corner of the current page (the first row and the first column). The End key moves the cell pointer to the lower right corner of the current page (the last row and the last column). The Ctrl Right Arrow and Ctrl Left Arrow keys let you move one screen's worth of columns to the right or left. These key sequences are generated by holding down the control key (Ctrl) and pressing either the left or right arrow. The Ctrl PgUp and Ctrl PgDn keys let you move up or down one screen's worth of rows. These key sequences are generated by holding down the control key (Ctrl) and pressing either the PgUp or PgDn key. QubeCalc also provides two additional functions to help you move to another cell. These two functions are the [F5] GOTO and the [F6] FIND functions. 16 ENTERING DATA INTO THE WORKQUBE Each cell in the WorkQube may hold either a number, some text, or a formula. You may enter any of these items into a cell by simply typing what you want on the command line. You may enter up to 70 characters worth of data into each cell. The data will be entered into the cell when you hit the return key or one of the movement keys on the cursor pad (arrows, PgUp and PgDn). If you finish entering the data using the return key, the cell pointer will remain positioned at the same cell. If you finish entering the data using one of the movement keys, the data will be entered into the current cell, and then the cell pointer will move to another cell in the direction you specified. NUMBERS A number can be entered into a QubeCalc cell by simply typing in the number. The number which you enter will be placed in the cell which is currently highlighted by the cell pointer. A number can be anything in the range from -1.0E+37 to +1.0E+37, and can have up to 11 significant places. A number may be entered in either standard notation (i.e. 12.345) or in scientific notation (i.e. 1234.5e-2). TEXT Text strings may be entered into a QubeCalc cell by simply typing in the string. The text which you enter will be placed in the cell which is currently highlighted by the cell pointer. If the text contains more characters than the column is wide, it will spill over into adjacent cells (if the adjacent cells are blank). If the adjacent cells contain data, then the extra characters in the text string will be hidden from view (but they will still be in the cell). There are four (4) special characters which may begin a text string and which affect the way the text is displayed. These characters are: ' causes the text to be left justified in the cell " causes the text to be right justified in the cell ^ causes the text to be centered in the cell \ causes the next character to be repeated If text is entered without one of the above special characters as the first character, the global (WorkQube) justification character is placed on the text automatically. When QubeCalc first starts up the WorkQube justification is set as left ' justified. You can change this by selecting /WorkQube Justify and making a new choice. 17 Once the text has been entered into a cell, you may change the justification using either the /Cell Justify or the /Block Justify commands (or use the [F2] EDIT function key to enter edit mode and just change the justification character to the one you want). FORMULAS A QubeCalc cell may contain a formula which is made up of numbers (or text in some cases), references to values in other cells, predefined functions, and mathematical, logical, and comparison operators. The formula which you enter will be placed in the cell which is currently highlighted by the cell pointer. A formula must begin with an equal sign '=' and may be as complex as desired. For example... =-2*@SIN(@IF(C2;3,@PI,@PI/2))/(@AVG($D14;2..F15;4)) The items beginning with an @ symbol in the example above (@SIN, @IF, etc.) are just a few of QubeCalc's predefined functions. These functions are described in the section titled PREDEFINED FUNCTIONS. The following operators are available to be used in a formula (a and b can be any number, cell reference, function, or formula): MATHEMATICAL a+b Addition a-b Subtraction a*b Multiplication a/b Division a^b Exponentiation LOGICAL a&b And (is true only if a is true AND b is true) a|b Or (is true is a is true OR b is true) ~b Not (is false if b is true, and is true if b is false) COMPARISON a =b is true if a is equal to b a<>b is true if a is NOT equal to b a b is true if a is greater than b a<=b is true if a is less than or equal to b a>=b is true is a is greater than or equal to b 18 In addition, the + operator can be used to concatenate 2 strings. For example: "This is" + " a test" returns "This is a test" Operations using these operators will follow the normal order of precedence (order of precedence means the order that operations are performed). The order of precedence is: 1. Exponentiation [ ^ ] 2. Negation [ - ] 3. Multiplication and Division [ *, / ] 4. Addition and Subtraction [ +, - ] 5. Comparison [ =, <, >, <=, >=, <> ] 6. Not [ ~ ] 7. And/Or [ &, | ] where exponentiation is performed before negation and so on. If you wish to change the order in which operations are performed, then you may use parentheses in your formulas. Operations which you place in parentheses will be performed before those outside the parentheses. The [F3] BLOCK key allows you to define a cell or block reference to be placed in a formula (or any other type of line for that matter) when you are entering data. This can often simplify the chore of entering cell or block references. The [F4] ABS key, when used in conjunction with the [F3] BLOCK key, toggles the cell and block references between absolute and relative. For more information on these functions see the sections titled DEFINING A BLOCK OF CELLS and ABSOLUTE AND RELATIVE REFERENCES. SPECIAL NOTE: When entering cell references (i.e. B3;4), you may ignore typing in the page number (and the semicolon) if the reference is to a cell on the same page as the formula. If you leave the page number off, QubeCalc will automatically add the current page number to the reference when the formula is entered into the cell. 19 THE COMMAND MENUS QubeCalc provides many powerful commands which are available through the Command Menus. You may call up the Command Menus by pressing the slash "/" key. This will provide a list of Menu options across the top of the WorkQube. The first menu that pops up when you hit the slash key looks like this: Cell Block WorkQube Insert Delete Print Graph File Quit The word Cell will be in a highlighted bar. This bar is known as the Menu Bar. Items from the Menu may be selected in one of two ways. The first way is to simply type the first letter of the Menu option desired. The second way is to use the arrow keys to move the Menu Bar to the desired Menu item and then press the return key to select the item. For example, if you wanted to perform an operation on a file, you could start in one of 2 ways: 1. Hit the / key (which pops up the Main Menu), and then type the letter "f" (for "File"). or 2. Hit the / key, then hit the right arrow 7 times (or the left arrow 2 times) to move the Menu Bar on top of the word "File", and then hit the return key. Either of these methods will pop up a new menu (the "File" menu). Items from all future menus may be also be selected by typing the first letter or using the arrow keys. If you ever get into a Menu that you don't want to be in, just hit the escape key (ESC) to get out. The /Cell command provides options dealing with the contents of a single cell. For more information on this command and its options see the section titled CELL COMMANDS. The /Block selection provides options dealing with the contents of a block of cells which you define. For more information on this command and its options see the section titled BLOCK COMMANDS. The /WorkQube selection provides options dealing with the contents of all the cells in the QubeCalc workspace. For more information on this command and its options see the section titled WORKQUBE COMMANDS. 20 The /Insert command provides the capability to insert a blank row, column, or page of cells into the WorkQube. For more information on this command and its options see the section titled INSERTING A ROW, COLUMN, OR PAGE. The /Delete command provides the capability to delete a row, column, or page of cells from the WorkQube. For more information on this command and its options see the section titled DELETING A ROW, COLUMN, OR PAGE. The /Print command provides the capability and options to print defined blocks of cells on a printer. For more information on this command and its options see the section titled PRINTING YOUR DATA. The /Graph command provides the capability and options to create graphs from data within QubeCalc. For more information on this command and its options see the section titled GRAPHING YOUR DATA. The /File command provides the capability to save and load all or part of the cells to/from a file. For more information on this command and its options see the section titled SAVING AND LOADING DATA FILES. The /Quit command exits QubeCalc. The WorkQube is not automatically saved... remember to save first! For more information on this command and its options see the section titled EXITING FROM QUBECALC. 21 SPECIAL FUNCTION KEYS QubeCalc provides several special functions which have been assigned to the 10 function keys F1, F2, .. F10. These special functions are listed below, along with the name of the section in this manual which provides more detailed information about the function. [F1] HELP Calls up a context sensitive HELP screen. See: WHERE TO GO FOR HELP [F2] EDIT Allows you to edit the contents of a cell. See: EDITING THE CONTENTS OF A CELL [F3] BLOCK Allows you to point when editing. See: DEFINING A BLOCK OF CELLS [F4] ABS Toggles between absolute/relative. See: DEFINING A BLOCK OF CELLS [F5] GOTO Allows you to go to a designated cell. See: MOVING AROUND IN THE WORKQUBE [F6] FIND Searches for a string in the WorkQube. See: MOVING AROUND IN THE WORKQUBE [F7] STAT Displays the status of the WorkQube. [F8] MACRO Allows you to define/undefine user macros. See: DEFINING AND USING MACROS [F9] CALC Performs a recalculation of the WorkQube. See: WORKQUBE COMMANDS (AUTOCALC) [F10] GRAPH Displays the current graph. See: GRAPHING YOUR DATA 22 PREDEFINED FUNCTIONS QubeCalc provides a large assortment of predefined functions which may be used in formulas. These functions generally fall into eight catagories; Mathematical, Trigonometry, Statistical, Logical, Financial, Date/Time, Special, and Text. Most of these functions require one or more arguments. An argument is a value which the function uses as an input to provide an output value. An argument may be a number, a text string, a reference to a value in another cell, or another formula (in the case of the statistical functions, an argument may also be a range or block of cells). The function will return either a numerical or text value and may be treated exactly like a number or text would be. Functions may be nested as deeply as desired (just remember that there is a 70 character per cell limit, though). The function names must begin with an @ and must be CAPITALIZED. If you provide an illegal argument to a function it will return ERROR as the value. MATHEMATICAL FUNCTIONS @ABS(X) returns the absolute value of X. @EXP(X) returns e to the X power (e = 2.7). The value of the argument must be less than 85.2 or an overflow will occur and the @EXP function will return ERROR as the value. @LN(X) returns the natural log of X. The value of the argument must be greater than 0 or the @LN function will return ERROR as the value. @LOG(X) returns the log base 10 of X. The value of the argument must be greater than 0 or the @LOG function will return ERROR as the value. @INT(X) returns the integer part of X (the part of the argument which is in front of the decimal point). The sign of the value returned is the same as that of the argument. @FRAC(X) returns the fractional part of X (the part of the argument which is after the decimal point). The sign of the value returned is the same as that of the argument. @MOD(X,Y) returns X modulo Y (the remainder when X is divided by Y). Since dividing by 0 is illegal, Y can not be equal to 0. 23 @RAND returns a random number which is greater than or equal to zero and is less than one. The value of @RAND will change to a new random value every time the WorkQube is recalculated. Notice that @RAND does not require an argument or parentheses. @ROUND(X,Y) returns X rounded to Y decimal places. @SQRT(X) returns the square root of X. The argument X must be either zero or a positive number. If the argument is negative then @SQRT will return the ERROR value. @FACT(X) returns X factorial. The argument must be between 0 and 30 (including 0 and 30). If the argument is not an integer value then the @FACT function will use the value of the argument rounded to the nearest integer. @SGN(X) returns the sign of X. If X is negative then @SGN returns -1. If X is positive then @SGN returns 1. If X is zero then @SGN returns 0. @CELL returns the value of the cell pointed to by the cell pointer. This function is provided mainly to be used with the /Macro If command as a way for a macro to obtain the value of the current cell. When the @CELL function is used in a formula in the WorkQube, its value is updated only when a recalculation takes place (just like any other function). It is NOT updated every time the cell pointer is moved. TRIGONOMETRY FUNCTIONS @PI returns the value of Pi (3.14159...). Notice that the @PI function does not require an argument or parentheses. @COS(X) returns the Cosine of X. @SIN(X) returns the Sine of X. @TAN(X) returns the Tangent of X. @ACOS(X) returns the Arc Cosine of X (the angle whose cosine is X). The value of X must be in the range -1 to 1 or the @ACOS function will return ERROR as its value. @ASIN(X) returns the Arc Sine of X (the angle whose sine is X). The value of X must be in the range -1 to 1 or the @ASIN function will return ERROR as its value. @ATAN(X) returns the Arc Tangent of X (the angle whose tangent is X). 24 STATISTICAL FUNCTIONS QubeCalc provides seven statistical functions which will calculate and return various statistics of a list of values. The list may consist of numbers, references to values in other cells, formulas, or a range or block of cells. Blocks of cells are defined by using the cell names of two opposite corners of the block separated by two periods (for example: C14;2..D16;3. Each individual item in the list must be separated by a comma. EXAMPLE: 1.23 + the value in the cell A1;1 + 2*3.14159... + the sum of the values in each cell in the block defined by the cells C14;2 and D16;3 =@SUM(1.23, A1;1, 2*@PI, C14;2..D16;3) If a cell reference which is used as an argument to a statistical function is blank it will be treated as having a value of zero. Any BLANK cells in a BLOCK, however, will be ignored by the statistical functions. Any cells which contain TEXT will not be ignored and will be treated as having a value of zero. @AVG(list) returns the average of all the items in the list. If the list contains only a block of all BLANK cells then @AVG will return ERROR as its value (because blank cells in a block are ignored and you can't take an average of no values). @COUNT(list) returns the number of items in the list. A number or formula is counted as 1 item, a cell reference is counted as one item (even if it is BLANK), and a block is counted as the number of non-BLANK cells in the block. @MAXI(list) returns the maximum value in the list. If the list contains only a block of all BLANK cells then @MAXI will return ERROR as its value (because blank cells in a block are ignored and you can't find a maximum of no values). @MINI(list) returns the minimum value in the list. If the list contains only a block of all BLANK cells then @MINI will return ERROR as its value (because blank cells in a block are ignored and you can't find a minimum of no values). 25 @STD(list) returns the standard deviation of all the items in the list. If the list contains only a block of all BLANK cells then @STD will return ERROR as its value (because blank cells in a block are ignored and you can't calculate a standard deviation of no values). @SUM(list) returns the sum of all the items in the list. @VAR(list) returns the variance of all the items in the list. If the list contains only a block of all BLANK cells then @VAR will return ERROR as its value (because blank cells in a block are ignored and you can't calculate a variance of no values). FINANCIAL FUNCTIONS QubeCalc provides 4 financial functions. In these functions the number of periods must be greater than zero and the interest rate must be greater than or equal to -1 (if the interest rate is 10%, the value of the Interest argument should be 0.1 ). In the functions where an Interest argument is required, the Interest rate is per Period. For example, if your periods are in months, then your interest rate should be the interest rate per month (not per year). @FV(Payment, Interest, Periods) returns the future value of an annuity where Payment dollars are invested per period for the number of Periods at the given percentage of Interest. @PV(Payment, Interest, Periods) returns the present value of an annuity where Payment dollars are received per period for the number of Periods at the given percentage of Interest. @PMT(Principal, Interest, Periods) returns the payment per Period due for borrowing Principal dollars for the number of Periods at the given percentage of Interest. @CGR(Present Value, Future Value, Periods) returns the compound growth rate per period for an annuity growing from the present value to the future value over the given number of periods. 26 DATE AND TIME FUNCTIONS QubeCalc represents dates as serial numbers where Jan 1, 1900 = 1, Jan 2, 1900 = 2, and so on. This number represents the number of days from Dec 31, 1899. Time is represented as a fraction of a day where midnight = 0.0, noon = 0.5, 6:00PM = 0.75, and so on. This allows dates and times to be manipulated with ordinary math operations. For example, you could find out what day, month, and year 90 days from today is by simply adding 90 to the serial number which represents today's date. @NOW returns a number whose integer part is the serial number for the current date and fraction part represents the current time. To take advantage of this function you need to set the time and date when you boot up, or you must have a built in clock. If the current time and date were 8:05:17 AM on July 4, 1976, then the @NOW function would return the value 27945.337. @DATE(Year, Month, Day) returns the serial number for the given year, month, and day. @TIME(Hour, Minute, Second) returns the fraction for the given hour, minute, and second. @YEAR(X) returns the year for the serial date X. @MONTH(X) returns the month for the serial date X. @DAY(X) returns the day for the serial date X. @HOUR(X) returns the hour for the fraction time X. @MINUTE(X) returns the minute for the fraction time X. @SECOND(X) returns the second for the fraction time X. LOGICAL FUNCTIONS @TRUE returns the value 1. @FALSE returns the value 0. @ISNUM(X) returns TRUE if X is a number. @ISTEXT(X) returns TRUE if X is text. @IF(CONDITION, ARG1, ARG2) If the value of CONDITION is true (not equal to 0) then ARG1 is returned, otherwise ARG2 is returned. The @IF function can return either text or numerical values (or both) as ARG1 and ARG2. 27 SPECIAL FUNCTIONS @CHOOSE(SELECTOR, ARG1, ARG2,..., ARGN) If the value of SELECTOR is 1 then ARG1 is returned, if SELECTOR is 2 then ARG2 is returned, and so on. If SELECTOR is greater than the number of arguments provided, ERROR is returned. If the value of SELECTOR is not an integer value, then the @CHOOSE function will use the value of SELECTOR rounded to the nearest integer. The @IF function can return either text or numerical values (or both) as ARG1 and ARG2. NOTE: The @CHOOSE function in Lotus spreadsheets returns ARG1 if SELECTOR is 0 (not 1 like in QubeCalc). This difference is important to remember if you import a Lotus file which uses the @CHOOSE function. @INDEX("block name",ColOffset,RowOffset,PageOffset) returns the value of the cell in "block name" which is RowOffset rows, ColOffset columns, and PageOffset pages from the first cell in "block name". The top row of the block has a RowOffset of 0, the left column of the block has a ColOffset of 0, and the first page of the block has a PageOffset of 0. The "block name" does not actually have to be a complete range. It may be a single cell (like "A1;1"). **NOTE** RowOffset, ColOffset, and PageOffset refer to the row, column, and page offset in FACE A. If you are viewing your data from a face other than face A, the offset arguments will still be relative to face A. This is done to keep the @INDEX function working the same regardless of which face you happen to be viewing. TEXT FUNCTIONS QubeCalc provides the following functions which allow you to manipulate strings (text). A text string used in a formula must be enclosed with quotes "like this". A formula which accepts text arguments may reference cells which contain text. The referenced text may be either an ordinary text cell or the results of a text formula. 28 EXAMPLES: ="Hi"+" there" will return and display "Hi there" (without the quotes) =A1;2+B3;4 will return and display "Hi there" (without the quotes) if A1;2 contains "Hi" and B3;4 contains " there" @UPPER(S) converts S to all upper case. @LOWER(S) converts S to all lower case. @LEN(S) returns the number of characters in S. @VALUE(S) returns the number which S looks like. @STRING(number,x) returns a string which looks like the number, with x digits after the decimal. @FIND(string1,string2,x) finds the first occurance of string1 in string2 starting at position x. The first character of a string is position 1, the next character is position 2, and so on. (Note that this differs from 1-2-3, which calls the first character position 0, the second character position 1, and so on). The comparison is case sensitive (Upper and lower case letters must match exactly). If you don't want case sensitivity, then simply use the @UPPER function on both of the string arguments. If a match is not found, then @FIND will return a value of zero. @MID(S,start,n) returns n characters from S, starting with position start. @LEFT(S,n) returns the n left characters from S @RIGHT(S,n) returns the n right characters from S @REPLAC(STRING,START,N,NEWSTRING) removes N characters from STRING starting at character START, and inserts NEWSTRING into STRING at this same position. @REPLAC can therefore be used as a replace, insert, or delete function. If you set N to zero, then @REPLAC will simply insert NEWSTRING into STRING at position START. If you set NEWSTRING to an empty string "", then @REPLAC will simply delete N characters starting at position START. 29 CELL DISPLAY FORMATS QubeCalc allows you to choose a number of different ways to display numeric data (cells which contain numbers or formulas). Changing the display format of a cell has no affect on the number or formula in the cell, it just changes how the result is displayed on the screen (or output to a printer). When a cell is first filled with data, the cell will take on the global (WorkQube) format. You can see what this format is by pressing the [F7] STAT key. The WorkQube format may be changed by using the /WorkQube Format command. The format of a cell which already contains data may be changed using either the /Cell Format command or the /Block Format command. If the formatted value contains more characters than the cell is able to display, then the cell display will be filled with asterisks (*******). You can fix this in one of two ways. First, you can select a display format which requires fewer characters to display (or reduce the number of digits after the decimal point to be displayed). The second method is to increase the cell width using the /Cell Width command. Cell widths are described in more detail in the next section. The available formats are described below. Numbers which are in cells with the GENERAL format are displayed in as general a format as possible. If the number is an integer value, then it will be displayed without a decimal point or trailing digits. If the number has a fractional part, then as many significant digits as possible will be displayed. If the column is not wide enough to display even the integer part of the number, then the number will be displayed in scientific notation. 30 Numbers which are in cells with the CURRENCY format are displayed with a leading dollar sign, and negative values are enclosed within parentheses. You must specify how many digits you want to be displayed after the decimal point. You will also be asked whether you want commas to be used to make large numbers more readable. Numbers which are in cells with the FIXED format are displayed with a specified number of places after the decimal point displayed. You will also be asked whether you want commas to be used to make large numbers more readable. Numbers which are in cells with the PERCENT format are converted to a percentage value (multiplied by 100) and are displayed with a trailing percentage sign. You must specify how many digits you want to be displayed after the decimal point. You will also be asked whether you want commas to be used to make large numbers more readable. Numbers which are in cells with the SCIENTIFIC format are displayed in scientific notation. This format displays numbers in the form M.MMME(+or-)XX where M.MMM is the mantissa and XX is the exponent. Values which are displayed with the scientific format will contain as many significant digits as can be fit into the cell width (up to a maximum of 11 significant digits). Numbers which are in cells with the DATE format are displayed as a date. QubeCalc represents dates as serial numbers where Jan 1, 1900 = 1, Jan 2, 1900 = 2, and so on. This serial number represents the number of days from Dec 31, 1899. This format uses the value in the cell rounded to the nearest integer as the serial number, and generates a display for the date corresponding to that number. Numbers which are in cells with the TIME format are displayed as a time. QubeCalc represents time as a fraction of a day where midnight is the start of the day (0.0), noon is half a day (0.5), 6PM is 0.75 of a day and so on. This format uses the fractional part of the value in the cell, and generates a display for the time corresponding to that number. Numbers which are in cells with the HIDDEN format are NOT displayed. The data is still in the cell and the number (or formula) contents are still shown on the command line. 31 CELL WIDTHS QubeCalc assigns a width to each cell in the WorkQube. The width of a cell is a number which tells how many characters can be displayed in the cell. This width is used to help determine how wide the columns should be. A width is assigned to each individual cell (instead of to columns like in 2D spreadsheets) because each cell is a member of 3 different columns (depending on which Perspective you are looking at). Columns are automatically adjusted to be the same width as the widest non-BLANK cell in the column. If all the cells in a column are blank, the column width is set to the global (WorkQube) width. This allows column widths to remain flexible regardless of which perspective you are viewing. The width of a cell may be any number in the range 1 to 75. If a cell is not wide enough to display a formatted value or formula, the cell display will be filled with asterisks (*****). You may change cell widths either individually (using the /Cell Width command) or as a block (using the /Block Width command). When the WorkQube width setting is changed (using the /WorkQube Width command) it will affect only those cells which will be filled in the future and will not affect those cells which already contain data. The width of the current cell is always displayed at the end of the cell status line in the upper left hand corner. It is the number which is enclosed in parenthesis... i.e. (9). Special care needs to be taken when copying cells to other locations. Because a width is assigned to each individual cell (rather than to a column), if you copy a cell which has a cell width larger than the column you copy it to, it will increase the width of the new column. 32 ABSOLUTE AND RELATIVE CELL REFERENCES Cell references in a formula can be either absolute or relative. Absolute cell references begin with the character "$" (for example $A1;1), but relative cell references do not use any special character (for example A1;1). The value of a formula is the same regardless of whether cell references in the formula are relative or absolute. For example, the formula =@SIN(A1;1) will have the same value as =@SIN($A1;1). The purpose of relative and absolute references is to let QubeCalc know what to do when moving formulas around from cell to cell (for example: when copying, inserting, deleting). You can have both absolute and relative references in the same equation if you want. An ABSOLUTE cell reference in a formula will ALWAYS point to the exact same cell no matter where the formula is moved to. A RELATIVE cell reference in a formula ALWAYS points to the cell which is a certain number of rows and columns away. If the formula is moved, the new relative cell reference will be adjusted to point to the cell the same number of rows and columns away from the new cell. 33 DEFINING A 3D BLOCK OF CELLS QubeCalc provides many functions and commands which operate on a 2 dimensional range of cells or a 3 dimensional block of cells (for example, the [F3] BLOCK function and all of the /Block commands). These commands require you to define a block of cells to perform the operation on. There are two different ways to define a block of cells. 1. You may simply type in the block. This block consists of two cell references separated by two periods (for example A1;1..Z20;5). The two cell references (in this case A1;1 and Z20;5) should be the cells at opposite corners of the block to be defined. 2. You may also define a range or block of cells by highlighting the desired block and then pressing the return key. When a block is being defined all the cells in the block (which are visible) will be highlighted on the screen. On the command line you will see either a single cell address or a block address (2 cell addresses separated by 2 periods). A single cell address means that an "anchor" cell has not been selected. In this case, moving around with the arrow keys or the PgUp or PgDn key simply moves the cell pointer to a new cell, but does not highlight (or define) any other cells. If an anchor cell has been selected then ALL cells between the anchor cell and the current cell are defined (and highlighted if visible). The following keys are useful (or necessary) when defining a block: The arrow keys, PgUp, PgDn, Ctrl Left Arrow, Ctrl Right Arrow, Ctrl PgUp, and Ctrl PgDn allow you to move the cell pointer around. The Return key causes all the cells in the block on the command line to be defined. If only a single cell reference is displayed when you press the return key, then that cell will be defined. Typing a period (.) when defining a block sets the anchor to the current cell. If an anchor was set before you pressed the period then it is released before the new one is set. The ESC key releases the anchor if it is set. If the anchor is not set and you type the ESC key then you are returned to whatever you were doing before you started defining the block. 34 CELL COMMANDS The /Cell option of the main menu provides several commands to manipulate the contents and status of a single cell. The cell which is affected is the one which is currently highlighted on the screen by the cell pointer and is known as the current cell. The /Cell commands which are available are: Format Width Erase Justify Copy CELL FORMAT The /Cell Format command allows you to set or change the way numerical data in the current cell is displayed. Numerical data means either a number or a formula (which yields a number). If the cell is BLANK then the format will NOT be changed and the cell will continue to have the WorkQube Format (which can be changed using the /WorkQube Format command). The available formats are Currency, Fixed, Percent, Scientific, Date, Time, General, and Hidden. For more information on formats see the section titled CELL DISPLAY FORMATS. CELL WIDTH The /Cell Width command allows you to change the number of characters which can be displayed in the current cell. If the cell is BLANK then the width will NOT be changed and the cell will continue to have the WorkQube Width (which can be changed using the /WorkQube Width command). The width of a cell can be any value in the range 1 to 75. For more information on cell widths see the section titled CELL WIDTHS. CELL ERASE The /Cell Erase command allows you to erase the contents of the current cell. All the characteristics of the current cell will return to the global (WorkQube) settings. This includes the display format, the number of digits after the decimal point, and the cell width. The cell type will be reset to BLANK and the memory used by the cell will be deallocated for use by future data. CELL JUSTIFY The /Cell Justify command allows you to change the way text strings are displayed (justified) in the current cell. Text may be left justified, right justified, or centered in the cell. If the cell is BLANK then the justification will NOT be changed and the cell will continue to have the WorkQube Justification (which can be changed using the /WorkQube Justify command). For more information on justification see the section titled ENTERING DATA INTO THE WORKQUBE (Text). 35 CELL COPY (REPLICATE) The /Cell Copy command allows you to copy a single cell to a 3 dimensional block of cells. First, move the cell pointer to the cell to be copied, then select the /Cell Copy command. You will then be asked to define the block to copy the cell to. You may use any of the movement keys (including the [F5] GOTO and [F6] FIND keys) to define the block as described in the section titled DEFINING A 3D BLOCK OF CELLS. Once the block has been defined the contents of the original cell will be copied into each cell in the block. If the original cell contains a formula with relative cell references, those references will be adjusted when they are copied to the new cells (for more information on relative cell references see the section titled ABSOLUTE AND RELATIVE CELL REFERENCES. BLOCK COMMANDS The /Block option of the main menu provides several commands to manipulate the contents and status of a defined block of cells. The defined block may consist of a single cell, a 2 dimensional range of cells, or a 3 dimensional block of cells. The block is defined as described in the section above called DEFINING A 3D BLOCK OF CELLS. The /Block commands which are available are: Format Width Erase Justify Copy DataFill Name Link Sort BLOCK FORMAT The /Block Format command allows you to set or change the way numerical data in each cell in a block is displayed. Numerical data means either a number or a formula (which yields a number). All of the cells in the defined block which contain data will be set to the new format that you choose. Cells in the block which are BLANK, however, will NOT be changed and the cell will continue to have the WorkQube Format (which can be changed using the /WorkQube Format command). The available formats are Currency, Fixed, Percent, Scientific, Date, Time, General, and Hidden. For more information on formats see the section titled CELL DISPLAY FORMATS. 36 BLOCK WIDTH The /Block Width command allows you to change the number of characters which can be displayed in each cell in a block. All of the cells in the defined block which contain data will be set to the new width that you choose. Cells in the block which are BLANK, however, will NOT be changed and the cell will continue to have the WorkQube Width (which can be changed using the /WorkQube Width command). The width of a cell can be any value in the range 1 to 75. For more information on cell widths see the section titled CELL WIDTHS. BLOCK ERASE The /Block Erase command allows you to erase the contents of all the cells in a block. All the characteristics of every cell in the defined block will return to the global (WorkQube) settings. This includes the display format, the number of digits after the decimal point, and the cell width. The cell type of each cell will be reset to BLANK and the memory used by the cells will be deallocated for use by future data. BLOCK JUSTIFY The /Block Justify command allows you to change the way text strings are displayed in each cell in a block. Text may be left justified, right justified, or centered in each cell. All of the cells which contain TEXT will be set to the new justification that you choose. Cells in the block which are BLANK, however, will NOT be changed and the cell will continue to have the WorkQube Justification (which can be changed using the /WorkQube Justify command). For more information on justification see the section titled ENTERING DATA INTO THE WORKQUBE (Text). BLOCK COPY The /Block Copy command allows you to copy a 3D block of cells to the current cell location. First, move the cell pointer to the cell where you want the block of cells copied to. Then select the /Block Copy command. You will then be asked to define the block which is to be copied. You may use any of the movement keys (including the [F5] GOTO and [F6] FIND keys) to define the block as described in the section titled DEFINING A 3D BLOCK OF CELLS. 37 Once the block has been defined the block of cells will be copied to the new location. The upper, left cell on the lowest page in the block will be the one which is copied into the current cell. If any cells in the block contain a formula with relative cell references, those references will be adjusted during the copy to the new location (for more information on relative cell references see the section titled ABSOLUTE AND RELATIVE CELL REFERENCES. If the block you define to copy with the /Block Copy command is a two dimensional range (not multiple pages), then QubeCalc will ask you how many pages you want to copy it to. This allows you to create a spreadsheet template on one page, and then copy that template to as many pages in the WorkQube as you want (or have memory for). BLOCK DATAFILL The /Block DataFill command provides a way to fill a specified block of cells with a sequence of numbers. You are asked for an equation which is used to determine the values placed in each of the cells to be filled. This equation may be any legal formula containing numbers, operators, cell or block references, or functions. In addition, the DataFill command provides a variable named # which is initialized to 0 and is incremented by 1 for each cell in the block. This variable may be used anywhere within the equation to provide an endless number of sequences which may be generated. The cells in the block are filled in the default WorkQube order (which may be changed using the /WorkQube Order command). BLOCK NAME The /Block Name command allows you to give a name to a cell or block of cells. This name can then be used anywhere that a cell or block reference can be used. For example: If you assigned the name "COST" to cell C5;1 and "PRICE" to D7;3 then: 1. The formula =PRICE-COST is identical to =D7;3-C5;1 2. You can go to cell C5;1 by typing COST when using the [F5]GOTO key. 38 If you assigned the name "PRICES" to the block B3;1..C6;3 then: 1. The formula =@AVG(PRICES) is identical to =@AVG(B3;1..C6;3) 2. You can go to cell B3;1 by typing PRICES when using [F5]GOTO. When you use the [F5]GOTO key to go to a block, you will be placed at the near, upper left cell in the block. 3. You can erase block B3;1..C6;3 (or perform any other block command) by typing PRICES when you are asked for the block to use. You define a block name by selecting the /Block Name command. BLOCK LINK The /Block Link command allows you to link multiple spreadsheets together. You are not limited to linking to a single cell. You may link to an entire 3 dimensional block within the other spreadsheet. If you create a link to a single cell in another spreadsheet file, then the link cell will take on the same value as the cell in the other file. If you change the value of the cell in the other file, the value of the linked cell will change also. If you create a link to a block of cells in another spreadsheet file, then the link cell will take on the same value as the cell in the upper left corner of the block in the other file. The cells to the right of and below the link cell will take on the values of the corresponding cells from the block in the other file. 39 BLOCK SORT The /Block Sort command allows you to sort a range of cells by row or column. When you select this command you are presented with the following menu: Block Key Options Go Selecting Block lets you define the range of cells you want sorted. Selecting Key lets you select the row or column you want to sort on. Selecting Options lets you select whether you want to sort: - ROWS or COLUMNS - TEXT or NUMBERS - in ASCENDING or DESCENDING order Selecting Go performs the sort using the current range, key, and options. The sort is performed "in place". In other words, when the data has been sorted, the rows (or columns) which are sorted are the only ones which can change. Blank and unsorted rows (or columns) are not "filtered up" to the top of the range. WORKQUBE COMMANDS The /WorkQube option of the main menu provides several commands which affect the contents and status of the entire WorkQube. The /WorkQube commands which are available are: Format Width Erase Justify Perspective AutoCalc Order Color Title WORKQUBE FORMAT The /WorkQube Format command allows you to set the way numerical data (number or formula) entered into a cell will be displayed. Numerical data means either a number or a formula (which yields a number). This command does NOT affect any of the cells in the WorkQube which already contain data. It is used to determine what format should be used for BLANK cells which are filled with data in the future. The available formats are Currency, Fixed, Percent, Scientific, Date, Time, General, and Hidden. For more information on formats see the section titled CELL DISPLAY FORMATS. 40 WORKQUBE WIDTH The /WorkQube Width command allows you to set the number of characters which will be displayed in future cells. This command does NOT affect any of the cells in the WorkQube which already contain data. It is used to determine what width should be used for BLANK cells which are filled with data in the future. The width of a cell may be any number in the range 1 to 75. For more information on cell widths see the section titled CELL WIDTHS. WORKQUBE ERASE The /WorkQube Erase command allows you to erase the contents of every cell in the WorkQube (clears the WorkQube). This command will also reset all of the WorkQube settings to their defaults (print and graph blocks, macro definitions, etc). Because this command can have a drastic effect if you use it accidently, QubeCalc will prompt you first to make sure you really want to erase everything. WORKQUBE JUSTIFY The /WorkQube Justify command allows you to set the way text strings entered into a cell will be displayed. Text may be left justified, right justified, or centered in each cell. This command does NOT affect any of the cells in the WorkQube which already contain data. It is used to determine what justification should be used for BLANK cells which are filled with TEXT in the future. For more information on justification see the section titled ENTERING DATA INTO THE WORKQUBE (Text). WORKQUBE PERSPECTIVE QubeCalc allows you to look at (or enter) your data in any of the six possible perspectives (or faces) of the WorkQube. The six faces are named A thru F. Face A is the face of the WorkQube which faces you when you first boot up QubeCalc. Face A - FRONT of the WorkQube. Face B - RIGHT SIDE of the WorkQube. Face C - TOP of the WorkQube. Face D - BACK SIDE of the WorkQube. Face E - LEFT SIDE of the WorkQube. Face F - BOTTOM of the WorkQube. 41 The current face letter is provided in the upper left corner in front of the current cell name (surrounded by square brackets [] ). The current orientation of the WorkQube may be changed using the /WorkQube Perspective command. This will in effect rotate your data so that you may view it from another perspective. For example, suppose you have the following spreadsheets in pages 1 through 3 of face A: PAGE 1 (FACE A) PAGE 2 (FACE A) PAGE3 (FACE A) A B A B A B 1 11 21 1 31 41 1 51 61 2 12 22 2 32 42 2 52 62 3 13 23 3 33 43 3 53 63 4 14 24 4 34 44 4 54 64 Every cell in the WorkQube lies directly behind the corresponding cell on the previous page. For example, cell B3 on page 3 (named B3;3) lies directly behind cell B3 on page 2 (named B3;2), and cell B3;2 lies directly behind cell B3;1. Similarly, each column and row in the WorkQube lies directly behind the correponding column or row on the previous page. Now, suppose you wanted to compare the values in column A of page 1 to the values in column A of pages 2 and 3. One way would be to use the PgUp and PgDn keys to change back and forth between pages. The /WorkQube Perspective command provides a much better way to do this however. Since the column A's are right next to each other (in depth), it should be possible to display these columns next to each other on the screen. This is done by rotating the WorkQube (to face B in this case). When you rotate the WorkQube, what were the "A" columns in pages 1, 2, and 3 of face A, become columns A, B, and C in page 1 of face B. And the "B" columns from pages 1, 2, and 3 of face A become columns A, B, and C in page 2 of face B. PAGE 1 (FACE B) PAGE 2 (FACE B) A B C A B C 1 11 31 51 1 21 41 61 2 12 32 52 2 22 42 62 3 13 33 53 3 23 43 63 4 14 34 54 4 24 44 64 For more information on rotating the WorkQube, see the section titled THE WORKQUBE. 42 Sometimes you may find it desirable to transpose your data (swap rows for columns). Some other spreadsheets allow you to transpose rows and columns which contain numbers, but can't transpose equations correctly. QubeCalc provides the ability to transpose any set of rows and columns correctly. All you need to do to transpose a set of rows and columns is simply use the /WorkQube Perspective command and switch your perspective to the face opposite the one you are currently viewing!!! WORKQUBE AUTOCALC QubeCalc normally recalculates the WorkQube automatically after any cell value is changed. The /WorkQube AutoCalc command allows you to select how this automatic recalculation feature (AutoCalc) will operate. The four AutoCalc options are: WorkQube Off Block Iteration The WorkQube option causes the entire WorkQube to be recalculated each time a cell value is changed. The Off option causes the WorkQube to be recalculated only when the [F9] CALC key is pressed. The Block option allows you to define a block of cells which will be recalculated each time a cell value is changed. The cells in the defined block are the only cells which are recalculated, so if formulas in the block you define to be recalculated depend upon results from formulas outside of the block, you may end up with some erroneous (wrong) answers. The Iteration option allows you to set a recalculation interation count so that QubeCalc will make more than one pass through the spreadsheet on each recalculation. The [F9] CALC key recalculates the current AutoCalc block shown at the bottom of the screen (even if AutoCalc is turned off). The recalculation status (On/Off) and the recalculation block are always displayed at the bottom of the QubeCalc screen. If the entire WorkQube is to be recalculated the block is displayed as A1;1..BL64;64. The cells are recalculated in the order set by the /WorkQube Order command. 43 WORKQUBE ORDER Because QubeCalc is a TRUE 3-D spreadsheet there are six (6) possible orders in which recalculation, datafilling, etc. may be performed. The /WorkQube Order command allows you to select any one of these possible orders, which are: A) Columns change fastest, then Rows, then Pages B) Pages change fastest, then Rows, then Columns C) Rows change fastest, then Pages, then Columns D) Rows change fastest, then Columns, then Pages E) Pages change fastest, then Columns, then Rows F) Columns change fastest, then Pages, then Rows The default order is D. This is the order that QubeCalc performs operations in when you first start up. You can find out what the current order is with the [F7] STAT function key. The WorkQube order will be followed as above according to the perspective you are currently looking at. The order is used when performing the following functions: recalculation, copying blocks of cells, graphing, and datafilling. WORKQUBE COLOR The /WorkQube Color command simply toggles the QubeCalc display between color and black/white (if you have a color card installed). Sometimes the contrast of black and white is preferable to the preset colors. WORKQUBE TITLE The /WorkQube Title command allows you to lock (or hold) title rows and columns on the screen. The /WorkQube Title command acts as a toggle to turn locking on and off. If you are in title lock mode, the letter "L" will be visible on the bottom line of the screen between the memory indication and the AutoCalc status. When you turn title locking on, the rows above the cell pointer and the columns to the left of the cell pointer will be locked onto the screen. You cannot move the cell pointer into rows and columns which have been locked on the screen. You also cannot move the cell pointer into any pages which lie below the page where you set title locking on. You can lock each of the 6 faces individually. 44 INSERTING ROWS, COLUMNS, OR PAGES The /Insert option of the main menu allows you to insert a blank row, column, or page into the WorkQube. DELETING ROWS, COLUMNS, OR PAGES The /Delete option of the main menu allows you to delete a row, column, or page from the WorkQube. SAVING AND LOADING DATA FILES The /File option of the main menu provides several ways of saving and loading data to and from a disk file. The file name must be a legal DOS name and must not contain an extension. QubeCalc automatically assigns a .QUB extension to all QubeCalc data files, so if you try to add your own extension you will get either a "File not found" or an "Illegal file name" error. QubeCalc provides full path support. This means that you can access files without having to change directories. Simply type the full path name when you are asked for a file name. If you do not provide a full path name, the file will be written to (or read from) the current active directory which is shown on the top line of the screen. The /File commands which are available are: Load Save Combine Extract Directory Files The /File Save command asks you for a file name to save the WorkQube to, and then writes the data to disk. In addition to saving the data in the cells, QubeCalc will also save all the WorkQube settings, any Macro definitions, all the Print and Graph settings, and the current Face and cell pointer position. If the file name you provide is already being used in the current directory, you will be asked whether you want to Backup the existing file or else Overwrite it. If you select Backup, the extension of the existing file's name will be changed from .QUB to .BAK and the new file will be saved with a .QUB extension. 45 The /File Load command asks you for a file to be read in, clears the WorkQube, and loads in the specified file. In addition to loading the data in the cells, QubeCalc will also load in the WorkQube settings, any Macro definitions, all the Print and Graph settings, and the current Face and cell pointer position. Since the /File Load command erases all the data in memory before it can load in a new file, make sure you do not have any unsaved data in the WorkQube when you use this command. If you press the key by itself rather than entering a file name, QubeCalc will display a list of all of the data files in the current directory. You can use the arrow keys to move the cursor to the desired file name, press , and the file will be loaded. The /File Files command displays the files in the current directory. This command is similar to DOS's dir command. The file listing command prompts you for a file mask. A file mask is a string which is used to determine which files to list. If you enter a single filename as the mask, then only that file will be shown in the directory listing. You may also use the wildcard characters * and ? (see your DOS manual for more information on wildcard characters). The default file mask is *.*, which provides a listing of all the files in the current directory. If you only want to look at QubeCalc files then you can specify the mask as *.QUB. The /File Files command also lists any subdirectories which match the mask you provide. Directories will be highlighted on the display. Hitting after the files have been displayed will return you to the WorkQube. 46 PRINTING YOUR DATA The /Print option of the main menu allows you to generate a print out of your data. When you select the /Print option you will be presented with a menu offering the choice of printing to the Printer or to a File. If you select the File option, QubeCalc will ask you for a file name to use, and will send the same data to the file as it would normally send to the printer. Sending data to a print file instead of to the printer will allow you to read your printed spreadsheet into your word processor and modify it or merge it into a document. The /Print commands which are available are: Block Line Page Options ResetBlock Align Go The /Print Block command lets you define the block of cells to be printed. The defined block may consist of a single cell, a 2 dimensional range of cells, or a 3 dimensional block of cells. The block is defined as described in the section titled DEFINING A 3D BLOCK OF CELLS. QubeCalc can print up to 240 characters on one line. If you define the Print block to be wider than 240 characters, then only the first 240 characters of each line will be printed. QubeCalc will print as many characters per line as you define in the block (up to the 240 character maximum), so if your printer can only print 80 characters on a line and the Print block you define is 100 characters wide, the extra 20 characters per line will still be sent to your printer (and will either wrap around onto the next line or will just be ignored by the printer). The /Print ResetBlock command releases (undefines) the block to be printed. The /Print Align command tells QubeCalc that the printer paper is at the top of the page. You should use this command when you first get ready to print something. First, adjust the paper in the printer so that it is at the top of the page, then select this command. The /Print Line command advances the printer a single line. You should use this command instead of just turning the knob on the printer. This command allows QubeCalc to keep track of which line it is on. If you manually adjust the printer (by turning the knob), then you will have to use the /Print Align command to tell QubeCalc where the top of the page is again. The /Print Page command advances the printer to the top of the next page. You should use this command instead of just turning the knob on the printer. This command allows QubeCalc to keep track of which line it is on. If you manually adjust the printer (by turning the knob), then you will have to use the /Print Align command to tell QubeCalc where the top of the page is again. 47 The /Print Go command begins printing the defined block of cells. You may print out your data in one of two formats: Contents (which prints the cell name and contents of each cell, one per line) or Display (which prints the block of cells as they would be displayed on the screen). The Display format is the one you normally want to use. It displays your data in the formats and positions you have selected. The Contents format is useful for debugging a spreadsheet since it prints out the actual formulas instead of the values of the formulas. If no Print block has been defined (using the /Print Block command) then the /Print Go command will simply be ignored. The /Print Options command allows you to change the print margins, page length, and Setup string. 48 GRAPHING YOUR DATA The /Graph option of the main menu provides you with the ability to create graphs representing blocks of your data. The order in which the cells are graphed follows the /WorkQube Order setting. If you have a GRAPHICS.COM driver which works with your particular printer, then loading it before you run QubeCalc will allow you to print your graphs to a printer by simply typing Shift-PrtSc. The /Graph commands which are available are: Type X A B C Options ResetBlock View The /Graph Type command lets you select the type of graph to be displayed. Your data may be graphed using either Bar graphs or Line graphs. Line graphs can be plotted using lines, symbols, or both. If you ask for symbols to be drawn then one symbol will be placed on the graph for every data value. QubeCalc can display up to 3 separate sets (or blocks) of data on the same graph. The /Graph A, B, and C commands let you define the blocks containing the data to be graphed. The defined block may consist of a single cell, a 2 dimensional range of cells, or a 3 dimensional block of cells. The block is defined as described in the section titled DEFINING A 3D BLOCK OF CELLS. The /Graph View command displays the defined blocks graphically using the settings selected with the TYPE and OPTIONS commands. The graph will remain displayed on your screen until you press a key. Once a key is pressed QubeCalc will return to the WorkQube display. QubeCalc will still be in the /Graph menu so that you may make any adjustments or additions you want. The /Graph Options command lets you change various display features of the graph to be drawn. 49 DEFINING AND USING MACROS QubeCalc allows you to assign multiple keystrokes (and commands) to a single key. This group of keystrokes (or commands) is known as a "Macro". Macros provide a way to create shortcuts for long sequences of keystrokes. They are also useful for automating repetitive commands. A macro is created by simply typing the desired keystroke sequence as text entries into consecutive cells down a column (you may have to start each cell with a ' character to make it a text entry). When the macro is run, QubeCalc will read the keystrokes out of these cells instead of waiting for you to type them in from the keyboard. If you have more keystrokes for a macro than will fit in a single cell, you can continue them in the next cell down in the column. When creating a macro you may generally just type the desired keystrokes into the cell. In the case of Function Keys, cursor movement keys, and a few other special keys it is necessary to type the name of the key CAPITALIZED and enclosed in square brackets []. Below is a list of the available special keys. [UP] Up Arrow [INS] Insert Key [DOWN] Down Arrow [DEL] Delete Key [LEFT] Left Arrow [EDIT] Edit Key (F2) [RIGHT] Right Arrow [BLOCK] Block Key (F3) [HOME] Home Key [ABS] Abs/Rel Key (F4) [END] End Key [GOTO] Goto Key (F5) [PGUP] PgUp Key [FIND] Find Key (F6) [PGDN] PgDn Key [STAT] Status Key (F7) [RET] Return Key [CALC] Recalc Key (F9) [ESC] Escape Key [GRAPH] Graph Key (F10) [SLEFT] Screen Left [ERASE] Erase Line [SUP] Screen Up [BEEP] Creates a beep [SDOWN] Screen Down [BS] BackSpace [SRGHT] Screen Right Once the macro has been created in this manner it must be defined using the [F8] MACRO function key. Defining the macro tells QubeCalc two things. First, it lets you tell QubeCalc which key you want to assign your macro to, and second, it lets QubeCalc know which axis your macro will follow if it is more than one cell long. Therefore, NOTE that the macro MUST be defined ([F8] key) IN THE FACE where the macro APPEARS as a column!! Pressing the [F8] MACRO key will pop up the macro selection window to ask whether you want to define or undefine a macro. You will then be asked to select the letter to assign the macro to (or to undefine). Finally, you will be asked to define the beginning cell where your macro resides. 50 The macro is then run simply by holding down the Alt key and pressing the macro's letter. You can halt a Macro while it is running by hitting the ESC key. In addition to the regular menu commands, there are 4 menu commands available only during macro execution. These commands are selected in the same manner as regular menu commands (use the / key, choose the Macro [M] option, and one of the 4 suboptions [I,G,?,Q]). The I,G, and ? suboptions require an additional argument. /MGcellname[RET] The Macro will start reading keystrokes from the specified cell instead of continuing where it's at. This command is very useful for creating macros that loop and perform repetitive commands. /MIequation[RET] If the equation evaluates true (if it is not equal to zero) the Macro will continue reading keystrokes from the same cell, otherwise the Macro will begin reading keystrokes from the next cell down the column. This command provides you with conditional control and is useful for controlling loops created with the /mg command. /M?prompt[RET] This command temporarily pauses and allows you to enter a line of data (a NUMBER, FORMULA, or TEXT). Any text that you enter between the ? and the [RET] will be displayed on the control line as a prompt. After you have entered this data (finishing with the return key) the data will be entered into the current cell and the macro will resume where it left off. /MQ The macro is halted and control is return to you. NOTE: Macros should be defined in the Face where they will be used. Some macros will work fine in any face, but macros which make use of cell addresses (in /MG commands, [GOTO] commands, etc.) will really screw up if you use them in a face other than the one they were defined in. (Remember, the cell named B10;4 in face A is not named B10;4 when it is viewed from other faces!) 51 EXITING FROM QUBECALC The /Quit option of the main menu is used to exit the program. When you select this command you will be asked whether you really want to exit or not. This is because your data is not automatically saved when you exit. If you haven't saved your data yet you should select NO, save your data using the /File Save (or Extract) command, and then exit. THE LOTUS IMPORT PROGRAM An import program is included to let you import 1-2-3 files into QubeCalc. This import program (named GET123.COM) can import multiple 1-2-3 files into a WorkQube. GET123 reads in one page of data at a time (64 columns by 64 rows) from the 1-2-3 file, and places the data into Face A of the WorkQube. An output file is created which is in the .QUB format and which may be loaded into QubeCalc. Simply type GET123 at the DOS prompt when you wish to import 1-2- 3 data. GET123 will ask you for the name of the Lotus file you want to import. You may enter any valid Lotus filename (and path) including either the .WKS or .WK1 extension. Hitting the escape key at this time will allow you to exit GET123 without importing the file. After you have entered a file name, you must enter the page number in the WorkQube which you want the Lotus data read into. This page number must be in the range 1 to 64. GET123 will then begin to import the 64 column by 64 row range of cells which begin with cell A1. This range of cells will be placed into the QubeCalc page which you specified earlier. You will then be asked whether you want to import any more Lotus data. If you select YES, then GET123 will once again ask you for a file name and a page number. If you select NO, then GET123 will create a QubeCalc (.QUB) file containing the data you have imported so far. The QubeCalc file will have the same name as the last Lotus file you provided (except that the extension will be .QUB instead of .WKS or .WK1). If the output file name is already being used the existing file will be backed up before the new one is written. If you import two 1-2-3 files which each have a common range name defined into the same WorkQube, only the range name from the last 1-2-3 file loaded will be used. 52 IMPORTING DIF, DBASE, AND ASCII FILES QubeCalc also provides the ability to import DIF, dBASE II and III, and ASCII files. This is done using the program named IMPORT.COM. The syntax for the import program is: IMPORT filetype filename pagenumber EXPORTING DIF, DBASE, ASCII AND LOTUS FILES QubeCalc provides the ability to export WorkQube pages to Lotus 1-2-3, DIF, dBASE II and III, and ASCII files. This is done using the program named EXPORT.COM. The syntax for the export program is: EXPORT filetype filename pagenumber 53