home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dr. Business
/
DR_BUSINESS.BIN
/
PQLITE.DOC
< prev
next >
Wrap
Text File
|
1990-08-23
|
418KB
|
12,674 lines
ProQube Lite (tm)
User Manual
Version 1
Copyright FormalSoft 1990
All Rights Reserved
No part of this documentation may be reproduced in whole or in part without
the prior written permission of FormalSoft.
Acknowledgements: Kim Kokkonen, for routines used to enhance the
performance of ProQube Lite.
Trademarks: FormalSoft, ProQube 3D, and ProQube Lite are trademarks
of FormalSoft.
All other brand and product names are trademarks or
registered trademarks of their respective companies.
FormalSoft * PO Box 1913 * Sandy, UT 84091 * 801-565-0971
CONTENTS
ABOUT THE DOCUMENTATION . . . . . . . . . . . . . . . . . . . . . . . . 1
GETTING STARTED . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
INSTALLING PROQUBE LITE . . . . . . . . . . . . . . . . . . . . . 2
HOW TO RUN PROQUBE LITE . . . . . . . . . . . . . . . . . . . . . 3
PROQUBE LITE BASICS . . . . . . . . . . . . . . . . . . . . . . . . . . 4
THE WORKQUBE . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
HOW TO GET HELP . . . . . . . . . . . . . . . . . . . . . . . . . 7
MOVING AROUND THE WORKQUBE . . . . . . . . . . . . . . . . . . . . 8
ENTERING AND EDITING DATA . . . . . . . . . . . . . . . . . . . . 10
HOW TO ENTER AND USE FORMULAS . . . . . . . . . . . . . . . . . . 12
RELATIVE AND ABSOLUTE CELL REFERENCES . . . . . . . . . . . . . . 15
DEFINING A BLOCK OF CELLS . . . . . . . . . . . . . . . . . . . . 16
BUILT-IN @FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . 18
USING THE COMMAND MENUS . . . . . . . . . . . . . . . . . . . . . 19
USING THE FUNCTION KEYS . . . . . . . . . . . . . . . . . . . . . 20
SAVING AND RETRIEVING DATA . . . . . . . . . . . . . . . . . . . . 21
USING THE FILE MANAGER . . . . . . . . . . . . . . . . . . . . . . 22
CHANGING YOUR SPREADSHEET'S APPEARANCE . . . . . . . . . . . . . . 23
USING THE MULTIPLE PAGES . . . . . . . . . . . . . . . . . . . . . 26
CHANGING THE VIEW . . . . . . . . . . . . . . . . . . . . . . . . 28
PRINTING YOUR DATA . . . . . . . . . . . . . . . . . . . . . . . . 32
RECORDING A MACRO . . . . . . . . . . . . . . . . . . . . . . . . 33
THE PROQUBE LITE TEXT EDITOR . . . . . . . . . . . . . . . . . . . 34
THE PROQUBE LITE APPLICATION LANGUAGE . . . . . . . . . . . . . . 36
REFERENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
THE FUNCTION KEYS . . . . . . . . . . . . . . . . . . . . . . . . 38
PROQUBE LITE COMMAND MENUS . . . . . . . . . . . . . . . . . . . . 43
BUILT-IN FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . 93
PROQUBE LITE APPLICATIONS . . . . . . . . . . . . . . . . . . . . . . . 153
CREATING AN APPLICATION . . . . . . . . . . . . . . . . . . . . . 154
RUNNING AN APPLICATION . . . . . . . . . . . . . . . . . . . . . . 155
LANGUAGE DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . 156
SPECIAL KEY NAMES . . . . . . . . . . . . . . . . . . . . . . . . 158
THE PROQUBE COMMAND LANGUAGE . . . . . . . . . . . . . . . . . . . 159
APPENDIX A SUPPLEMENT PROGRAMS . . . . . . . . . . . . . . . . . . . . 181
QUBECALC CONVERSION PROGRAM . . . . . . . . . . . . . . . . . . . 181
THE SETUP PROGRAM . . . . . . . . . . . . . . . . . . . . . . . . 182
APPENDIX B DESIGN HINTS . . . . . . . . . . . . . . . . . . . . . . . 184
i
LICENSE AGREEMENT
ProQube Lite is distributed as Shareware. It is not free software, nor is
it in the public domain. You are granted a limited license to use ProQube
Lite on a trial basis. If you want to continue using ProQube Lite, you
should register with FormalSoft using the form provided on the next page.
If ProQube Lite is used on multiple machines (or on a network), then a copy
must be purchased for as many copies as will be running simultaneously.
You are also granted a limited license to copy and distribute ProQube Lite
for evaluation by others on the following conditions:
- You may NOT charge anything for ProQube Lite itself. You may charge a
copying fee (not to exceed $8) to cover disks and handling.
- You may NOT copy the printed documentation in any manner or form.
- You may NOT bundle ProQube Lite with any other product without prior
written permission from FormalSoft.
- You may NOT distribute versions of ProQube Lite which have been modified
in any way.
- You must include ALL of the files which are distributed with ProQube
Lite. These files must be ARCHIVED together if you place them on an
electronic bulletin board.
WHAT IF I NEED EVEN MORE POWER?
FormalSoft also offers a commercial (non-Shareware) spreadsheet called
ProQube 3D. ProQube 3D contains all of the features of ProQube Lite, plus
presentation graphics, database querying and entry forms, goalseeking,
auditing, network file locking, expanded memory support, more @functions,
enhanced macro language, file encryption, and much more. And ProQube 3D
can directly read your ProQube Lite files.
According to Jim Seymour in Today's Office, "It is one of the best -- and
best implemented -- new ideas in spreadsheets in a long time."
ProQube 3D is priced at $99, and is available either directly from us or
through your local dealer.
[NOTE: Because ProQube 3D is not Shareware, the ProQube 3D license does NOT
allow you to copy and distribute the program to others.]
ii
Registration Form
-----------------
TO ORDER:
Send this form & payment to: FormalSoft
P.O. Box 1913
Sandy, UT. 84091-1913
Or call our voice number: 801-565-0971
Or call our BBS conference: BEACONetwork 801-298-5222 (N-8-1)
Join the conference after logging on by
typing J PROQUBE at the main menu.
Please send me the following product:
[ ] ProQube Lite for $29 ($25 + $4 s/h). Registered ProQube Lite users may
upgrade at any time to ProQube 3D for $74.
[ ] ProQube 3D for $103 ($99 + $4 s/h). ProQube 3D is FormalSoft's
commercial 3D spreadsheet which provides all the features of ProQube Lite
plus presentation graphics, database querying and entry forms, goalseeking,
auditing, network file locking, expanded memory support, more @functions,
enhanced macro language, file encryption, and much more.
* Utah residents please add 6.25% sales tax.
Name:____________________________________________________________________
Company:_________________________________________________________________
Address:_________________________________________________________________
City, State, Zip:________________________________________________________
Country:_________________________________________________________________
___ CHECK (US $ drawn on US bank only) ___ VISA/MC ___ American Express
Credit card #_________________________________ Exp date_______________
Signature_______________________________________________________________
Where did you get your copy from?______________________________________
Comments?______________________________________________________________
_______________________________________________________________________
iii
ABOUT THE DOCUMENTATION
The ProQube Lite documentation is divided into several sections, to
accommodate all levels of users. Regardless of how much experience you
have with spreadsheets, you should read Getting Started for help with
installing ProQube Lite on your system.
If you are new to spreadsheets, then you will want to start with ProQube
Lite Basics, to learn about how spreadsheets work in general, and how
ProQube Lite works in specific. You may also want to run the tutorial
program described in the Getting Started section.
If you are a spreadsheet wizard, you may still want to skim over ProQube
Lite Basics, because there are many features in ProQube Lite which are not
available in any other spreadsheet.
Getting Started This section describes how to install,
configure, and run ProQube Lite.
ProQube Lite Basics This section provides an overview of ProQube
Lite's capabilities.
ProQube Lite Reference This section describes each of ProQube Lite's
commands, functions and features, and how to
use them.
ProQube Lite Applications This section describes the ProQube Command
Language (PCL), and how to use it to create
sophisticated application programs.
Appendix This section provides detailed information on
supplementary programs, design hints, etc.
In this documentation, special keys are surrounded by angle brackets. For
example the enter key is designated by <Enter>, the F1 function key is
designated by <F1> and so on. So when you are asked to type the following:
PQLITE<Enter>
it means to type the word PQLITE, then press the <Enter> key.
1
GETTING STARTED
INSTALLING PROQUBE LITE
You should have the following files:
README Important information.
ORDER.DOC ProQube Lite order form.
PQLITE.EXE * The ProQube Lite program.
PQLITE.OVR * Another part of the program.
PQLITE.HLP The help file.
PQLITE.ERR * The error message file.
CONVERT.EXE Converts QubeCalc files to ProQube Lite files.
SETUP.EXE Lets you set colors and options.
PQLITE.DOC The on-disk ProQube Lite user manual.
PRINTDOC.EXE Prints the on-disk manual to your printer.
After you run ProQube, you may also see files named PQLITE.CFG and
PQLITE.SET. These are files which ProQube uses to store information about
your various settings.
* ProQube Lite works best when run from your hard disk. If you want to run
ProQube Lite from a floppy, the files marked with an asterisk are the only
ones that have to be on the disk.
2
HOW TO RUN PROQUBE LITE
To Start To start ProQube Lite on your computer:
- Turn on your computer
- Change to the directory where the ProQube Lite files are
- Type PQLITE<Enter>
If you want to have a file retrieved immediately upon
booting up ProQube Lite, simply add the file's name on the
command line. For example, if you want to start up with the
file named EXAMPLE.PQS, then enter PQLITE EXAMPLE<Enter> at
the DOS prompt to begin running the program.
The Menus When you want to execute a command in ProQube Lite, you will
usually select it from ProQube Lite's menu system. A menu
is simply a list of commands which you can select from. All
you have to do to bring up ProQube Lite's main menu is to
press the / key. If you are using a mouse, then you can
also bring up ProQube Lite's main menu by pressing the left
mouse button. This manual will often refer to menu commands
like /File Retrieve. This refers to the command performed
when you press /, then select File from the menu, then
select Retrieve from the submenu.
Special Keys ProQube Lite assigns several of its commands to one of the
10 function keys (<F1> through <F10>) instead of or in
addition to the command menus. These commands are ones
which you might normally want to select with a single
keystroke.
Help ProQube Lite provides extensive online help for its
features. To call up this help, simply press the <F1> Help
key at any point in the program. A help screen will pop up
which provides information about the operation you are
attempting.
To Quit Exiting from ProQube Lite is just one of the commands
available in ProQube Lite's command menus. To quit, simply
press the / key to bring up the menu, and then press Q for
Quit.
3
PROQUBE LITE BASICS
This section is intended you get you up and running with ProQube Lite.
Even if you are already familiar with spreadsheet programs, you will want
to at least read a few of the chapters in this section, because ProQube
Lite contains many features which are not available in any other
spreadsheet program.
THE WORKQUBE
A spreadsheet may be thought of as a large electronic worksheet, much like
a piece of paper divided into rows and columns, like this:
A B C D E F G H
---------------------------------
1| | | | | | | | |
|---|---|---|---|---|---|---|---|
2| | | | | | | | |
|---|---|---|---|---|---|---|---|
3| | | | | | | | |
|---|---|---|---|---|---|---|---|
4| | | | | | | | |
|---|---|---|---|---|---|---|---|
5| | | | | | | | |
|---|---|---|---|---|---|---|---|
6| | | | | | | | |
|---|---|---|---|---|---|---|---|
7| | | | | | | | |
---------------------------------
A ProQube Lite worksheet has 512 rows and 512 columns. In order to
distinguish columns from each other, ProQube Lite assigns a letter of the
alphabet to each column. The first 26 columns are labeled with the letters
A through Z. Since there are 512 columns but only 26 letters, the
remaining columns must use 2 letters to identify them. ProQube Lite
assigns each of the rows in a worksheet a number from 1 to 512. The top
row in a worksheet is row 1 and the bottom row is row 512.
ProQube Lite provides you with 512 of these worksheets, one behind the
other. The front page is page 1, the second is page 2, and so on through
page 512. This collection of pages is called the WorkQube.
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 on.
For example, the cell that is in column R and row 29 on page 4 is named
R29;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.
4
When you first run ProQube Lite, the following display will appear on your
monitor.
[Front] A1;1: (W9) BLANK <Default >
1 A B C D E F G H
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1=Help 2=Edit 3=Block 4=Absolute 5=GoTo 6=Search 7=Load 8=Save 9=Recalc
Since it is impossible to view all 512 rows, columns, and pages at once,
this display provides a window looking into the WorkQube. The letters of
the columns which are on the screen are displayed in a horizontal bar above
the columns, while the numbers of the rows which are on the screen are
displayed in a vertical bar to the left of the rows. ProQube Lite displays
the page number in the upper left corner where these two bars meet.
A status line is located in the upper left corner of the screen and looks
something like this:
[Front] A1;1: (W9) BLANK <Default >
Each component of the status line tells you certain information about the
current perspective and cell. [Front] tells you that you are currently
viewing the WorkQube from the front. A1;1 tells you that the cell you are
currently at is in column A, row 1, and page 1. (W9) tells you that the
column you are in is 9 characters wide.
5
BLANK tells you that the cell you are at is currently blank. This item
tells you what is currently in the cell:
BLANK - a blank cell
TEXT - a line of text
NUMBER - a number
FORMULA - a formula with a numeric result
TXTFORM - a formula with a text result
FORMAT - a blank cell which contains formatting information
ERROR - a formula which has an error value
The bottom line of the display is an index to the function keys <F1>
through <F10> so you don't have to memorize or look them up. Pressing
<Ctrl> changes this index to reflect the operation of the function keys
when used in combination with the <Ctrl> key.
6
HOW TO GET HELP
ProQube Lite provides extensive online help for its features. To call up
this help, simply press the <F1> Help key at any point in the program. A
help screen will pop up which provides information about the operation you
are attempting.
ProQube Lite's help is context-sensitive. This means that ProQube Lite is
always keeping track of what you are doing so that it can provide the
proper help screen when you ask for it. For example, if you press <F1>
when you are trying to copy a cell, then a help screen which explains that
feature will pop up.
ProQube Lite's help is also interactive. This means that the help screen
which pops up will also list several other help screens which are related
to what you are doing. You may view one of these related help screens by
simply using the <Left> and <Right> keys (or moving the mouse) to move the
highlight bar to the name of the help screen desired, and then pressing the
<Enter> key or left mouse button, or by simply pressing the first letter of
the desired help screen's name.
You may also call up a list of help screens called the <HELP INDEX> by
pressing the <F1> key a second time, or by pressing the right button on
your mouse.
After you have read the help screens that interest you, simply press the
<Esc> key (or both mouse keys simultaneously) to return to what you were
doing.
7
MOVING AROUND THE WORKQUBE
ProQube Lite's workspace contains over 134 million cells, and it's very
important to be able to move easily to all of them. You move from cell to
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. The address of the current cell is displayed on the top line
of the ProQube Lite screen.
ProQube Lite provides many ways to move the cell pointer.
<Up> <Down>
<Left> <Right> These keys 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 display, the display window will
scroll over to the next row or column (assuming there is a
row or column to scroll to).
<PgUp> * This 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. For
example, if you are in cell G5;2 and press <PgUp>, the cell
pointer will move to cell G5;3.
<PgDn> * This 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. For
example, if you are in cell G5;2 and press <PgUp>, the cell
pointer will move to cell G5;1.
<Home> This key moves the cell pointer to the top left corner of
the current page (cell A1 on the current page).
<End> This key operates in a different manner than the other
movement keys. Pressing <End> does not move the cell
pointer itself, but changes the way the <Left>, <Right>,
<Up>, <Down>, <PgUp>, <PgDn> and <Home> keys work. If you
press the <End> key and then one of the arrow keys or <PgUp>
or <PgDn>, then the cell pointer will move in one of the
following ways:
- If the cell pointer is in a blank cell, it will move in
the direction selected to the first non blank cell.
- If the cell pointer is in a non blank cell, it will move
in the direction selected to the last non blank cell before
a blank cell.
If you press the <End> key followed immediately by the
<Home> key, the cell pointer will move to the cell in the
8
lower right corner of the page.
If you want to cancel out the effect of the <End> key after
you have pressed it, simply press <End> a second time.
<^Right> This key sequence moves the cell pointer one screen's worth
of columns to the right. This key sequence is generated by
holding down the <Ctrl> key and pressing <Right>.
<^Left> This key sequence moves the cell pointer one screen's worth
of columns to the left. This key sequence is generated by
holding down the <Ctrl> key and pressing <Left>.
<^PgUp> * This key sequence moves the cell pointer up one screen's
worth of rows. This key sequence is generated by holding
down <Ctrl> and pressing <PgUp>.
<^PgDn> * This key sequence moves the cell pointer down one screen's
worth of rows. This key sequence is generated by holding
down <Ctrl> and pressing <PgDn>.
<^Home> This key moves the cell pointer to the upper left cell on
the current display.
<^End> This key moves the cell pointer to the lower right cell on
the current display.
<F5> This key moves the cell pointer anywhere you tell it to.
ProQube Lite will ask you which cell you want to go to, and
you just type in the cell name and hit <Enter>.
In addition to the various movement keys, ProQube Lite provides built-in
mouse support. If you have a mouse and have installed your mouse driver
before running ProQube Lite, then you can move the cell pointer by simply
moving the mouse in the direction you want to go.
* The functions of the <PgUp>/<PgDn> keys can be swapped with those of the
<^PgUp>/<^PgDn> keys by first running the program SETUP.COM described in
Appendix A.
9
ENTERING AND EDITING DATA
You can enter numbers or text into any of the cells in the WorkQube. Just
move the cell pointer to the cell you want to enter a number or text in,
and type the number or text. You may enter up to 240 characters into each
cell. The number or text will be entered into the cell as soon as you
press <Enter> or one of the movement key sequences (<Up>, <Down>, <Left>,
<Right>, <PgUp>, or <PgDn>). If you finish entering the data using the
<Enter> 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 range in value from -10E+37 to 10E+37, and can
have up to 11 significant places. You can enter a number
into a cell using either standard notation (like 12.345) or
scientific notation (like 1234.5e-2).
Text If you enter a line of text which 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). If you want to see the entire string, you must
widen the column containing the text.
The way your text is displayed in a cell depends on the
first character of the text. There are four (4) possible
characters which can precede your text 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 you enter some text without one of the above special
characters as the first character, ProQube Lite will
automatically place the global justify character on the text
for you. You can select or change this global justify
character with the /WorkQube Justify command on the main
menu. 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).
Editing If you need to change an entry in a cell, but don't want to
retype the entire thing, ProQube Lite provides the ability
to edit your entry. Simply move the cell pointer to the cell
you want to edit, and press the <F2> Edit key. If there is
anything in the cell to edit, ProQube Lite will enter its
10
editing mode. Also, if you make an error when entering a
formula this editing capability will be called
automatically.
When you are in edit mode, the following editing keys are
available:
<Left> moves the cursor one character to the left.
<Right> moves the cursor one character to the right.
<Home> moves the cursor to the first character on the
line.
<End> moves the cursor to the last character on the
line.
<^Right> moves the cursor one word to the right.
<^Left> moves the cursor one word to the left.
<BkSp> deletes the character to the left of the cursor
and shifts the following characters in the line to
the left to fill in the empty space.
<^BkSp> deletes the entire line. This is not the same as
erasing the cell. The cell will still take up
memory, but it will contain a blank string. To
erase the cell completely, use the /Cell Erase
command.
<Del> deletes the character underneath the cursor and
shifts the following characters in the line to the
left to fill in the empty space.
<Ins> toggles between insert and overwrite modes. When
you are in insert mode, typing a character will
insert the new character into the line at the
point where the cursor is. The character under the
cursor and those to the right of the cursor are
shifted to the right to make room for the new
character. When you are in overwrite mode, typing
a character will replace the character under the
cursor with the new character.
When you are in insert mode, the cursor will be an
underline. In overwrite mode the cursor will be a
solid block.
11
HOW TO ENTER AND USE FORMULAS
One of the most useful features of any spreadsheet is the ability to
perform calculations using the numbers and text entered in other cells.
This is done by entering a formula into a cell. To enter a formula, you
simply move the cell pointer to the cell you want the formula to be in,
type the formula, then press <Enter>. When a cell contains a formula, it
will display the value that the formula evaluates to, rather than the
formula itself.
A ProQube Lite formula must begin with an equal sign '=' and may be made up
of numbers (or text in some cases), references to values in other cells,
built-in functions, and mathematical, logical, and comparison operators.
Example Let's say you have a number in cell B5;1 and another in cell
C6;1, and you would like to add these two numbers and place the
result in cell A4;1. Simply move the cell pointer to A4;1, and
type in the following formula: =B5;1+C6;1 (followed by <Enter>).
Cell A4;1 now contains the formula you entered, but it will
display the result of the formula. If you later change the
number in either B5;1 or C6;1, the formula in A4;1 will be
recalculated and the new value will be displayed.
You can use the following operators 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 less than 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
You can also use the comparison operators to compare text strings with each
other. Two strings are considered equal if they are the same length, and
contain the same characters in the same order. String comparisons are case
insensitive, which means that two letters are considered the same
regardless of whether one is uppercase and one is lowercase. For example,
the string Test is considered equal to the string test.
In addition, the + operator can also be used to concatenate 2 strings. For
12
example, the formula:
="This is"+" a test"
returns the string This is a test.
If you enter a formula which uses more than one operator, the operations
are always performed in a specific order (called precedence). 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 want to change the order in which operations are performed, then you
must use parentheses in your formulas. Operations which you place in
parentheses will be performed before those outside the parentheses. For
example, the formula
=2+3*4
evaluates as 14 (not 20) because the multiply has a higher precedence than
the addition. If you want the addition to be performed first, then use
parentheses to make the equation look like
=(2+3)*4
When you are entering cell references in a formula (like B3;4), you only
need to add the page number (and the semicolon) if the reference is to a
cell on a different page. If you leave the page number off, ProQube Lite
will automatically add the current page number to the reference when the
formula is entered into the cell.
In addition to typing cell references in formulas, you can also enter cell
references by pointing to them with the cell pointer. At any point in
entering a formula where a cell reference is allowed, you can simply press
any of the cell pointer movement keys to begin pointing to a cell or block
of cells. The address of the cell which the cell pointer is on will appear
in the formula. As you move the cell pointer around, the reference in the
formula will be adjusted to reflect the new position of the cell pointer.
When the cell pointer is highlighting the cell reference you want, either
press the <Enter> key or the character you want to immediately follow the
cell reference. If you press the <Enter> key, the reference will be
entered and you may continue to enter the formula. If you press another
key, the reference and the key you pressed will be entered on the formula
13
line, and you may continue entering the formula.
If you change your mind about pointing to a cell reference, simply press
the <Esc> key and you will be returned to formula entry without any cell
reference being entered.
If you have named any cells with the /Block Name command, you may also
select a cell or block reference from a list of these references. Simply
press the <F3> key when you want to select a named block, and a menu will
pop up which lists all the currently defined block names. You can then
select the range name you want, and it will be placed into your formula for
you. The <F3> key will only pop up the block name list when it is legal to
enter a cell or block reference.
If you enter a formula which ProQube Lite can't evaluate, the formula you
entered will be displayed on the command line and the editing facility will
be invoked. The cursor will be placed near the part of the formula which
ProQube Lite didn't like, and you may fix the formula using the editing
commands.
If you enter (or edit) a formula and the word CIRC appears in the upper
right corner of the screen, this means a circular reference exists in your
worksheet. A circular reference means that a formula in your worksheet
depends on the value of the cell it is in. For example, if cell A1;1
contains the formula =2*A1;1, then the formula must use the current value
of cell A1;1 to calculate the next value of cell A1;1. If you have a
circular reference, the status window (<^F8>) will tell you which cell it
is.
14
RELATIVE AND ABSOLUTE CELL REFERENCES
When a formula references another cell, there are two different ways that
the cell can be referenced; absolute and relative. The purpose of relative
and absolute references is to let ProQube Lite know what to do when moving
formulas from cell to cell.
It is easy to distinguish between an absolute and a relative cell
reference. An absolute cell reference uses the $ character in front of
each of its coordinates, like $A$1;$1, while a relative reference uses no
special characters, like A1;1.
Absolute An absolute cell reference in a formula points to the exact same
cell, regardless of where the formula is moved or copied to.
Relative A relative cell reference in a formula points to the cell which
is a certain number of rows, columns, and pages away. If the
formula is moved, the new relative cell reference will be
adjusted to point to the cell the same number of rows, columns
and pages away from the new formula location.
Example The cell C3;1 contains the formula =$A$1;$1+A1;1. The first cell
reference $A$1;$1 is an absolute reference. The value in cell
A1;1 will always be used as the value of this reference, even if
the formula is copied.
The second reference A1;1 is a relative reference. Since cell
A1;1 is 2 columns left of and 2 rows above cell C3;1, the value
of this reference is taken from the cell which is 2 columns to
the left of and 2 rows above the formula, even if the formula is
copied.
If the formula in cell C3;1 is now copied to cell D5;1, the
contents of D5;1 will be =$A$1;$1+B3;1. Notice that the absolute
reference did NOT change; it still points "ABSOLUTELY" to cell
A1;1, but the relative reference was adjusted so that it points
to cell B3;1 (cell B3;1 is the cell which is 2 columns to the
left of and 2 rows above the new cell D5;1).
Relative references to other pages are also adjusted when a page is
inserted or deleted, or data is copied from one page to another.
It doesn't matter whether a cell reference is absolute or relative when a
formula is evaluated; the result will be the same in either case. For
example, the formula =2*A1;1 will have the same value as =2*$A$1;$1. You
can have both absolute and relative references in the same equation if you
want.
It is possible, and even useful sometimes, to mix absolute and relative
references in a single cell reference. For example, the reference A$2;3
points relatively to column A and page 3, but absolutely to row 2.
15
DEFINING A BLOCK OF CELLS
Many of ProQube Lite's commands can operate on more than one cell at a
time. These commands will usually ask you to define a block of cells to
perform the command on. The block of cells you define can be a single
cell, a two dimensional range of cells, or a three dimensional block of
cells. A reference to a block is made up of the cells at opposite corners
of the block separated by two periods. For example, the block reference
A1;1..Z20;5 contains all the cells in the block bordered by columns A
through Z, rows 1 through 20, and pages 1 through 5.
When a command asks you to define a block of cells, there are 5 different
options.
- You can simply type in the block reference.
- You can type in the name of a cell surrounded by square brackets.
ProQube Lite will read the name of the range out of that cell. This
option allows your application programs to indirectly supply a range
reference to a command.
Example If cell B5;1 contains the string 'G1;1..J10;3, then typing
[B5;1] when you are asked to define a block will cause
ProQube Lite to use the block G1;1..J10;3 for the command.
- If you have named a block using the /Block Name command, you may
simply type in the name.
Example If you assigned the name COSTS to the block G1;1..J10;3,
then typing COSTS when you are asked to define a block will
cause ProQube Lite to use the block G1;1..J10;3 for the
command.
- Pressing the <F3> Block key will bring up a menu of all the
currently defined block names. You may pick a block from this list by
highlighting the name and pressing the <Enter> key. If there are more
than 16 block names defined, you may press the <PgUp> and <PgDn> keys
to view more block names.
- You can highlight the block on screen using the cursor keys. When
you are defining a block, all the visible cells in the block will be
highlighted on the screen. On the command line you will see either a
single cell reference or a block reference. A single cell reference
means that an anchor cell has not been selected. In this case,
pressing a movement 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).
You can use any of the movement keys (including <F5> GoTo) to move the
cell pointer when highlighting a block of cells. In addition, the
following keys are active when defining a block:
16
<Enter> This 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 <Enter>, then only that cell will
be defined.
. This key sets the anchor to the current cell. If an anchor
was already set before you pressed ., then it is released
before the new one is set.
<Esc> This key releases the anchor if it is set. Pressing <Esc>
when the anchor is not set cancels the block selection, and
returns you to whatever you were doing before you were asked
to define a block.
<F4> This key cycles the block cell references among the absolute
and relative types. If no anchor is set then the first
coordinate is adjusted. If the anchor has been set then <F4>
will adjust the non-anchor reference.
17
BUILT-IN @FUNCTIONS
ProQube Lite provides over 80 built-in functions which you can use in your
formulas. These built-in functions each begin with the character @, and
are often called at functions. A detailed list of these functions is in
the reference section of this manual.
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. If a function requires
arguments, they are enclosed in parentheses and immediately follow the name
of the @function. If more than one argument is required, they must be
separated from each other with a comma.
A built-in function can return either a numerical or text value and may be
treated exactly like a number or text would be.
Example A cell contains the formula =2*@ABS(-3).
@ABS is the name of a built-in function which returns the
absolute (positive) value of its argument.
-3 is the argument to the function.
The function returns a value of 3, and is used in the rest of the
formula just like the number 3. The value of the entire formula
is 6 (2 times the value of the @function).
If the value that a function returns is an error, it will return the
special value ERROR. A formula which contains a function with a value of
ERROR will also return ERROR as the value for the cell it is in.
18
USING THE COMMAND MENUS
When you want to execute a command in ProQube Lite, it will usually be
through ProQube Lite's menu system. A menu is simply a list of commands
which you can pick from. Through the menus you can manipulate cells,
blocks, or the entire WorkQube, graph or print data, manipulate files, or
even temporarily exit to the operating system.
To bring up ProQube Lite's menu system, you simply press the / key. If you
are using a mouse, then you may also press the left mouse button to bring
up the menu. At the top of the ProQube Lite screen you will see the
following menu.
Cell Block Slice WorkQube File Print Data Macro OpSys Quit
The menu system uses a sliding bar to show your choices. There are three
ways you can choose an option:
- Press the <Left> or <Right> key until the sliding bar is
highlighting the option you want. Then press <Enter> to make the
choice. The <Home> key can be pressed to highlight the first menu
choice, and pressing the <End> key will highlight the last menu
choice.
- If you are using a mouse, you may move the sliding bar by moving the
mouse back and forth. Move the mouse until the sliding bar is
highlighting the option you want. Then press the left mouse button to
make the choice.
- As a shortcut you can simply press the highlighted letter of the
desired item (usually the first character) to select that option.
A help line appears above the main menu. This line describes the
highlighted menu option. When you move the sliding bar to a new item, this
help line will change to display a line of help about the newly highlighted
item.
When you choose an option from the menu, a new submenu will pop up which
works the same as the main menu. As each new submenu is chosen, the
previous menus remain on-screen, providing you with a "tree" of your
commands. To go back one level, simply press the <Esc> key (or the right
mouse button). To clear all the menus from the screen at once, press the
<BkSp> key (or both mouse buttons simultaneously.
A detailed list of menu commands can be found in the reference section of
this manual.
19
USING THE FUNCTION KEYS
Several of ProQube Lite's commands are assigned to one of the 10 function
keys instead of or in addition to the command menus. These commands are
ones which you might normally want to select with a single keystroke.
Several other commands are also assigned to one of the function keys with
the <Ctrl> key pressed. To execute one of these commands, simply hold down
the <Ctrl> key and then press the appropriate function key. A detailed
description of each of the function keys may be found in the reference
section of this manual.
Function Keys
FUNCTION KEY WHAT IT DOES
<F1> Help Calls up context sensitive help.
<F2> Edit Allows you to edit the current cell.
<F3> Block Calls up a menu of defined block names.
<F4> Absolute Toggles absolute & relative references.
<F5> Goto Allows you to go to another cell.
<F6> Search Search and replaces the contents of cells.
<F7> Load Retrieves a worksheet from disk.
<F8> Save Saves the current worksheet to disk.
<F9> Recalc Recalculates the entire worksheet.
FUNCTION KEY
W/ <Ctrl> PRESSED WHAT IT DOES
<^F1> Info Allows you to enter a worksheet description.
<^F2> Debug Application program debug menu.
<^F3> Break Breaks out of a running application.
<^F4> Mark Marks the current cell for later return with <^F5>.
<^F5> ToMark Returns to the last cell marked with <^F4>.
<^F6> Files Calls up the File Manager.
<^F7> EGA43 Toggles 43/50 line mode on EGA/VGA monitors.
<^F8> Status Displays a status window.
<^F9> Enter Toggles data entry mode.
<^F10> Record Turns the macro recorder on and off.
20
SAVING AND RETRIEVING DATA
As you are creating and using spreadsheets, your data is stored in the
memory of your PC. You should store your spreadsheets on disk periodically
throughout the day or session and definitely at the end of each day. In
the event of a power outage or if you should forgetfully turn off the
machine before a save has been done, the data entered since the last save
to disk is lost.
Saving You can save your worksheet to a file on disk using the
/File Save command. You will be asked for the name you want
to give your file, and ProQube Lite will store your
spreadsheet on disk in the ProQube Lite format. If you just
want to save a small part of your spreadsheet, the /File
Xtract command will provide that capability.
Retrieving When you want to read a file off the disk back into memory,
you should use the /File Retrieve command. You will be
asked for the name of the file to retrieve, and ProQube Lite
will read the contents of that file into memory.
Importing The ability to import files is an important function. The
/File Import command lets you bring in data from just about
any source and use it in your spreadsheet. ProQube Lite can
import data from Lotus 1-2-3 (WKS and WK1), dBase
II/III/III+ , DIF and ASCII files.
Exporting If you wish to use your spreadsheet data with other software
programs, the /File Export command should accomplish your
desired result. ProQube Lite can export its data in several
different formats, and most software packages are capable of
reading at least one of them. ProQube Lite can export Lotus
1-2-3 (in two forms, WKS or WK1), dBase II or dBase III or
III+, DIF, or ASCII files.
21
USING THE FILE MANAGER
ProQube Lite provides many features designed to simplify its use. One of
these features is the Visual File Manager. The File Manager allows you to
manipulate files, directories, and drives by simply pointing and selecting.
It may be accessed by two methods.
1) Any time you are asked for a file name, pressing the <Enter> key without
a file name will bring the File Manager forward to assist you. Only the
files that satisfy the request you are making will be shown. For example,
if you have selected /File Retrieve, then responded to the prompt for a
file name with the <Enter> key, spreadsheet files will be the only ones
listed. You simply highlight the desired file with the <Up> and <Down>
keys and press <Enter>. ProQube Lite will then retrieve the selected file.
2) To access the complete listing of files, select /File Files from the
command menu. You will be asked to enter a mask. A mask is simply a way
of telling ProQube Lite which files you want to be displayed. You may use
the asterisk * in the mask. The asterisk will match any set of characters.
For example, if you enter the mask *.BAK, then the file manager will list
every file which ends with .BAK. If you enter the mask Q*.*, then all the
files beginning with the letter Q will be displayed. Pressing <Enter> will
use the Mask *.*, which will display all the files in the current
directory.
The File Manager also simplifies the tasks of changing drives and
directories. To change to another directory, simply press the <Left> key
to highlight the word DIRECTORIES at the top of the screen, then use the
<Up> and <Down> keys to highlight the name of the directory you want to
change to. Once the name is highlighted, press the <Enter> key and ProQube
Lite will change to that directory and list the files in that directory.
Changing drives is just as easy. Simply press the <Left> key until the
word DRV is highlighted at the top of the screen, then press the letter of
the drive you want to change to. For example, if you want to change to
drive A:, then just press A.
When you bring up the File Manager with the /File Files command, the
function keys perform the following functions.
<F1> Causes a help screen on the File Manager to appear.
<F2> Loads the highlighted .PQS file into memory.
<F3> Combines the highlighted file with the worksheet in memory.
<F4> Imports the highlighted file.
<F5> Lets you to edit the contents of the highlighted text file.
<F6> Causes the highlighted text file to be printed.
<F7> Causes the highlighted .EXE, .COM, or .BAT file to run.
<F8> Allows you to rename the highlighted file.
<F9> Copies the highlighted file to another location.
<F10> Deletes the highlighted file.
<^F1> Displays the description of the highlighted .PQS file.
<^F2> Rescans the current drive to update the directory tree.
22
CHANGING YOUR SPREADSHEET'S APPEARANCE
ProQube Lite lets you change the way numbers are displayed on the screen by
assigning a "format" to cells. You might set a cell to the Currency
format, for example, so that the number in that cell will be displayed with
a leading dollar sign. Changing the format of a cell does not change the
value stored in the cell, only the way it is displayed on the screen (and
printouts).
Normally, when you enter data into a cell, the cell will take on the global
(WorkQube) format. You can see what this format is by pressing <^F8> to
bring up the status window. The WorkQube format may be changed by using
the /WorkQube Format command. It is also possible to set a default format
for individual pages with the /Slice Page Format command.
The format of an individual cell may be changed using the /Cell Format
command, and the format of a block of cells may be changed using the /Block
Format command. You should use care when formatting blocks of blank cells,
because formatted cells use up memory, even if the cells' contents are
blank.
A cell may be set to any of the following formats:
General The value is displayed with only the necessary number of
decimal places. If the value is an integer, then no decimal
point is displayed. If the column which the value is in is
not wide enough to display all the decimal places, then only
as many decimal places as will fit are displayed. If the
column is not wide enough to display the integer part of the
value, then the value will be displayed in scientific
notation.
Currency The value is displayed with a preceding dollar sign and a
selected number of decimal places. If the value is
negative, the value is enclosed in parentheses rather than
displayed with a negative sign. There are two sub-options:
Comma A comma will be inserted every three whole digits.
(Example: $103,297.25)
NoComma No comma is inserted in the number.
Fixed The value is displayed with a fixed number of decimal
places. Values which are very large or very small will
appear in scientific notation. Four sub-options are
available:
Comma A comma will be inserted every three whole digits
(Example: 12,345.67). Negative numbers are
preceded by a negative sign.
23
NoComma No comma is inserted in the number. Negative
numbers are preceded by a negative sign.
A () No comma is inserted in the number. Negative
numbers are enclosed in parentheses.
B (,) A comma will be inserted every three whole digits.
Negative numbers are enclosed in parentheses.
Percent The value is displayed as a percentage with a fixed number
of decimal places. The value is multiplied by 100, and is
displayed with a trailing percent sign %. Two sub-options
are available:
Comma A comma will be inserted every three whole digits.
(Example: 1,024%)
NoComma No comma is inserted in the number.
Scientific The value is displayed in exponential form, and shows the
power of 10 that the number must be multiplied by. For
example, 1.78E+07 means 1.78 times 10 to the 7th power.
Time A time number (usually provided by one of the ProQube Lite
time functions) is displayed in one of two ways.
AM/PM The time appears in the a.m. or p.m. form. Thus,
5:00 in the evening appears as 5:00 p.m.
Military The time appears as it would on a 24-hour clock.
Thus, 5:00 in the evening appears as 17:00.
Date A date number (usually provided by one of the ProQube Lite
date functions) is displayed in one of five ways.
dd-mmm-yy June 10, 1960 appears as 10-Jun-60.
dd-mmm June 10, 1960 appears as 10-Jun.
mmm-yy June 10, 1960 appears as Jun-60.
mm/dd/yy June 10, 1960 appears as 06/10/60.
month dd, yyyy June 10, 1960 appears as June 10, 1960.
If you enter a date (in one of the first four formats above)
into a date formatted cell, ProQube Lite will enter the date
number into the cell rather than the text. For example, if
you type 4/15/89 into a date formatted cell, ProQube Lite
will enter the value 32703 (the date value for April 15,
1989) into the cell. This conserves memory, because the
number takes less memory than the text string would.
24
Hidden The value will not be displayed on the screen. If you later
want to unhide a hidden cell, simply set it to any of the
other formats.
Label All formulas (rather than their values) will be displayed on
screen.
Reset Resets the cell to the default format.
EXAMPLE FORMATS
Format 12.345 -12.345 =@PI*10000
General 12.345 -12.345 31415.92653
Currency $12.35 ($12.35) $31415.93
Currency (,) $12.35 ($12.35) $31,415.93
Fixed 12.35 -12.35 31415.93
Fixed (,) 12.35 -12.35 31,415.93
Fixed A () 12.35 (12.35) 31415.93
Fixed B (,) 12.35 (12.35) 31,415.93
Percent 1234.50% -1234.50% 3141592.65%
Percent (,) 1,234.50% -1,234.50% 3,141,592.65%
Scientific 1.2345E+01 -1.2345E+01 3.1415E+04
Time
AM/PM 08:16:48AM 08:16:48AM 10:14:13PM
Military 08:16:48 08:16:48 22:14:13
Date
dd-mmm-yy 12-Jan-00 12-Jan-00 03-Jan-86
dd-mmm 12-Jan 12-Jan 03-Jan
mmm-yy Jan-00 Jan-00 Jan-86
mm/dd/yy 01/12/00 01/12/00 01/03/86
m d, yyyy January 12, 1900 January 12, 1900 January 3, 1986
Hidden
Label 12.345 -12.345 =@PI*10000
If the formatted value contains more characters than the width of the
column it is in, the cell display will be filled with a row of asterisks
like *******. You can fix this condition in one of two ways.
- Select a display format for the cell which requires fewer characters
to display (or reduce the number of digits after the decimal point to
be displayed).
- Increase the width of the column so the formatted cell will fit in
it. You can do this with the /Cell Width command.
25
USING THE MULTIPLE PAGES
As a true three dimensional spreadsheet ProQube Lite uses multiple pages
for storing data. Each page appears to be a flat two dimensional
spreadsheet. Pages are "stacked" together into a WorkQube. You enter data
just as it is entered in other spreadsheets, in rows and columns, within
each page. Moving from page to page is simple - <PgUp> moves to the
following pages and <PgDn> moves to the preceding pages.
The multiple pages of the WorkQube present endless applications that are
impossible or very difficult with conventional spreadsheets. Each page can
contain the information for one year, one department, one district, or any
other grouping of data that is meaningful to you. Each page can have a
completely different format from the other pages or the same format as the
other pages. And since every cell reference contains a page number,
formulas can access any cell on any page, providing built in consolidation
capabilities.
Let's work through one example to see some of the possibilities that
ProQube Lite's WorkQube present. For a small business, you might have a
spreadsheet for expenses which consists of the four pages shown on the next
page. Each year's detail information is contained on a separate page with
page 2 containing 1987 data, page 3 for 1988, and page 4 for 1989.
Consolidation of data is one of ProQube Lite's most powerful features.
Since every cell reference includes the page number, any formula can access
any cell on any page. You can even sum up ranges of cells which span
across multiple pages. In our example, cell D5 in pages 2, 3, and 4
contain the January rent for the 3 years 1987, 1988, and 1989. In order
for cell D5 on page 5 to consolidate the January rent for the 3 years, you
simply enter the formula
=@SUM(D5;2..D5;4)
into cell D5;5. This formula sums up cell D5 across pages 2 through 4.
26
Example 2 A B C D E F
1 1987 Expenses
2
3 Total Jan 87 Feb 87 Mar 87
4 Advertising 300 120 35 145
5 Rent 910 300 300 310
6 Taxes 108 36 36 36
7 Telephone 913 504 300 109
8 Utilities 575 225 210 140
9 Total 2806 1185 881 740
3 A B C D E F
1 1988 Expenses
2
3 Total Jan 88 Feb 88 Mar 88
4 Advertising 346 140 56 150
5 Rent 1140 380 380 380
6 Taxes 174 58 58 58
7 Telephone 1039 709 301 29
8 Utilities 707 257 290 160
9 Total 3406 1544 1085 777
4 A B C D E F
1 1989 Expenses
2
3 Total Jan 89 Feb 89 Mar 89
4 Advertising 398 170 68 160
5 Rent 1260 420 420 420
6 Taxes 267 89 89 89
7 Telephone 1067 608 309 150
8 Utilities 847 360 307 180
9 Total 3839 1647 1193 999
5 A B C D E F
1 Total Expenses
2 Jan Feb Mar
3 Total Total Total Total
4 Advertising 1044 430 159 455
5 Rent 3310 1100 1100 1110
6 Taxes 549 183 183 183
7 Telephone 3019 1821 910 288
8 Utilities 2129 842 807 480
9 Total 10051 4376 3159 2516
27
CHANGING THE VIEW
Probably the most powerful feature of ProQube Lite is its ability to let
you view your 3D worksheets from different perspectives. This capability
allows you to view data from different pages on the screen at the same
time.
ProQube Lite's 3D workspace is laid out as a cube of data known as the
WorkQube. Changing the view determines which direction your pages slice
through this WorkQube. From the FRONT view the pages slice through the
WorkQube like this:
---------------------
| PAGE 3 |
--------------------- |
| PAGE 2 | |
--------------------- | |
| PAGE 1 | | |
| | |---
| | |
| |---
| |
---------------------
Every column in the WorkQube lies directly behind the same column on the
previous page. For example, column A on page 3 lies directly behind column
A on page 2, which lies behind column A on page 1.
If we wanted to compare the data from each of the column A's together, we
could change to the RIGHT view so that the pages slice through the 3D
worksheet like this:
/| /| /|
/ | / | / |
/ |/ |/ |
/ / / |
| 1 | 2 | 3 |
| | | /
| /| /| /
| / | / | /
|/ |/ |/
Notice that the column A's from the FRONT view have been combined to make
page 1 in the RIGHT view. Similarly, the column B's in the FRONT view have
combined into page 2 in the RIGHT view, the column C's have combined into
page 3, and so on.
And suppose you view the WorkQube from the top. Since each of the rows in
the FRONT view are behind one another, they combine into pages in the TOP
28
view, like this:
-----------------
/ /
/ PAGE 1 /----
/----------------/ /
/ PAGE 2 /----
/----------------/ /
/ PAGE 3 /
/----------------/
Changing your view of the WorkQube is as simple as selecting the /WorkQube
View command. You may view the WorkQube from the Front, Right, Top, Back,
Left, or from the Under side.
Although the concept of changing the view of your worksheet may appear
complex, it is really quite simple, and is best learned by practice and
experience. The disk based tutor provides an entire lesson on the 3D
aspects of ProQube Lite, and is recommended if you find the concept
confusing.
Example Front Using the 3D worksheet from the previous section, you
can see that the Front view of the WorkQube provides a
page of expenses for each year, as well as a summary
page.
Column A of each page contains the categories of
expenses, column C contains the total for the year, and
columns D through O containing the expenses incurred in
each month (January through December).
Right Now, suppose you wanted to compare your expenses for a
single month for various years. Rotating the WorkQube
to the Right view allows us to compare by column. The
A columns in the Front view combine to make up page 1
in the Right view, the Front B columns make up page 2
in the Right view, and so on. So page 4 of the Right
view contains the information from column D (or
January) of all the front view pages. Therefore, from
the Right view all of January's expenses from each of
the years is displayed side by side, like this:
29
[Right]
4 A B C D E
1 January Expenses
2 Jan
3 Jan 87 Jan 88 Jan 89 Total
4 Advertising 120 140 170 430
5 Rent 300 380 420 1100
6 Taxes 36 58 89 183
7 Telephone 504 709 608 1821
8 Utilities 225 257 360 842
9 Total 1185 1544 1647 4376
Since some expenses are seasonal (such as utilities),
trends show up more accurately when the same month is
compared from year to year. When comparing the Rent
paid in January 1987 ($300) to the Rent paid in January
1989 ($420), you find that in two years the Rent
increased 40%.
And if you want to see the months of February compared
with each other, you just press the <PgUp> key to move
up to the next page.
Top Now suppose you want to see a complete look at each
individual expense's entries for all months in all
years. This is the view you will get from the Top of
the WorkQube. The rows in the Front view combine to
make up the pages in the Top view. Page 1 of the Top
view is made up of the row 1's in the Front view.
Page 4 of the Top view contains the Rent expenses, or
the contents of row 4 of all the pages.
[Top]
5 A B C D E F
1 Rent Expenses
2 Rent
3 Rent 87 Rent 88 Rent 89 Total
4
5 January 300 380 420 1100
6 February 300 380 420 1100
7 March 310 380 420 1110
And if you want to see the other individual expenses,
simply use the <PgUp> and <PgDn> keys to move from page
to page in the Top view.
30
Others Since the three remaining views (Back, Left, and Under)
slice pages the same way as the Front, Right, and Top
views, they are used to transpose the positions of the
rows and columns and present the same data as viewed in
the Front, Right, and Top views.
31
PRINTING YOUR DATA
ProQube Lite allows you to print out the data you have entered and gives
you control over what is printed and how the printout looks. You can print
your entire worksheet or any portion of it, including border rows and
columns. The /Print Options command gives you control over the appearance
of your printed product. You can set margins and page numbering, as well
as headers and footers. You may print the data from the spreadsheet or the
formulas behind it. You can direct the output to a printer (LPT1 or LPT2)
or to a file.
Once you have selected the data, the borders, and the options, printing is
accomplished by a simple command - Go.
Example 1 A B C D E F
1 1987 Sales
2
3 Jan Feb Mar Apr May
4 Joe 1234 2011 1893 1500 1438
5 Bill 2102 1453 2415 1627 1888
6 David 1845 1739 2194 1999 2003
7 Mike 2340 2112 1693 1429 2236
8
9
You want to print the spreadsheet above.
1. Select /Print from the main menu to begin.
2. Next, you must tell ProQube Lite what portion of the
spreadsheet you wish to print by selecting Block from the Print
menu. You will be asked to define the block you wish to print.
Either type in the block, like A1;1..F7;1, or highlight the block
using the cursor keys.
3. Set the print options to produce the output that you want.
This is accomplished by choosing Option from the pop-up menu. A
full screen Option menu will appear with several options that can
be set. Let's set the left margin to 10 and insert a header to
read "Prepared on May 1, 1989". Hit <Esc> when all the options
have been set to suit your needs.
4. Finally, print your spreadsheet by selecting Go from the
menu.
32
RECORDING A MACRO
Although ProQube Lite's application language is powerful enough to create
sophisticated business applications, there are many times when you will
want to simply repeat a sequence of keystrokes over and over. ProQube
Lite's Macro Recorder provides an easy way to create and play back often
repeated key sequences. The macro recorder allows you to assign a sequence
of keystrokes to a single key, and when you press that single key, it will
automatically play back the keystroke sequence for you.
To begin recording a macro, you simply press the <^F10> key. You then
press the key you want to assign the macro to, and the word REC will begin
flashing in the upper right corner of the screen. As long as REC is
flashing, ProQube Lite will be memorizing any further keystrokes you type.
When you want to stop recording, just press the <^F10> key again. Your
macro will be stored in a file whose name corresponds to the key you
assigned the macro to. For example, a macro assigned to <Ctrl>T would be
named CTRLT.PQM.
Later, when you press <Ctrl>T, ProQube Lite will look for the macro file
CTRLT.PQM, and play back the keystrokes which are saved there. You can
assign a macro to just about any key which isn't already defined and used
by ProQube Lite. For example, you can't redefine the arrow keys to do
something else, but you can assign other keys to do the same thing as the
arrow keys.
Example Suppose that you often need to format individual cells with the
currency format and 2 decimal places (and no commas). The
keystrokes needed to perform that command are:
/CFCN2<Enter>
Rather than type these 7 keystrokes for each cell, you want to be
able to push a single key (lets say <Alt>F) to perform the
formatting.
First, move to one of the cells you want to format, then press
<^F10> to turn on the macro recorder. A box will pop up telling
you to press the key to assign the macro to, so press <Alt>F.
The work REC will begin flashing in the upper right corner of the
screen. Then just begin typing the keystrokes you want to
record:
/CFCN2<Enter>
followed by <^F10> to turn the macro recorder off.
You have just created a macro. Now, the next time you want to format
a cell as currency, just put the cell pointer on that cell and press
<Alt>F. ProQube Lite will search for the file named ALTF.PQM which
was created by the macro recorder, and will replay the keystrokes
which were stored in that file.
33
THE PROQUBE LITE TEXT EDITOR
ProQube Lite provides a simple text editor which you can use to create and
edit your application programs. This editor can be called up in two
different ways.
- The /Macro Edit command will ask you for the name of a macro. You
may enter a file name, or press <Enter> to select a file from the file
manager. You will then be placed in the ProQube Lite text editor.
- You may press <F5> when you are using the /File Files command to
edit the highlighted file.
When you are using the text editor, the following keys are available for
moving around and manipulating text in your file.
<Up> <Down>
<Left> <Right> The arrow keys move the cursor up or down one line, or left
or right one character.
<Home> This key moves the cursor to the beginning of the line.
<End> This key moves the cursor to the end of the line.
<^Right> This key moves the cursor one word to the right.
<^Left> This key moves the cursor one word to the left.
<^Home> This key moves the cursor to the top of the file.
<^End> This key moves the cursor to the end of the file.
<PgDn> This key moves the cursor down one screen.
<PgUp> This key moves the cursor up one screen.
<BkSp> This key deletes the character to the left of the cursor and
shifts the following characters in the line to the left to
fill in the empty space.
<^BkSp> This key deletes the entire line.
<Del> This key deletes the character underneath the cursor and
shifts the following characters in the line to the left to
fill in the empty space.
<Ins> This key toggles between insert and overwrite modes. When
you are in insert mode, typing a character will insert the
new character into the line at the point where the cursor
is. The character under the cursor and those to the right of
the cursor are shifted to the right to make room for the new
character. When you are in overwrite mode, typing a
character will replace the character under the cursor with
the new character. When you are in insert mode, the cursor
will be an underline. In overwrite mode the cursor will be
a solid block.
34
In addition, the following function keys perform the following functions
when used in the text editor. An index of these function keys is located
along the bottom line of the editor display.
<F1> Help This key causes a help screen to appear which lists all of
the commands available for text editing.
<F2> Mark This key turns on marking at the current line. Moving the
cursor after pressing this key causes text between that line
and the new line to be highlighted. Pressing <F2> a second
time will turn off text marking.
<F3> Cut Pressing this key with marking turned on (<F2>) causes the
marked lines to be cut out of the file and placed in a
buffer. You may then move to another location in the file
and use the <F4> key to paste the lines back into the file.
The buffer will only hold one block of lines, so if you cut
data a second time, the new data replaces the older data in
the buffer.
<F4> Paste This keys causes the contents of the buffer to be pasted
into the file at the cursor location. This does not clear
the buffer, so you may paste the same buffer data into more
than one location.
<F5> DelLine This command deletes the line the cursor is on.
<F6> Search This command allows you to search for a string in the file.
You will be asked to enter the text you want to search for.
Simply enter the text, and the cursor will be moved to the
next occurrence of that text. The search is case
insensitive, which means that hello will match hello, Hello,
or HeLlO.
<F7> Save This command allows you to save the current file to disk
without having to exit.
<F10> Exit This command allows you to exit from the editor. If you
have made any changes to the file, you will be asked if you
want to save it first.
35
THE PROQUBE LITE APPLICATION LANGUAGE
In addition to the macro recorder, ProQube Lite provides a built in
programming language which provides additional capabilities such as
windowing, menu creation, control structures, database screen painting, and
file, printer, and DOS access.
A ProQube Lite application program simply consists of a text file
containing the commands which you would like ProQube Lite to execute. You
may give your program files any valid DOS name, but the extension must be
.PQM (for example MYPROG.PQM). Your application program can consist of
keystroke macros, ProQube Command Language (PCL) commands, or both.
Macros A keystroke macro is simply a sequence of keystrokes following
the apostrophe character '. When ProQube Lite encounters one of
these keystroke sequences in your program, it simply treats the
keystrokes as if you typed them in yourself. For example, if you
place the line:
'/sci2<Enter>
into your application program, then ProQube Lite will
automatically insert two columns when it executes this line. It
does this by first typing the / character (which will bring up
the menu), then S (for slice), then <Ctrl> (for column), then I
(for insert), then the number 2 (to insert 2 columns), and
finally the <Enter> key (to complete the command).
Commands The ProQube Command Language (PCL) is a set of instructions which
provides flexible I/O capabilities, numerous control structures,
file, printer, and DOS access, and more. In fact, you may find
that the PCL commands are so versatile that many of your
application programs will need few if any keystroke macros. The
PCL commands are described in detail in ProQube Lite
Applications.
Creating You create an application with a text editor, just as you would
write a program in any programming language. ProQube Lite
provides a simple text editor which can be called up with the
/Macro Edit command, or you can use your own text editor outside
of ProQube Lite.
Running Once you have created your application program, you will probably
want to run it. There are several ways to run a ProQube Lite
application program which you have created.
- Using the /Macro Run command.
- Pressing the key assigned to an application program.
- Setting up conditions to start your program automatically using
the /Macro Startup command.
36
- Giving your program the same name as one of your worksheets.
When a new data file (.PQS) is retrieved, ProQube Lite will check
for a corresponding application to run. For example, when you
retrieve INVOICE.PQS, then ProQube Lite will look for and run the
application INVOICE.PQM (if it exists).
Debugging Since few people can create the perfect program the first time
around, ProQube Lite provides several powerful application
debugging features. If an error is encountered when running an
application, then an error message will first be displayed.
Then, when you press a key to continue, ProQube Lite will load
the application into the editor, and place you on the line where
the error occurred to allow you to fix the problem.
ProQube Lite also provides single stepping, conditional
breakpoints, and the ability to examine and edit cells during
program execution.
37
REFERENCE
THE FUNCTION KEYS
Several of ProQube Lite's commands are assigned to one of the 10 function
keys instead of or in addition to the command menus. These commands are
ones which you might normally want to select with a single keystroke.
Several other commands are also assigned to one of the function keys with
the <Ctrl> key pressed. To execute one of these commands, simply hold down
the <Ctrl> key and then press the appropriate function key.
The commands tied to the function keys are also accessible with the mouse.
Pressing the right button on the mouse will turn the function key index at
the bottom of the screen into a moving bar menu. Pressing the right mouse
button additional times toggles the function key menu between the function
key menu with and without the <Ctrl> key pressed.
Pressing the left mouse button selects the item which is highlighted.
Pressing both keys together escapes from the menu.
<F1> Help This key calls up context sensitive help. A help screen
will pop up which provides information about the operation
you are currently attempting. The help screen which pops up
will also list several other help screens which are related
to what you are doing. You may view one of these related
help screens by simply using the <Left> and <Right> keys to
move the highlight bar to the name of the help screen
desired, and then pressing the <Enter> key, or by simply
pressing the first letter of the desired help screen's name.
You may also call up a list of help screens called the <HELP
INDEX> by pressing the <F1> key a second time.
After you have read the help screens you are interested in,
you can simply press the <Esc> key to return to what you
were doing.
<F2> Edit This key allows you to edit the current cell. When you are
in edit mode, the following editing keys are available:
<Left> moves the cursor one character to the left.
<Right> moves the cursor one character to the right.
<Home> moves the cursor to the first character.
<End> moves the cursor to the last character.
<^Right> moves the cursor one word to the right.
<^Left> moves the cursor one word to the left.
<BkSp> deletes the character to the left of the cursor
and shifts the following characters in the line to
38
the left to fill in the empty space.
<^BkSp> deletes the entire line.
<Del> deletes the character underneath the cursor and
shifts the following characters in the line to the
left to fill in the empty space.
<Ins> toggles between insert and overwrite modes.
<F3> Block This key calls up a menu of defined block names. This key
can be used any time you are asked to define a cell, range,
or block. You may pick a block from this list by
highlighting the name and pressing the <Enter> key. If
there are more than 16 block names defined, you may press
the <PgUp> and <PgDn> keys to view more block names.
<F4> Absolute This key cycles absolute and relative references when you
are pointing out cell references with the cursor keys. If
no anchor is set then the first coordinate is adjusted. If
the anchor has been set then <F4> will adjust the non-anchor
reference.
<F5> GoTo This key allows you to move the cell pointer to another
cell. You will be asked for the name of the cell to move
to. For example, if you enter Q23;43, then the cell pointer
will be moved to that cell. If you enter a block name, then
the cell pointer will be moved to the cell in the upper left
corner of the block. You may also press the <F3> Block key
and pick a block name from a menu of existing names.
<F6> Search This key allows you to search for some text in a cell, and
allows you to move the cell pointer to that cell or replace
the text with other text.
Find This option allows you to enter the text you
want to search for.
Replace with This option allows you to enter the text you
want to replace the Find text with.
Ignore case If you set this option to No, then the Find
text must match text in the WorkQube exactly
to be considered a match. If this option is
Yes, then the Find text will match text in
the WorkQube if the letters are the same,
even if some are uppercase and some are lower
case.
Block This option allows you to define the block of
cells you want to search. This allows you to
limit your search to as small a block of
39
cells as you want.
Start This command begins the search and replace
operation. ProQube Lite will begin searching
through the defined block, and will stop when
it finds a match. The matching cell and its
contents will be displayed, and you will be
asked if you want to perform the Replace.
There are 4 options.
No No, don't perform the replace, but
continue searching.
Yes Yes, perform the replace, and then
continue searching.
All Yes, perform the replace on this, and
all other matches which you find. This
is a global search and replace, and you
will not be asked for any further
confirmation.
GoTo No, don't perform the replace, and just
move the cell pointer to this new cell
and quit any further searching.
If you just want to quit, then you can simply
press the <Esc> key.
<F7> Load This key retrieves a worksheet from disk. You will be asked
for the name you want the file to retrieve. If you press
<Enter> without entering a file name, the File Manager will
appear, and you may select your file from a list.
<F8> Save This key saves the current worksheet to disk. You will be
asked for the name you want the file to be saved as. If you
press <Enter> without entering a file name, the File Manager
will appear.
<F9> Recalc This key recalculates the entire worksheet. This command is
only necessary when you have used the /WorkQube Calc Manual
command to disable automatic minimal recalculation.
<^F1> Info This key allows you to enter a worksheet description. The
description may be up to 60 characters long, and is saved
along with the worksheet. If you press <^F1> when you are
in the File Manager, it will display the description of the
currently highlighted worksheet. This allows you to see a
description of a worksheet without having to actually load
the worksheet into memory.
<^F2> Debug This key brings up the application program debug menu when
40
you are single stepping through an application program.
Simply select Edit from the menu, then type in the name of
the cell you want to examine. ProQube Lite will display the
current contents of the cell, and will allow you to modify
those contents if you want. When you press <Enter>, the
ProQube Lite will resume single stepping through the
application.
<^F3> Break This key breaks out of a running application. If you press
this key when an application program is running, it will
abort the application unless the application program has
used the #BREAK command to disable breaking.
<^F4> Mark This key marks the current cell so that you can later return
to it with the <^F5> key. For example, if you press <^F4>
when the cell pointer is on cell Q53;3, then you can move
anywhere in the worksheet and return to cell Q53;3 by simply
pressing the <^F5> key.
<^F5> ToMark This key returns to the last cell marked with <^F4>.
<^F6> Files This key calls up the File Manager. You will be asked to
enter a mask to tell ProQube Lite which files you want to be
displayed. Pressing <Enter> will use the Mask *.*, which
will display all of the files in the current directory.
The following functions are available within the File
Manager:
<F1> Help screen.
<F2> Loads the highlighted .PQS file.
<F3> Combines the highlighted .PQS file.
<F4> Imports the highlighted file.
<F5> Allows you to edit the contents of the highlighted
text file.
<F6> Causes the highlighted text file to be printed.
<F7> Runs the highlighted .EXE, .COM, or .BAT file.
<F8> Allows you to rename the highlighted file.
<F9> Copies the highlighted file.
<F10> Deletes the highlighted file.
<^F1> Displays the description of the highlighted .PQS
file.
The File Manager also simplifies the tasks of changing
drives and directories. To change to another directory,
simply press the <Left> key to highlight the word
DIRECTORIES at the top of the screen, then use the <Up> and
<Down> keys to highlight the name of the directory you want
to change to. Once the name is highlighted, press the
<Enter> key and ProQube Lite will change to that directory
and list the files in that directory.
41
Changing drives is just as easy. Simply press the <Left>
key until the word DRV is highlighted at the top of the
screen, then press the letter of the drive you want to
change to. For example, if you want to change to drive A:,
then just press A.
<^F7> EGA43 This key toggles 43/50 line mode on EGA/VGA monitors. If
you have an EGA or VGA monitor, this function allows you to
see twice as many rows on the screen as normal.
<^F8> Status This key displays a status window. The status window lists
the current directory and file name, the amount of memory
available, the current date and time, and the current
default settings.
<^F9> Enter This key toggles Enter mode. This mode is especially useful
for repetitive data entry. When you are in Enter mode,
pressing the <Enter> key to enter data into a cell will
enter that data and them move the cell pointer in the last
direction moved. For example, if the cell pointer last
moved down, then typing in a number and pressing <Enter>
will enter that number into the highlighted cell, and will
move the cell pointer down to the next cell. This allows
you to use the numeric keypad and the <Enter> key to enter
rows or columns of data.
<^F10> Record This key turns the macro recorder on and off. The macro
recorder allows you to assign a sequence of keystrokes to a
single key, and when you press that single key, it will
automatically play back the keystroke sequence for you.
To begin recording a macro, you simply press the <^F10> key.
You then press the key you want to assign the macro to, and
begin typing the keys to record. The word REC will flash in
the upper right corner of the screen while recording is on.
When you are ready to stop recording, just press the <^F10>
key again. Your macro will be stored in a file whose name
corresponds to the key you assigned the macro to. For
example, a macro assigned to <Ctrl>T would be named
CTRLT.PQM.
Later, when you press <Ctrl>T, ProQube Lite will look for
the macro file CTRLT.PQM, and play back the keystrokes which
are saved there.
If a macro already exists for the key you want to record to,
ProQube Lite will provide the following options:
Replace Replace the existing macro with this new one.
Edit Edit the existing macro.
Cancel Cancel this operation.
42
PROQUBE LITE COMMAND MENUS
When you want to execute a command in ProQube Lite, it will usually be
through ProQube Lite's menu system. A menu is simply a list of commands
which you can pick from. Through the menus you can manipulate cells,
blocks, or the entire WorkQube, graph or print data, manipulate files, or
even temporarily exit to the operating system.
To bring up ProQube Lite's menu system, you simply press the / key (or
press the left button on your mouse). At the top of the ProQube Lite
screen you will see the following menu.
Cell Block Slice WorkQube File Print Data Macro OpSys Quit
The menu system uses a sliding bar to show your choices. There are two
ways to choose an option:
- Press the <Left> or <Right> key until the sliding bar is
highlighting the option you want. Then press <Enter> to make the
choice. The <Home> key can be pressed to highlight the first menu
choice, and pressing the <End> key will highlight the last menu
choice.
- As a shortcut you can simply press the highlighted letter of the
desired item (usually the first character) to select that option.
A help line appears above the main menu. This line describes the
highlighted menu option. When you move the sliding bar to a new item, this
help line will change to display a line of help about the newly highlighted
item.
When you choose an option from the menu, a new submenu will pop up which
works exactly the same way as the main menu. As each new submenu is
chosen, the previous menus remain on-screen, providing you with a "tree" of
your commands. To go back one level, simply press the <Esc> key. To clear
all of the menus from the screen at once, press the <BkSp> key.
43
--------------------------------------------------------------------------
/Cell Format
--------------------------------------------------------------------------
Function Change the way a value in a cell is displayed.
Remarks This command allows you to modify the display of the current cell
by setting its format. If the value using the format you select
is too long to fit into the cell's assigned width, a row of
asterisks will appear.
Options General, Currency, Fixed, Percent, Scientific, Time, Date,
Hidden, Label, and Reset.
--------------------------------------------------------------------------
/Cell Width
--------------------------------------------------------------------------
Function Change a column width.
Remarks This command allows you to make the column the cell pointer is in
wider or narrower (or even hide it). This command is often used
when the formatted values in a column exceed its current width,
and a row of asterisks appear. This situation is easily
corrected by widening the cell.
If you set a column width to zero, the column will not be
displayed. You may still move the cell pointer into the hidden
column, but it will not be visible on the screen. If you want to
make the column visible again, simply move the cell pointer into
the column and reset the width or set it to a new wider value.
Options Set The set option allows you to change the width. You
will be asked how wide the column should be. You may
either enter a number, or use the arrow keys to change
the width. <Left> will narrow the column, and <Right>
will widen the column.
Reset Resets the column the cell pointer is in to the global
width.
All Sets the width of the current column on all pages. For
example, if the cell pointer is in column F, then using
this command to set the column width to 15 will set the
width of column F to 15 on all 512 pages. This is much
more memory efficient than setting the column's width
on all 512 pages individually. The arrow keys may also
be used to change the column width.
Clear Resets the width of the current column on all pages (if
it was set with the /Cell Width All command). Any
individual column widths which were set using /Cell
Width Set will retain that setting.
44
--------------------------------------------------------------------------
/Cell Erase
--------------------------------------------------------------------------
Function Erase a cell from memory.
Remarks This command erases the contents of the current cell. This is
important, since editing the cell's contents using the <F2> key
will not completely blank the cell; the cell will still be using
memory. The cell will retain its formatting; for example, a cell
formatted for percent will still be formatted for percent.
--------------------------------------------------------------------------
/Cell Justify
--------------------------------------------------------------------------
Function Justify text in a cell.
Remarks This command allows you to change the way text strings are
displayed in the cell which the cell pointer is in. The command
has three options:
Options Left Justifies text in the current cell to the left edge of
the cell. When a label is entered, it will appear
beginning in the leftmost character of the cell.
Right Justifies text in the current cell to the right edge of
the cell. When a label is entered, it will appear
flush right in the cell.
Center Justifies text in the current cell to the center of the
cell. When a label is entered, it will appear centered
in the cell.
45
--------------------------------------------------------------------------
/Cell Copy
--------------------------------------------------------------------------
Function Copy a cell to another cell or block of cells.
Remarks This command copies the contents of the cell that the cell
pointer is in to another cell or block of cells. You will be
asked to define the cell or block of cells you want to copy to.
If you copy the cell to more than one cell, an individual copy
will be made in each of the destination cell. If the source cell
contains a formula, all relative references will be adjusted when
the formula is copied.
Example Cell B12;1 sums up the cells above it with the formula:
=@SUM(B1;1..B11;1)
You want cells C12;1 through X12;1 to sum up the cells above each
of them. Simply move the cell pointer to cell B12;1, select
/Cell Copy, and define the block to copy to as C12;1..X12;1. The
formula will be copied to each of those cells, and the relative
references in the formula will be adjusted so that they sum up
the proper cells. For example, cell S12;1 will contain the
formula:
=@SUM(S1;1..S11;1)
--------------------------------------------------------------------------
/Cell Move
--------------------------------------------------------------------------
Function Move the contents of a cell to another cell.
Remarks This command moves the contents of the cell that the cell pointer
is in to a different location. You will be asked to define the
destination cell. If the current cell contains a formula, then
the references will be adjusted to point to the same data.
References in other cells which refer to the moved cell will also
be adjusted so that they continue to point to the same data.
46
--------------------------------------------------------------------------
/Cell Protect
--------------------------------------------------------------------------
Function Set protection on a cell.
Remarks This command allows the current cell to be protected against
changes. If, for example, the cell contains a formula that you
do not want changed, use the /Cell Protect Yes command to guard
against changes. If you thereafter want to edit or change that
formula, use the /Cell Protect No command to unprotect the cell.
The default mode is "protected."
A protected cell may still be modified until WorkQube protection
is enabled using the /WorkQube Protect Enable command. WorkQube
Protect is much like a "master switch" which turns protection
capabilities on and off for the entire WorkQube.
Options Yes Enables protection on the current cell.
No Disables protection on the current cell.
--------------------------------------------------------------------------
/Cell Setup
--------------------------------------------------------------------------
Function Select a setup string to a cell.
Remarks This command allows you to select a setup string for the current
cell (for printing--the style will not change on-screen). This
allows for very sophisticated printouts of spreadsheets. Bottom
lines may be boldfaced, for example, or may appear in a different
font.
Options The options depend on your printer. If your printer supports
boldfacing, underlining, italics, and condensed print, your
options would include those choices.
If, for example, your printer allows italics, "Italics" can be
one of the option choices. To change the current cell's font to
italic, issue the command /Cell Setup and select Italics from the
menu.
In order to use the /Cell Setup command, you must first enter
your setup strings using the /Print Setup Fonts command.
47
--------------------------------------------------------------------------
/Block Format
--------------------------------------------------------------------------
Function Change the way values in a block of cells is displayed.
Remarks This command allows you to choose the best format for the cells
in a block. You will be asked to define the block of cells you
want to change the format of.
Options General, Currency, Fixed, Percent, Scientific, Time, Date,
Hidden, Label, and Reset.
--------------------------------------------------------------------------
/Block Width
--------------------------------------------------------------------------
Function Set the width of several columns at once.
Remarks This command allows you to make several columns wider or narrower
(or even hide them). You will be asked to define the block of
columns to widen or narrow. If you set a column width to zero,
the column will not be displayed. You may still move the cell
pointer into the hidden column, but it will not be visible on the
screen. If you want to make the column visible again, simply
move the cell pointer into the column and reset the width or set
it to a new wider value.
This command is often used when the formatted values in a column
exceed its current width, and a row of asterisks appear. The
situation is easily corrected by widening the column.
Options Set The set option allows you to change the width of
several columns at the same time. You may either enter
a number, or use the arrow keys to change the width.
<Left> will narrow the column, and <Right> will widen
the column.
Reset Resets the columns in the block to the global width.
All Sets the width of the columns in the block on all
pages. For example, if the cell pointer is in column
F, then using this command to set the column width to
15 will set the width of column F to 15 on all 512
pages. This is much more memory efficient than setting
the column's width on all 512 pages individually. The
arrow keys may also be used to change the column
widths.
Clear Resets the width of the columns in the block on all
pages (if it was set with the /Cell Width All command).
Any individual column widths which were set using /Cell
Width Set will retain that setting.
48
--------------------------------------------------------------------------
/Block Erase
--------------------------------------------------------------------------
Function Erase a block of cell's contents from memory.
Remarks This command erases the contents of a block of cells. You will
be asked to define the block of cells you want to erase. This is
important, since editing each cell in the block using the <F2>
key will not completely blank the block; the block will still be
using memory. The cells in the block will retain their formats;
for example, cells in the block formatted for percent will still
be formatted for percent.
--------------------------------------------------------------------------
/Block Justify
--------------------------------------------------------------------------
Function Justify text in a block of cells.
Remarks This command allows you to change the way text strings are
displayed in each cell in a block. You will be asked to define
the block of cells you want to change. The command has three
options:
Options Left Justifies text in each cell of the block to the left
edge of the cell. When a label is entered, it will
appear beginning in the leftmost character of the cell.
Right Justifies text in each cell of the block to the right
edge of the cell. When a label is entered, it will
appear flush right in the cell.
Center Justifies text in each cell of the block to the center
of the cell. When a label is entered, it will appear
centered in the cell.
49
--------------------------------------------------------------------------
/Block Copy
--------------------------------------------------------------------------
Function Copy a block of cells to another location.
Remarks This command copies the contents of a block of cells to another
location. You will first be asked to define the cell or block of
cells you want to copy (source block), and then the location you
want to copy to (destination). If the destination you define is
a single cell, the source block will be copied starting at that
location. If the destination contains more than one cell, the
source block will be copied to each cell in the destination
block. This is useful for copying a block of cells to several
adjacent locations at once. If any of the source cells contain a
formula, all relative references will be adjusted when the
formula is copied.
Example Column A contains a list of formulas from row 1 through 10. You
want to copy this block of formulas to columns B through F.
Select /Block Copy, and select the block A1;1..A10;1 as the
source block. Since you want to copy the block to columns B
through F, you should select the block B1;1..F1;1 as the
destination. ProQube Lite will then copy the source block to
each cell in the destination block.
--------------------------------------------------------------------------
/Block Move
--------------------------------------------------------------------------
Function Move the contents of a block of cells.
Remarks This command moves the contents of a block of cells to a
different location. You will be asked to first define the block
of cells to move (source block), and then the destination. If
any of the cells in the source block contains a formula, then the
references will be adjusted to continue to point to the same
data. References in other cells which refer to the moved cell
will also be adjusted so that they continue to point to the same
data.
When you define the destination, you only need to supply a single
cell address; the source block will be copied with the upper left
corner in the destination cell.
50
--------------------------------------------------------------------------
/Block Name
--------------------------------------------------------------------------
Function Give a name to a block of cells.
Remarks This command allows you to give a name to a cell or block of
cells. This name can then be used anywhere that a cell address
or block reference can be used by either typing in the block's
name or by pressing the <F3> Block key and selecting the name
from a menu. Single cells are acceptable as named blocks.
A formula may also reference a named range absolutely by simply
putting a $ character in front of the range name.
Options Create Allows you to name the cell or block. When this option
is selected, you are asked what you want to name the
cell or block. The name must begin with a letter of
the alphabet and can be up to 8 characters long. You
are then asked to define the block to name by typing in
the block address or by pointing out the block with the
cursor keys.
Delete Releases the block name which is associated with a
block. You will be asked to type in the name to
delete. You may press <Enter> without typing a name,
and a menu of the current block names will appear, and
you may select the name to delete from the menu. Up to
16 names will be displayed at a time. If you don't see
the name you want to delete, use the <PgDn> and <PgUp>
keys to see more names.
Reset Deletes all block names.
List Causes a list of the current block names to appear. Up
to 16 names will be displayed at a time. Use <PgUp>
and <PgDn> to see more names.
Example If you assigned the name PRICES to the block B3;1..C6;3, the
formula @AVG(PRICES) will be identical to the formula
@AVG(B3;1..C6;3). Other /Block commands which request a block
reference, such as /Block Erase, will accept the name as an
address. Pressing <F3> will bring up a menu of range names. The
<F5> GoTo key will also accept block names.
51
--------------------------------------------------------------------------
/Block Protect
--------------------------------------------------------------------------
Function Set protection on a block of cells.
Remarks This command allows you to protect a block of cells. If, for
example, the block contains formulas that you do not want
changed, use the /Block Protect Yes command to guard against
changes. If you thereafter want to edit or change a cell in the
block, use the /Cell Protect No command to unprotect the cell.
The default mode is "protected."
A protected cell may still be modified until WorkQube protection
is enabled using the /WorkQube Protect Enable command. WorkQube
Protect is much like a "master switch" which turns protection
capabilities on and off for the entire WorkQube.
You will be asked to define the block you want to protect.
Options Yes Enables protection on the selected block.
No Disables protection on the selected block.
--------------------------------------------------------------------------
/Block Setup
--------------------------------------------------------------------------
Function Select a setup string for a block of cells.
Remarks This command allows you to select a setup string for a block of
cells (for printing--the style will not change on-screen). This
allows for very sophisticated printouts of spreadsheets. Bottom
lines may be boldfaced, for example, or may appear in a different
font.
Options The options depend on your printer. If your printer supports
boldfacing, underlining, italics, and condensed print, your
options would include those choices.
If, for example, your printer allows italics, "Italics" can be
one of the option choices. To change the current block's setup
string to italic, issue the command /Block Setup and select
Italics from the menu.
In order to use the /Block Setup command, you must first enter
your setup strings using the /Print Setup Fonts command.
52
--------------------------------------------------------------------------
/Slice Column Insert
--------------------------------------------------------------------------
Function Insert one or more blank columns.
Remarks This command inserts one or more blank columns at the current
cell pointer position. The current column and all the columns to
the right will be shifted right to make room for the blank
columns. Relative references in formulas will be updated by the
change; absolute references will remain unchanged. You will be
asked how many blank columns you want to insert. You may also
use the arrow keys to highlight how may columns should be
inserted.
--------------------------------------------------------------------------
/Slice Column Delete
--------------------------------------------------------------------------
Function Delete one or more columns.
Remarks This command deletes one or more columns at the current cell
pointer position. The contents of the deleted columns will be
erased, and all of the columns to the right will be shifted left
to fill in the deleted columns. Relative references in formulas
will be updated by the change; absolute references will remain
unchanged. You will be asked how many columns you want to
delete. You may also use the arrow keys to highlight the columns
that should be deleted.
--------------------------------------------------------------------------
/Slice Column Erase
--------------------------------------------------------------------------
Function Erase the contents of a column of cells.
Remarks This command erases the contents of all the cells in the column
which the cell pointer is in. This is important, since editing
each cell in the column using the <F2> Edit key will not
completely blank the column; the cells in the column will still
be using memory. The cells in the column will retain their
formatting; for example, a column formatted for percent will
still be formatted for percent.
53
--------------------------------------------------------------------------
/Slice Column Copy
--------------------------------------------------------------------------
Function Copy a column of cells to another column or columns.
Remarks This command copies the contents of one or more columns of cells
to another location. You will first be asked to define the
column or columns you want to copy (source columns), and then the
location you want to copy to (destination).
If the destination you define is a single column, the source
column will be copied starting at that location. If the
destination contains more than one column, the source column will
be copied to each of the destination columns. If any of the
source cells contain a formula, all relative references will be
adjusted when the formula is copied.
Because ProQube Lite only looks at the column coordinates in the
destination range, you only need to include one cell in each
column you want to copy to.
Example If you want to copy column A to columns B through F, you can
select a destination range of B1;1..F1;1, or B4;1..F4;1, or any
other range which includes columns B through F.
--------------------------------------------------------------------------
/Slice Column Move
--------------------------------------------------------------------------
Function Move a column's data to another column.
Remarks This command moves the contents of one or more columns to another
location. You will be asked to first define the columns to move
(source columns), and then the destination. If any of the cells
in the source columns contains a formula, then the references
will be adjusted to continue to point to the same data.
References in other cells which refer to the moved cells will
also be adjusted so that they continue to point to the same data.
When you define the destination, you only need to supply a single
cell address; the source columns will be copied with the first
column in the same column as the destination cell.
54
--------------------------------------------------------------------------
/Slice Row Insert
--------------------------------------------------------------------------
Function Insert one or more blank rows.
Remarks This command inserts one or more blank rows at the current cell
pointer position. The current row and all the rows below will be
shifted down to make room for the blank rows. Relative
references in formulas will be updated by the change; absolute
references will remain unchanged. You will be asked how many
blank rows you want to insert. You may also use the arrow keys
to highlight the number of rows that should be inserted.
--------------------------------------------------------------------------
/Slice Row Delete
--------------------------------------------------------------------------
Function Delete one or more rows.
Remarks This command deletes one or more rows at the current cell pointer
position. The contents of the deleted rows will be erased, and
all of the rows below will be shifted up to fill in the deleted
rows. Relative references in formulas will be updated by the
change; absolute references will remain unchanged. You will be
asked how many rows you want to delete. You may also use the
arrow keys to highlight the rows that should be deleted.
--------------------------------------------------------------------------
/Slice Row Erase
--------------------------------------------------------------------------
Function Erase the contents of a row of cells.
Remarks This command erases the contents of all the cells in the row
which the cell pointer is in. This is important, since editing
each cell in the row using the <F2> Edit key will not completely
blank the row; the cells in the row will still be using memory.
The cells in the row will retain their formatting; for example, a
row formatted for percent will still be formatted for percent.
55
--------------------------------------------------------------------------
/Slice Row Copy
--------------------------------------------------------------------------
Function Copy a row's contents to another row or rows.
Remarks This command copies the contents of one or more rows of cells to
another location. You will first be asked to define the row or
rows you want to copy (source rows), and then the location you
want to copy to (destination).
If the destination you define is a single row, the source rows
will be copied starting at that location. If the destination
contains more than one row, the source row will be copied to each
of the destination rows. If any of the source cells contain a
formula, all relative references will be adjusted when the
formula is copied.
Because ProQube Lite only looks at the row coordinates in the
destination range, you only need to include one cell in each row
you want to copy to.
Example If you want to copy row 1 to rows 2 through 10, you can select a
destination range of A2;1..A10;1, or F2;1..F10;1, or any other
range which includes rows 2 through 10.
--------------------------------------------------------------------------
/Slice Row Move
--------------------------------------------------------------------------
Function Move a row's contents to another row.
Remarks This command moves the contents of one or more rows to another
location. You will be asked to first define the rows to move
(source rows), and then the destination. If any of the cells in
the source rows contains a formula, then the references will be
adjusted to continue to point to the same data. References in
other cells which refer to the moved cells will also be adjusted
so that they continue to point to the same data.
When you define the destination, you only need to supply a single
cell address; the source rows will be copied with the first row
in the same row as the destination cell.
56
--------------------------------------------------------------------------
/Slice Page Insert
--------------------------------------------------------------------------
Function Insert one or more blank pages.
Remarks This command inserts one or more blank pages at the current cell
pointer position. The current page and all the pages behind will
be shifted back to make room for the blank pages. Relative
references in formulas will be updated by the change; absolute
references will remain unchanged. You will be asked how many
blank pages you want to insert. You may also use the arrow keys
to highlight the number of pages that should be inserted.
--------------------------------------------------------------------------
/Slice Page Delete
--------------------------------------------------------------------------
Function Delete one or more pages.
Remarks This command deletes one or more pages at the current cell
pointer position. The contents of the deleted pages will be
erased, and all of the pages behind will be shifted forward to
fill in the deleted pages. Relative references in formulas will
be updated by the change; absolute references will remain
unchanged. You will be asked how many pages you want to delete.
You may also use the arrow keys to highlight the pages that
should be deleted.
--------------------------------------------------------------------------
/Slice Page Erase
--------------------------------------------------------------------------
Function Erase a page of cells.
Remarks This command erases the contents of all the cells in the current
page. This is important, since editing each cell in the page
using the <F2> Edit key will not completely blank the page; the
cells in the page will still be using memory. The page will
retain its formatting; for example, a page formatted for percent
will still be formatted for percent.
57
--------------------------------------------------------------------------
/Slice Page Copy
--------------------------------------------------------------------------
Function Copy data in a page to one or more pages.
Remarks This command copies the contents of one or more pages to another
location. You will first be asked to define the page or pages
you want to copy (source pages), and then the location you want
to copy to (destination).
If the destination you define is a single page, the source pages
will be copied starting at that location. If the destination
contains more than one page, the source page will be copied to
each of the destination pages. If any of the source cells
contain a formula, all relative references will be adjusted when
the formula is copied.
Because ProQube Lite only looks at the page coordinates in the
destination range, you only need to include one cell in each page
you want to copy to.
Example If you want to copy page 1 to pages 2 through 4, you can select a
destination range of A1;2..A1;4, or F12;2..F12;4, or any other
range which includes pages 2 through 4.
--------------------------------------------------------------------------
/Slice Page Move
--------------------------------------------------------------------------
Function Move data in a page to another page.
Remarks This command moves the contents of one or more pages to another
location. You will be asked to first define the pages to move
(source pages), and then the destination. If any of the cells in
the source pages contains a formula, then the references will be
adjusted to continue to point to the same data. References in
other cells which refer to the moved cells will also be adjusted
so that they continue to point to the same data.
When you define the destination, you only need to supply a single
cell address; the source pages will be copied with the first page
in the same page as the destination cell.
58
--------------------------------------------------------------------------
/Slice Page Format
--------------------------------------------------------------------------
Function Format a page of cells.
Remarks This command allows you to select a format for the current page.
A page may individually be using one format, while the global
format is set differently.
Options General, Currency, Fixed, Percent, Scientific, Time, Date,
Hidden, Label, and Reset.
--------------------------------------------------------------------------
/WorkQube Format
--------------------------------------------------------------------------
Function Set the global default format.
Remarks This command allows you to choose a global format for the entire
WorkQube. When the WorkQube Format is changed, all cells which
use the default format will be displayed with the new WorkQube
format. Otherwise, this command does not affect the format of
cells which already contain data; it only determines which format
will be used for blank cells which may contain data in the
future.
Options General, Currency, Fixed, Percent, Scientific, Time, Date,
Hidden, and Label.
--------------------------------------------------------------------------
/WorkQube Width
--------------------------------------------------------------------------
Function Set the global default width.
Remarks This command allows you to set the default width of all columns
in the WorkQube. This command is often used when the values in
an entire WorkQube are expected to exceed the default column
width, and the telltale row of asterisks would appear. The
situation is easily corrected by widening the columns in the
WorkQube. You will be prompted to enter the new global column
width. You may either enter a number, or use the arrow keys to
change the width. <Left> will narrow the column, and <Right>
will widen the column.
59
--------------------------------------------------------------------------
/WorkQube Erase
--------------------------------------------------------------------------
Function Erase the entire 3D worksheet from memory.
Remarks This command erases the current WorkQube's contents entirely.
All of the WorkQube settings are restored to their defaults. You
will be asked to confirm whether you really want to erase the
worksheet.
Options Yes Erase the Worksheet from memory.
No Don't erase the Worksheet from memory.
--------------------------------------------------------------------------
/WorkQube Justify
--------------------------------------------------------------------------
Function Set the global default text justification.
Remarks This command allows you to change the way text strings are
displayed in each cell of the WorkQube. This command will not
change they way existing text cells are justified. It only
determines how text entered in the future will be displayed. The
command has three options:
Options Left Justifies text in cells to the left edge of the cell.
When a label is entered, it will appear beginning in
the leftmost character of the cell.
Right Justifies text in cells to the right edge of the cell.
When a label is entered, it will appear flush right in
the cell.
Center Justifies text in cells to the center of the cell.
When a label is entered, it will appear centered in the
cell.
60
--------------------------------------------------------------------------
/WorkQube View
--------------------------------------------------------------------------
Function View the 3D worksheet from other perspectives.
Remarks ProQube Lite allows you to view, enter or manipulate your data in
any of the six faces of the WorkQube.
The current face is shown in the upper left corner in front of
the current cell name (like [Front]). The view of the WorkQube
may be changed using the /WorkQube View command.
Options Front The WorkQube is viewed from the front.
Right The WorkQube is viewed from the right side.
Top The WorkQube is viewed from the top.
Back The WorkQube is viewed from the back.
Left The WorkQube is viewed from the left side.
Under The WorkQube is viewed from the bottom.
Example For an example of how the various views can be used, see Changing
The View in ProQube Lite Basics.
--------------------------------------------------------------------------
/WorkQube Title
--------------------------------------------------------------------------
Function Lock title rows and columns on the screen.
Remarks This command allows you to lock (or hold) rows and columns on
screen. The command acts as a toggle; invoking it a first time
turns the title locking ON, and invoking it a second time turns
the title locking OFF.
With title locking ON, the rows above the current cell and the
columns to the left of the current cell will be locked on screen.
The cell pointer will not move into the locked title rows and
columns. Pages which lie below the page where you set the title
locking ON will also be inaccessible.
If you don't want to lock rows, make sure the cell pointer is in
row 1 when you title lock. If you don't want to lock columns,
make sure the cell pointer is in column A when you title lock.
If you don't want to lock pages, make sure the cell pointer is in
page 1 when you title lock.
Each face may be locked individually.
Example If you turn on title locking with the cell pointer in cell D5;3
then the rows on the screen above row 5 and the columns on the
screen to the left of column D will be locked on the screen. In
addition, you will be unable to move the cell pointer back past
page 3.
61
--------------------------------------------------------------------------
/WorkQube Protect
--------------------------------------------------------------------------
Function Enable or disable cell protection.
Remarks This command enables or disables the protection in the WorkQube.
When the WorkQube protection is disabled, any cell in the
WorkQube may be modified, regardless of whether the cell is
protected or not. When the WorkQube protection is enabled, those
cells which are protected using the cell or block protection
commands may not be modified or altered in any way.
Options Enable Turns WorkQube protection on.
Disable Turns WorkQube protection off.
--------------------------------------------------------------------------
/WorkQube Setup
--------------------------------------------------------------------------
Function Select the global print setup string.
Remarks This command allows you to select a setup string for the current
WorkQube (for printing--the style will not change on-screen).
The WorkQube setup string affects the entire printout.
Individual cells or blocks may use other fonts by invoking the
Cell Setup or Block Setup commands.
Options The options depend on the printer driver. If your printer
supports boldfacing, underlining, italics, and condensed print,
your options would include those choices.
If, for example, your printer allows italics, "Italics" can one
of the option choices. To change the WorkQube's global font to
italic, issue the command /WorkQube Setup and select Italics from
the menu.
In order to use the /WorkQube Setup command, you must first enter
setup strings for your printer using the /Print Setup Fonts
command.
62
--------------------------------------------------------------------------
/WorkQube Zero
--------------------------------------------------------------------------
Function Suppress the display of zeros.
Remarks This command allows you to suppress the display of all cells
which have a value of zero. There are many times when a large
number of formulas in a worksheet evaluate to zero, especially
when the worksheet is only partially filled with data. Many
times it is advantageous to suppress the display of all of these
zeros to make non zero values stand out more.
Options No Don't suppress the display of zeros.
Yes Suppress the display of zeros.
--------------------------------------------------------------------------
/WorkQube Calc
--------------------------------------------------------------------------
Function Select recalculation options.
Remarks This command allows you to select whether ProQube Lite should
recalculate the WorkQube after any cell is changed, or only when
the <F9> Recalc key is pressed. Very complex worksheets with a
large number of inter-related formulas can often take a long time
to recalculate. Since any delay can become annoying when
entering a large amount of data, it is often desirable to be able
to turn off automatic recalculation.
Options Auto Recalculate the cells which need recalculation after
any cell is changed.
Manual Only recalculate the worksheet when the <F9> Recalc key
is pressed. Since the recalculation state of the
worksheet will usually not be current, ProQube Lite
will write the word CALC in the upper right corner when
the worksheet needs to be recalculated.
Limited Allows you to limit recalculation to a block of cells.
You will be asked to define a range (or block) of cells
which should be recalculated instead of the entire
worksheet. This is useful, for example, when you only
want the current page to recalculate, and not all of
the previous pages.
Full Restores recalculation to the entire worksheet.
63
--------------------------------------------------------------------------
/File Retrieve
--------------------------------------------------------------------------
Function Retrieves a 3D worksheet from disk.
Remarks This command retrieves a file from disk into memory. You will be
asked for the name of the file to retrieve. If you press the
<Enter> key without a file name, the ProQube Lite file manager
will appear, from which you may select a file with the cursor
keys. When a file is read in, all of the data, settings, and
current face and pointer position are loaded.
All current data will be cleared from memory when a new file is
loaded. ProQube Lite checks to see if you have made any changes
to the current file, and will ask if you want to save your data
before loading the new file.
Options A file can be loaded immediately upon booting up ProQube Lite.
If you want to start up with the file named EXAMPLE loaded,
simply enter
PQLITE EXAMPLE<Enter>
at the DOS prompt.
--------------------------------------------------------------------------
/File Save
--------------------------------------------------------------------------
Function Saves the 3D worksheet in memory to disk.
Remarks This command asks you for a name to save the WorkQube as, then
proceeds to save the file to disk in the current directory.
Pressing the <Enter> key without a file name brings up the
ProQube Lite File Manager, from which a file may be selected with
the cursor keys. In addition to data, all of the WorkQube
settings are saved to disk.
If the file name you provide already exists in the current
directory, ProQube Lite will ask you whether you want to
overwrite the existing file, or back it up. If you select
Backup, the extension of the existing file's name will be changed
from .PQS to .BAK, and the current file will receive the .PQS
extension.
64
--------------------------------------------------------------------------
/File Directory
--------------------------------------------------------------------------
Function Changes the current directory.
Remarks This command allows you to change the current directory or drive.
You may enter either a full DOS pathname or simply a subdirectory
name to be appended to the current directory. Pressing the
<Enter> key without a file name brings up the ProQube Lite File
Manager, from which a directory may be selected with the cursor
keys.
Example If the current directory is B:\dir1, then entering:
C: switches to the active directory on drive C:
C:\ switches to the root directory on drive C:
C:\dir2 switches to dir2 on drive C:
dir2 switches to B:\dir1\dir2 (if dir2 exists)
65
--------------------------------------------------------------------------
/File Files
--------------------------------------------------------------------------
Function Brings up the ProQube Lite File Manager.
Remarks This command presents a File Manager, and allows "point-and-
shoot" operations on files, directories, and drives.
You will be asked to enter a mask. A mask is simply a way of
telling ProQube Lite which files you want to be displayed. You
may use the asterisk * in the mask. The asterisk will match any
set of characters. For example, if you enter the mask *.BAK,
then the file manager will list every file which ends with .BAK.
If you enter the mask Q*.*, then all of the files beginning with
the letter Q will be displayed. Pressing <Enter> will use the
Mask *.*, which will display all of the files in the current
directory.
Options <Up> <Down> Using these keys, you can highlight files, drives,
or directories (depending on what area of the file
manager the highlighted bar is in). Operations
can then be performed on the selected file, drive,
or directory.
<Left> <Right> Allows you to change files, drives, or
directories. If, for example, the highlighted bar
is in the "Directory" section of the file manager,
and you wanted to change drives, hitting the left
arrow key will move the bar into the "Drive"
section. A new drive may be selected by using the
down arrow and Enter keys.
<Enter> Causes the highlighted file, drive, or directory
to be selected.
<F1> Causes a Help screen to appear, giving help on how
to use the File Manager.
<F2> Causes the currently highlighted file to be
loaded.
<F3> Causes the highlighted file to be combined. For
more details see /File Combine.
<F4> Causes the highlighted file to be imported. For
more details see /File Import.
<F5> Allows you to edit the contents of the highlighted
text file. Although the macro editor will be
used, you are not limited to editing just macro
(.PQM) files. See /Macro Edit for details on the
options available when editing.
66
<F6> Causes the highlighted text file to be printed.
This function is primarily for printing out
application programs.
<F7> Causes the highlighted file to run, if it is a
program or batch file, and if enough memory is
available.
<F8> Allows you to rename the highlighted file. You
will be prompted for a new name.
<F9> Copies the highlighted file to another drive,
directory, or name. You will be prompted for a
new drive, directory, or name.
<F10> Deletes the highlighted file. ProQube Lite will
request confirmation before actually deleting the
file.
<^F1> Displays the description for the highlighted
worksheet file. This allows you to find out a
little information about a worksheet without
having to load it into memory first.
<^F2> Scans the current drive to update the directory
tree.
The File Manager also simplifies the tasks of changing drives and
directories. To change to another directory, simply press the
<Left> key to highlight the word DIRECTORIES at the top of the
screen, then use the <Up> and <Down> keys to highlight the name
of the directory you want to change to. Once the name is
highlighted, press the <Enter> key and ProQube Lite will change
to that directory and list the files in that directory.
Changing drives is just as easy. Simply press the <Left> key
until the word DRV is highlighted at the top of the screen, then
press the letter of the drive you want to change to. For
example, if you want to change to drive A:, then just press A.
67
--------------------------------------------------------------------------
/File Combine
--------------------------------------------------------------------------
Function Combines all or part of a 3D worksheet on disk with the worksheet
currently in memory.
Remarks This command allows you to combine several ProQube Lite files
into a single file. You will be asked for the name of the file
to be read in, and the file will be loaded without clearing the
WorkQube. Pressing the <Enter> key without a file name brings up
the ProQube Lite File Manager, from which a file may be selected
with the cursor keys. The original cells will remain unchanged
unless the new file contains data in the same cells. Blank cells
in the new file will not affect existing cells in the WorkQube.
Current WorkQube settings will be retained.
Options Copy The data in the new file will be combined into the
current WorkQube. If the new file and the current
WorkQube contain any data in the same cell, the data in
the new file will be copied over the data already in
memory.
Add The data in the new file will be combined into the
current WorkQube. If the new file and the current
WorkQube contain values in the same cell, the value in
the new file will be added to the value already in
memory. Since this command is primarily for
consolidating data from several worksheets, cells
containing text will not be combined into the current
file.
Subtract The data in the new file will be combined into the
current WorkQube. If the new file and the current
WorkQube contain values in the same cell, the value in
the new file will be subtracted from the value already
in memory. Since this command is primarily for
consolidating data from several worksheets, cells
containing text will not be combined into the current
file.
Each of these options has two suboptions which determine how much
of the new file should be combined in.
All Combines in the entire file. Every cell in the new
file will be combined into the same location in the
current WorkQube. For example, cell X23;46 will be
combined into cell X23;46 in the current worksheet.
Part Combines in a block from the file. The cells in the
block you combine in will be combined starting at the
location of the cell pointer. For example, if the cell
pointer is in cell D5;3, and you combine in the block
68
A1;1..D12;4 from the other file, then cell A1;1 in the
new file will be combined into cell D5;3 in the current
worksheet.
You will be asked for the block in the other file which
you want to combine in. If you type in the block
reference like A1;1..F12;4, it is very important to
remember the page numbers.
If the block you want to combine in was named with the
/Block Name command, you can press the <F3> Block key
to bring up a menu of all the named blocks in the other
file.
69
--------------------------------------------------------------------------
/File Xtract
--------------------------------------------------------------------------
Function Saves part of the 3D worksheet in memory to disk.
Remarks This command is similar to the /File Save command, except that it
saves a block of cells rather than the entire WorkQube. You will
be asked for the name of the file to save to, and to define the
block of cells to save. ProQube Lite saves all of the WorkQube
settings with the saved block. Pressing the <Enter> key without
a file name brings up the ProQube Lite File Manager, from which a
file may be selected with the cursor keys.
This command is useful for extracting single pages out of a
larger 3D worksheet, so that it may be combined into another 3D
worksheet with the /File Combine command.
70
--------------------------------------------------------------------------
/File Import
--------------------------------------------------------------------------
Function Imports data from 1-2-3, dBase, DIF, or ASCII files into the
current page.
Remarks This command imports data files from other programs into ProQube
Lite. The file is imported onto the current page. You will be
asked for the name of the file to import. Pressing <Enter>
without a file name brings up the ProQube Lite File Manager, from
which a file may be selected with the cursor keys.
Options 1-2-3 Imports a Lotus 1-2-3 (tm) file into the current page.
If ProQube Lite encounters a formula which uses an
unsupported @function, it will read the value of the
formula rather than the formula itself.
If the 1-2-3 file contains more than 512 rows, a
message will appear and you will be asked if you want
to Truncate the imported data at 512 rows, or if you
want to Wrap the remaining rows onto subsequent pages.
dBase Imports selected records from a dBase (tm) file into
the current page. Fields will appear as columns, and
records will appear as rows. You do not have to import
every field of the data base. Before the import
begins, ProQube Lite will step through the names of
each field and ask if you want to import that field.
You may select:
Yes Import this field.
No Don't import this field.
All Import this and all the remaining fields.
If there are more than 511 records to import,
additional records will be imported into the following
pages.
DIF Imports a Data Interchange Format (DIF) file into the
current page. Many databases and spreadsheets are
capable of creating DIF files.
If the DIF file contains more than 511 records,
additional records will be imported into the following
pages.
ASCII Imports a comma delimited or space delimited ASCII file
into the current page. Each line in the ASCII file
will be imported into a row in the worksheet. Each
line may contain multiple fields (cells) of data, each
of which must be separated by a comma or space. If a
string which contains spaces or commas is to be
71
imported into a single cell, then that string must be
surrounded by quotation marks ". For example:
ASCII line read in Translated like this
1,2,3,4,5 Each number in a separate cell
1 2 3 4 5 Each number in a separate cell
Hello and Goodbye Each word in a separate cell
Hello,and,Goodbye Each word in a separate cell
"Hello and Goodbye" Entire line in a single cell
"Hello,and,Goodbye" Entire line in a single cell
Hello 23 Word and number in separate cells
Hello,23 Word and number in separate cells
"1 2 3 4 5" Entire line in a single cell
"1,2,3,4,5" Entire line in a single cell
"Hello 23" Entire line in a single cell
If the ASCII file contains more than 511 lines,
additional lines will be imported into the following
pages.
72
--------------------------------------------------------------------------
/File Export
--------------------------------------------------------------------------
Function Exports part of the current page to a 1-2-3, dBase, DIF, or ASCII
file.
Remarks This command exports a range of cells to the file format of
another program. You will be asked for the file name you want to
export to, and to define the range of cells you want to export.
If the file name you provide exists, ProQube Lite will ask you if
you want to Overwrite the existing file or Cancel the operation.
Options 1-2-3 This option allows you to export the range to a 1-2-3
R1 (WKS) or R2 (WK1) file. You must select from a menu
which version you want to export to. Any ProQube Lite
formula which references a cell in another page or
which contains an @function which 1-2-3 doesn't
support, will be exported as a value rather than a
formula.
dBASE This option allows you to export the range to a dBase
II, III, or III+ file. You must select from a menu
which version you want to export to.
ProQube Lite will use the top row of the range you
define as the field names for the data to be exported.
The widths of each column will be used as the field
width in the dBase file. For example, if you select
the range A3;1..C9;1 below as the range to export,
ProQube Lite will use Name, Division, and Sales as the
field names for the data in their columns.
1 A B C
1 1988 Sales
2
3 Name Division Sales
4 Joe Smith West 1049354
5 Bill Jones Southwest 1345938
6 Dave Adams South 1234823
7 Don Nielson Midwest 934834
8 Sam Davis Southeast 1834735
9 Jim Turner Northeast 1634868
Before the actual export is performed, ProQube Lite
will step through each field name and ask you what type
of field it should be. The available field types are:
Character The values in the field are text.
Number The values in the field are numbers.
73
Logical The values in the field are TRUE or
FALSE.
Date The values in the field are dates. This
option is available only when you export
to dBase III or III+.
DIF The file will be exported in the DIF (Data Interchange
Format) format.
ASCII The file will be exported to a comma delimited ASCII
file. Each row of the range will be on a separate line
of the ASCII file, and the value of each cell in the
row will be separated by a comma. Text items will be
surrounded by quotes ".
74
--------------------------------------------------------------------------
/File Link
--------------------------------------------------------------------------
Function Link to a .PQS file on disk.
Remarks This command allows you to link multiple 3D spreadsheets
together. You are not limited to linking a single cell. You may
link to an entire three-dimensional block within another
spreadsheet.
The current cell will contain the link. If you change the value
of the cell in the other spreadsheet, this "link cell" will
change accordingly.
If you create a link to a block of cells in another file, 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
corresponding cells from the other file.
If a change is made to any of the linked cells in the other
worksheet, the current worksheet will be updated to reflect those
changes.
Each time you retrieve a file which is linked to other files, you
will be asked if you want to update all of the links. If you
select Yes then ProQube Lite will update every link in the file.
If you select No then ProQube Lite will not update any of the
links in the file.
If none of the files which were linked to have been changed, then
selecting No can greatly speed up the retrieval of the file.
If your file has a large number of links in it, but only one of
the links needs to be updated, you should select No, and then use
the /File Link Update command to update the single link.
Options Create Create or edit a link to another 3D worksheet.
You will be asked for two items.
- The name of the file you want to link to. The
file must already be in existence.
- The name of the block you want to link to.
Pressing <F3> will allow you to pick from a list
of all the named blocks in the other file. While
the program accepts cell and block addresses, it
is best to use a block name; otherwise, the
reference may be modified in the other file (as by
an addition or deletion of a row or column), and
the link may be disturbed.
75
Delete Delete an existing link to another 3D worksheet.
A menu of all existing links will appear, and you
may pick the link you want to delete.
List List all of the links in the current WorkQube.
Edit Allows you to edit an existing link to another
file. A menu of all the links in the file will be
displayed, from which you may select the link you
want to edit. You may then change either the file
to link to, or the range in the file, or both.
Update Allows you to update a link to another file. A
menu of all the links in the file will be
displayed, and you may select the link you wish to
be updated.
76
--------------------------------------------------------------------------
/Print Block
--------------------------------------------------------------------------
Function Defines the block of cells to print.
Remarks This command allows you to define a block to print. You will be
asked to define the block to be printed. The block will not
actually be printed until the /Print Go command is issued. If
you select a 3 dimensional block, each page of the block will
begin printing at the top of a page of paper.
--------------------------------------------------------------------------
/Print Rows
--------------------------------------------------------------------------
Function Defines rows to print above the print block on each page.
Remarks This command allows you to define one or more rows which will be
printed above your data on each page. This command is useful
when you are printing a range which has more rows than will fit
on a single sheet of paper; it allows you to have a row of header
data printed at the top of each page.
Example 1 A B C D
1 1988 Sales
2
3 Name Division Sales
4 Joe Smith West 1049354
5 Bill Jones Southwest 1345938
6 Dave Adams South 1234823
7 Don Nielson Midwest 934834
8 Sam Davis Southeast 1834735
9 Jim Turner Northeast 1634868
You have 200 sales people in this worksheet, which takes more
than a single page to print out. You want row 3 to print out at
the top of each page to show what the columns are. Simply select
the /Print Rows command and mark row 3 as the row border.
77
--------------------------------------------------------------------------
/Print Columns
--------------------------------------------------------------------------
Function Defines columns to print to the left of the print block on each
page.
Remarks This command allows you to define one or more columns which will
be printed to the left of your data on each page. This command
is useful when you are printing a range which has more columns
than will fit on a single sheet of paper; it allows you to have a
column of titles printed at the left of each page.
Example 1 A B C D
1 1988 Sales
2
3 Name Division Sales
4 Joe Smith West 1049354
5 Bill Jones Southwest 1345938
6 Dave Adams South 1234823
7 Don Nielson Midwest 934834
8 Sam Davis Southeast 1834735
9 Jim Turner Northeast 1634868
You have 30 columns of data on each sales person in this
worksheet, which takes more than a single page to print out. You
want column A to print out at the left of each page to show which
sales person the data is associated with. Simply select the
/Print Columns command and mark column A as the column border.
78
--------------------------------------------------------------------------
/Print Undefine
--------------------------------------------------------------------------
Function Undefines the current Print, Rows, and Columns blocks.
Remarks Since ProQube Lite remembers which block you printed last, it is
sometimes necessary to reset the /Print Block setting. When
doing so, it is usually easiest to clear the previous block
setting entirely by using the /Print Undefine command.
Options Block Clears the previous /Print Block setting.
Rows Clears the previous /Print Rows setting.
Columns Clears the previous /Print Columns setting.
All Clears all previous /Print block settings.
--------------------------------------------------------------------------
/Print Align
--------------------------------------------------------------------------
Function Align the paper in the printer.
Remarks This command sets the current position of the printhead as the
top of the page. This is important; the printer and the program
will be keeping individual track of the top of the page. It is
good habit to precede the /Print Go command with the /Print Align
command.
--------------------------------------------------------------------------
/Print Line
--------------------------------------------------------------------------
Function Advance the printer by one line.
Remarks This command sends a line feed to the printer, causing the
printer to print a blank line. Since the printer and the program
are keeping separate track of the pagination, sending a line feed
through the printer control panel will cause the program's
pagination to be off by a line, resulting in unwanted offsets in
your printout. More importantly, though, it is usually easier to
advance the paper one line using this command than by using the
printer's control panel.
79
--------------------------------------------------------------------------
/Print Page
--------------------------------------------------------------------------
Function Advance the printer to the top of the next page.
Remarks This command sends a form feed to the printer, causing the paper
to advance one page. This is usually done at the end of a
printout, since printing will stop with the last line actually
printed. Thus, to remove the page from the printer, simply
select the /Print Page command. Since the printer and the
program are keeping separate track of the pagination, sending a
form feed through the printer control panel will cause the
program's pagination to be off, resulting in unwanted offsets in
your printout.
--------------------------------------------------------------------------
/Print Options
--------------------------------------------------------------------------
Function Set options for your printout.
Remarks This command allows complete control over the format of the
printout. There are numerous options, all visible from a single
pop-up screen. You may select an option either by pressing the
first letter of the option name (highlighted), or by using the
arrow keys to highlight the option and pressing the <Enter> key.
Options Left Margin Lets you set the number of characters from left
edge of the page to begin printing.
Right Margin Lets you set the number of characters from left
edge of the page that you want your right margin
set to. The right margin must be greater than the
left margin or an error will occur.
Top Margin Lets you set the number of blank lines to print at
the top of each page. If you set this option to
3, ProQube Lite will begin printing on the fourth
line of the page.
Bottom Margin Lets you set the number of blank lines to print at
the bottom of each page. ProQube Lite will
automatically advance the paper to the next page
before it resumes printing.
Page Length Lets you set the number of physical lines on a
page. On an 8 1/2" x 11" paper at 6 lines per
inch, there are 66 lines. ProQube Lite must have
this information so that it can keep track of
where it is on the page.
80
Header Allows you to enter a header, which will appear at
the top of every page. There are two special
characters that you can use in headers:
@ will be replaced by the current date.
# will be replaced by the current page number.
The header may start with one of the text justify
characters to determine where on the line the
header will be placed. These characters are
' left justify the header
" right justify the header
^ center the header
For example, if you enter the header:
^Page #
Then on page 3, the header Page 3 will be centered
at the top of the page.
If no header is defined, then a blank line will be
printed in its place.
Footer Allows you to enter a footer, which will appear at
the bottom of every page. There are two special
characters that you can use in footers:
@ will be replaced by the current date.
# will be replaced by the current page number.
The footer may start with one of the text justify
characters to determine where on the line the
header will be placed. These characters are
' left justify the footer
" right justify the footer
^ center the footer
For example, if you enter the footer:
"@
Then the current date will be right justified at
the bottom of each page.
If no header is defined, then a blank line will be
printed in its place.
81
Mode Lets you decide what type of printout you want.
Display The printout will appear as the file
does on-screen; that is, the values
calculated by the formulas will be
printed.
Formula The formulas themselves will be printed,
one cell per line. This is useful for
documentation and error-handling.
Output Lets you decide where to send your output.
Printer All output will be sent to the printer.
File All output will be sent to a file. You
will be asked for the name of the file
you want to send the printout to.
Number (page) Displays the current page number, which you can
set or reset.
Device Allows you to select whether to send the printout
to LPT1 or LPT2.
82
--------------------------------------------------------------------------
/Print Setup
--------------------------------------------------------------------------
Function Setup ProQube Lite to handle various printer controls.
Remarks This command allows you to map screen characters to your printer
character set and enter printer setup strings. This allows
ProQube Lite to take advantage of the various characteristics
which your printer offers. ProQube Lite stores this information
in a file named ProQube Lite.SET which is stored in the user
directory.
Map Most printers do not have the exact same character set
that IBM PCs and compatibles use on screen. The
mapping option displays a table which allows you to map
your printers character set to the IBM character set.
The table displays all of the IBM characters, as well
as the ASCII value that will be sent to the printer
when that character is encountered.
For example, ProQube Lite normally sends the ASCII
value 156 when it encounters the pound symbol. If your
printer set defines the pound symbol as ASCII value
192, then you would use the arrow keys to move the
cursor to the pound symbol on the screen, press the
<Enter> key, and replace the value 156 with 192.
Fonts This option allows you to enter the printer control
codes necessary to turn printer features on and off. A
screen will appear which contains 3 columns. The first
column is for a descriptive name for each of the
printer fonts/characteristics (for example, italics,
bold, or condensed). The second column contains the
printer codes necessary to turn each characteristic on,
and the third column contains the codes to turn the
characteristic off.
To change a description or code, move the bar to the
desired row and column with the arrow keys, press
<Enter>, and type in the description or code.
Most printer codes contain control characters which
can't be entered directly. To enter a control
character into your ON/OFF codes, simply enter a
backslash character \ followed by the 3 digit ASCII
code (in decimal) for the control character.
For example, since the ASCII value (in decimal) for the
<Esc> character is 27, you would use a setup string of
\027E to send an <Esc>E to the printer (this sequence
selects emphasized print on an EPSON printer).
83
Your printer manual should list all of the available
printer codes for your particular printer.
Save This option will save the printer setup information to
the ProQube Lite.SET file in the user directory.
84
--------------------------------------------------------------------------
/Print Go
--------------------------------------------------------------------------
Function Send your data to the printer (or print file).
Remarks This command begins the process of printing. ProQube Lite will
not begin printing until it receives this command.
If the block you are trying to print is wider than the left and
right margins allow, ProQube Lite will ask if you want if to
break the page into smaller pieces for printing. These pieces
can then be put back together into a larger sheet.
If you don't want the printout to be broken into smaller pieces,
then you must go back into the /Print Options and reset your left
and right margins to allow for a wider printout.
If you want to abort the print job after it has started, simply
press the <Esc> key (printers with built-in print buffers will
continue to print until the print buffer has been emptied).
85
--------------------------------------------------------------------------
/Data Sort
--------------------------------------------------------------------------
Function Sort a range of data.
Remarks This command allows you to sort rows or columns of data, in
either ascending or descending order. A window of options will
appear on the screen. To change an option, either press the key
corresponding to the first letter of the option name (D for
Direction for example), or use the cursor keys to move the
lightbar to the option you want to change and press the <Enter>
key.
Options Direction Determines how your data is to be sorted.
Row Rows will be sorted.
Column Columns will be sorted.
Block You will be asked to define the block to sort.
This block should include all of the rows or
columns which you want rearranged.
1st - 9th Key The Key options indicate the fields to be used in
determining the sorted (new) order of the data.
You will be prompted to indicate the column or row
that contains the data by which the sort is to be
performed. The column or row may be indicated
either by pointing or by typing an appropriate
cell address.
You will also be asked whether the sort should be
in Ascending or Descending order. Sorting the
data in ascending order causes numerical data to
be sorted from the smallest number to the largest
number (1, 2, 3, 4, etc.), while textual data will
be sorted alphabetically (A, B, C, D, etc).
Sorting the data in descending order has the
opposite effect; numbers will be arranged from
large to small (5,4,3,2,1, etc), and textual data
will be sorted in reverse alphabetical order (Z,
Y, X, W, etc).
Reset This command resets all of the sort settings.
This function is necessary when you need to
undefine the sort keys.
Start Pressing the Start key in the options menu will
cause the sort to be performed as indicated in the
menu.
86
--------------------------------------------------------------------------
/Data Fill
--------------------------------------------------------------------------
Function Fill a block of cells with data.
Remarks This command allows you to fill a specified block of cells with
text or numbers. You will be asked for an equation which is used
to determine the values placed in each of the cells to be filled.
A variable named # is initialized to 0 and is incremented by 1
for each cell in the block. The # variable may be used anywhere
in the equation to provide an endless number of sequences. The
equation entered with this command may be any legal formula
containing numbers, operators, cell or block references,
functions, or the # variable.
Cell references in the formula are treated as relative unless you
specifically make them absolute using the $ symbol.
Examples #
generates a sequence starting with 0 and incrementing by 1.
1000+#
generates a sequence starting with 1000 and incrementing by 1.
5+#*3
generates a sequence starting with 5 and incrementing by 3.
@TODAY+#
generates a sequence of date numbers starting with the current
date.
Assume you have a column of values in the range A1;1..A20;1. You
want to fill column B with a running total of the values in
column A. Simply copy the value in cell A1;1 to cell B1;1,
select /Data Fill, define B2;1..B20;1 as the range you want to
fill, and enter the equation B1;1+A2;1.
Since the cell address in the Data Fill equation are relative,
they will be adjusted for each cell in the fill range. Each cell
in the fill range will be filled with the value of the cell above
it added to the cell to the left of it. This gives you exactly
what you wanted, a running total of column A in column B.
87
--------------------------------------------------------------------------
/Data Value
--------------------------------------------------------------------------
Function Convert formulas in a block to their values.
Remarks This command converts formulas in a block to their values. You
will be asked to define a block of cells to convert. Since
formulas require more memory than values, this command helps
conserve memory when you just need a set of values rather than
the formulas.
--------------------------------------------------------------------------
/Data Modify
--------------------------------------------------------------------------
Function Modify all numerical values in a block.
Remarks This command allows you to modify all of the values in a block.
You may specify that each cell in a specified block be multiplied
by 5, or subtracted from the average value of the block, or that
they be modified in any of the ways that a legal formula may
provide. You will be asked to define the block to modify, as
well as an equation to modify the cells with.
This command provides a variable named # which is set to the
value of each cell in the block. This variable may be used just
like a number or cell reference in the formula.
Example Below are examples of equations and the way they modify the
block.
2*# doubles all of the values in the block.
#^2 squares all of the values in the block.
#+3 adds 3 to all of the values in the block.
@ABS(#) makes all of the values in the block positive.
88
--------------------------------------------------------------------------
/Macro Edit
--------------------------------------------------------------------------
Function Edit or create a macro.
Remarks This command allows you to edit or create a macro. You will be
asked for the name of a macro to edit. Pressing <Enter> without
entering a macro name will cause the ProQube Lite File Manager to
appear on-screen; the macro name may then be chosen from the File
Manager. Once a macro is chosen, the ProQube Lite Macro Editor
will display the macro and allow you to edit it. The following
commands are available for editing the macro.
<Up> <Down>
<Left> <Right> The arrow keys move the cursor up or down one
line, or left or right one character.
<Home> This key moves the cursor to the beginning of the
line.
<End> This key moves the cursor to the end of the line.
<^Right> This key moves the cursor one word to the right.
<^Left> This key moves the cursor one word to the left.
<^Home> This key moves the cursor to the top of the file.
<^End> This key moves the cursor to the end of the file.
<PgDn> This key moves the cursor down one screen.
<PgUp> This key moves the cursor up one screen.
<BkSp> This key deletes the character to the left of the
cursor and shifts the following characters in the
line to the left to fill in the empty space.
<^BkSp> This key deletes the entire line.
<Del> This key deletes the character underneath the
cursor and shifts the following characters in the
line to the left to fill in the empty space.
<Ins> This key toggles between insert and overwrite
modes. When you are in insert mode, typing a
character will insert the new character into the
line at the point where the cursor is. The
character under the cursor and those to the right
of the cursor are shifted to the right to make
room for the new character. When you are in
overwrite mode, typing a character will replace
the character under the cursor with the new
character. When you are in insert mode, the
cursor will be an underline. In overwrite mode
the cursor will be a solid block.
89
<F1> Help This key causes a help screen to appear which
lists all of the commands available for text
editing.
<F2> Mark This key turns on marking at the current line.
Moving the cursor after pressing this key causes
lines between that line and the new cursor
position to be highlighted. Pressing <F2> a
second time will turn off text marking.
<F3> Cut Pressing this key with marking turned on (<F2>)
causes the marked lines to be cut out of the file
and placed in a buffer. You may then move to
another location in the file and use the <F4> key
to paste the lines back into the file. The buffer
will only hold one block of lines, so if you cut
data a second time, the new data replaces the
older data in the buffer.
<F4> Paste This keys causes the contents of the buffer to be
pasted into the file at the cursor location. This
does not clear the buffer, so you may paste the
same buffer data into more than one location.
<F5> DelLine This command deletes the line the cursor is on.
<F6> Search This command allows you to search for a string in
the file. You will be asked to enter the text you
want to search for. Simply enter the text, and
the cursor will be moved to the next occurrence of
that text. The search is case insensitive, which
means that hello will match hello, Hello, or
HeLlO.
<F7> Save This command allows you to save the current file
to disk without having to exit.
<F10> Exit This command allows you to exit from the editor.
If you have made any changes to the file, you will
be asked if you want to save it first.
90
--------------------------------------------------------------------------
/Macro Delete
--------------------------------------------------------------------------
Function Deletes a macro file from the disk.
Remarks This command deletes a macro file from the disk. You will be
asked for the name of a macro to delete. Pressing the <Enter>
key without indicating a macro to be deleted will cause the
ProQube Lite File Manager to appear on-screen. You may then
choose the macro to be deleted using the File Manager.
--------------------------------------------------------------------------
/Macro List
--------------------------------------------------------------------------
Function List all macros in the current directory.
Remarks This command lists all of the macros in the current directory.
The command uses the ProQube Lite File Manager to find files with
the .PQM extension.
--------------------------------------------------------------------------
/Macro Run
--------------------------------------------------------------------------
Function Run a macro or application program.
Remarks This command executes a macro (or application program). You will
be asked for the name of a macro to run. Pressing the <Enter>
key without indicating a macro to be run will cause the ProQube
Lite File Manager to appear on-screen. You may then choose the
macro to be run using the File Manager. For information on
creating macros and application programs, see the section ProQube
Lite Applications.
91
--------------------------------------------------------------------------
/OpSys
--------------------------------------------------------------------------
Function Temporarily returns to DOS.
Remarks This command allows you to temporarily return to the DOS command
line, where you can execute DOS commands or other programs. When
you are ready to return to ProQube Lite, simply type:
EXIT<Enter>
at the DOS prompt.
If enough expanded memory or hard disk space is available,
ProQube Lite will swap most of itself out to free up as much
memory as possible. When swapping out to your hard disk, ProQube
Lite will print the message Swapping... to your screen.
IMPORTANT: Never run TSRs from the /OpSys command line (this
includes the DOS PRINT command). Doing so can cause unexpected
problems to occur.
--------------------------------------------------------------------------
/Quit
--------------------------------------------------------------------------
Function Exits from ProQube Lite.
Remarks This command allows you to leave ProQube Lite entirely. This is
an intelligent exit command; if you have made changes, ProQube
Lite will allow you to save the file before exiting. If no
changes have been made, ProQube Lite will simply exit the
program.
Options If changes have been made to the WorkQube since the last time you
saved it, you will be asked if you want to lose the changes you
made:
No Returns you to the WorkQube without exiting the
program.
Yes Exits ProQube Lite. Any changes made to the WorkQube
will be lost.
Save Saves the WorkQube, then exits the ProQube Lite
program.
92
BUILT-IN FUNCTIONS
ProQube Lite provides over 80 built-in functions which you can use in your
formulas. These built-in functions each begin with the character @, and
are often called at functions.
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. If a function requires
arguments, then they are enclosed in parentheses and immediately follow the
name of the @function. If more than one argument is required, they must be
separated from each other with a comma.
A built-in function can return either a numerical or text value and may be
treated exactly like a number or text would be.
Example A cell contains the formula =2*@ABS(-3).
@ABS is the name of a built-in function which returns the
absolute (positive) value of its argument.
-3 is the argument to the function.
The function returns a value of 3, and is used in the rest of the
formula just like the number 3. The value of the entire formula
is 6 (2 times the value of the @function).
If the value that a function returns is an error, it will return the
special value ERROR. A formula which contains a function with a value of
ERROR will also return ERROR as the value for the cell it is in.
Mathematical ProQube Lite's math functions allow your formulas to perform
more sophisticated mathematical operations than the
operators alone can provide.
FUNCTION RETURNS
@ABS(x) the absolute value of x.
@EXP(x) e to the xth power.
@FACT(x) x factorial.
@FRAC(x) the fraction part of x.
@INT(x) the integer part of x.
@LN(x) the natural log of x.
@LOG(x) the common log of x.
@MOD(x,y) x modulo y.
@RAND a uniform random number.
@ROUND(x,n) x rounded to n decimal places.
@SIGN(x) the sign of x.
@SQRT(x) the square root of x.
93
Trigonometric ProQube Lite's trigonometry functions work the same way as
the mathematical functions, but they specialize in working
with angles.
All angle arguments and results are in radians. To convert
from degrees to radians, use the @RADIAN function. To
convert from radians to degrees, use the @DEGREE function.
FUNCTION RETURNS
@ACOS(x) the arc cosine of x.
@ASIN(x) the arc sine of x.
@ATAN(x) the 2 quadrant arc tangent of x.
@ATAN2(x,y) the 4 quadrant arc tangent of y/x.
@COS(x) the cosine of x.
@DEGREES(x) x converted from radians to degrees.
@PI the value pi (3.14159..)
@RADIANS(x) x converted from degrees to radians.
@SIN(x) the sine of x.
@TAN(x) the tangent of x.
Statistical ProQube Lite's statistical functions allow you to analyze
and summarize your data in a variety of ways. The
statistical functions 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. Ranges and 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.
For example, suppose you want to sum 1.23, the value in the
cell A1;1, and the values in each cell in the block defined
by the cells C14;2 and D16;3. You would simply use the
formula:
=@SUM(1.23,A1;1,C14;2..D16;3)
FUNCTION RETURNS
@AVG(list) the average of a list of values.
@COUNT(list) the number of items in a list.
@MAX(list) the maximum value in a list of values.
@MIN(list) the minimum value in a list of values.
@STD(list) the standard deviation of a list of
population values.
@SUM(list) the sum of a list of values.
@VAR(list) the variance of a list of population values.
94
Financial ProQube Lite's financial functions allow you to perform many
powerful analyses. Functions include formulas to compute
time value of money calculations, depreciation calculations,
and growth rate calculations.
FUNCTION RETURNS
@CTERM(rate,fv,pv) the number of periods for an
investment to reach a future value.
@DDB(cost,salv,l,p) the amount of depreciation of an
asset using the Double-Declining
Balance method.
@FV(pmt,int,term) the future value of an annuity.
@IRR(guess,range) the internal rate of return of a
cash flow.
@NPV(int,range) the net present value of a series
of future cash flows.
@PMT(prin,int,term) the payment required to amortize a
loan amount.
@PV(pmt,int,term) the present value of an annuity.
@RATE(fv,pv,term) the interest rate at which a
present value will grow to a future
value.
@SLN(cost,salv,life) the amount of depreciation of an
asset using the straight line
method.
@SYD(cost,salv,l,p) the amount of depreciation of an
asset using the sum of the years'
digits method.
@TERM(pmt,int,fv) the number of periods for an
investment to reach a future value.
95
Date/Time ProQube Lite represents dates as the number of days since
December 31, 1899. For example:
Jan 1, 1900 = 1
Jan 2, 1900 = 2
and so on.
Time is represented as a fraction of a day (starting at
midnight). For example:
midnight = 0.0
noon = 0.5 because it is half way through the day,
6:00PM = 0.75 because it is 3/4 way through the day,
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 number which represents today's date.
FUNCTION RETURNS
@DATE(yr,mnth,day) the date number of day,mnth,yr.
@DAY(date#) the day (1..31) for date number.
@HOUR(time#) the hour (0..23) for time number.
@MINUTE(time#) the minute (0..59) for time number.
@MONTH(date#) the month (1..12) for date number.
@NOW the combined time and date number for
the current moment.
@SECOND(time#) the second (0..59) for time number.
@TIME(hr,min,sec) the time number of hr,min,sec.
@TODAY the date number for the current date.
@YEAR(date#) the year (0..200) for date number.
Logical The ProQube Lite logical functions evaluate their arguments
to determine one thing: truth or falsity. Typically,
logical functions supply the value 1 as the representative
of truth, and 0 as the representative of falsity.
FUNCTION RETURNS
@FALSE the value 0 (FALSE)
@IF(condition,x,y) if condition is TRUE, then x; else y
@ISERR(x) 1 (TRUE) if x is ERROR
@ISNUM(x) 1 (TRUE) if x is numeric
@ISTEXT(x) 1 (TRUE) if x is textual
@TRUE the value 1 (TRUE)
96
String The ProQube Lite string functions allow you to process
character strings more efficiently. They are often used
when importing data from other programs, printing, and in
macros that process strings.
FUNCTION RETURNS
@CHAR(x) a character, based on its ASCII value.
@CODE(x) the ASCII value of a character.
@EXACT(s1,s2) TRUE (1) if s1 and s2 match exactly.
@FIND(s1,s2,x) the position in s2 where s1 is found.
@LEFT(s1,n) the left part of a string.
@LEN(string) the length (in characters) of a string.
@LOWER(string) a string converted to lowercase.
@MID(s1,x,y) the middle part of a string.
@PROPER(string) a string, with the first character of
words in uppercase.
@REPEAT(s1,x) a string repeated a given number of
times.
@REPLACE(s1,x,n,s2) s1 with n characters removed from
position x, and with s2 inserted at
position x.
@RIGHT(s1,x) the right part of a string.
@STRING(x,n) a string which looks like a number.
@TRIM(string) a string with extra spaces trimmed out.
@UPPER(string) a string converted to uppercase.
@VALUE(string) the number that string looks like.
Data ProQube Lite's data functions allow your formulas to access
data in a variety of ways, from lookup tables, to access to
cell statistics.
FUNCTION RETURNS
@CELL(att,range) information about a cell.
@CHOOSE(x,y1,y2,..yn) an item from a list of items.
@COLS(range) the number of columns in
range.
@ERROR the value ERROR.
@HLOOKUP(x,blk,row,page) a value from a horizontal
lookup table.
@INDEX(range,col,row,page) a value from a 3D array.
@PAGES(range) the number of pages in range.
@POINTER(att) information about the current
cell.
@ROWS(range) the number of rows in range.
@VLOOKUP(x,blk,col,page) a value from a vertical lookup
table.
@@(cell) data from a cell through an
indirect address.
97
--------------------------------------------------------------------------
@ABS Mathematical
--------------------------------------------------------------------------
Function Returns the absolute (positive) value of a number.
Syntax @ABS(x)
where x is a number, a cell address, or a calculated value.
Example =@ABS(-212) = 212
=@ABS(25.3) = 25.3
=@ABS(B5;1) = 13, if the value of B5;1 is 13 or -13
--------------------------------------------------------------------------
@ACOS Trigonometry
--------------------------------------------------------------------------
Function Returns the arc cosine of a number.
Syntax @ACOS(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the angle whose cosine is x. The value of
x must be between -1 and 1, or @ACOS will return the value ERROR.
The value of the angle returned will be in radians, and will lie
between 0 and pi. If you want the result to be in degrees
instead, then use the @DEGREES function to convert the result.
Example =@ACOS(-0.990) = 3
=@ACOS(-1) = 3.14159
=@DEGREES(@ACOS(-1)) = 180
=@ACOS(2) = ERROR
--------------------------------------------------------------------------
@ASIN Trigonometry
--------------------------------------------------------------------------
Function Returns the arc sine of a number.
Syntax @ASIN(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the angle whose sine is x. The value of x
must be between -1 to 1, or @ASIN will return the value ERROR.
The value of the angle returned will be in radians, and will lie
between pi/2 and -pi/2. If you want the result to be in degrees
instead, then use the @DEGREES function to convert the result.
Example =@ASIN(0.1411) = 0.141572
=@ASIN(1) = 1.570796
=@DEGREES(@ASIN(1)) = 90
98
--------------------------------------------------------------------------
@ATAN Trigonometry
--------------------------------------------------------------------------
Function Returns the arc tangent of a number.
Syntax @ATAN(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the angle whose tangent is x. The value of
the angle returned is in radians. If you want the result to be
in degrees instead, then use the @DEGREES function to convert the
result.
Since the @ATAN function finds an angle based on a single value,
the result is limited to quadrants I and IV (-pi/2 to pi/2). If
you want to find a 4 quadrant angle, you must use the @ATAN2
function.
Example =@ATAN(1) = 0.7854
=@DEGREES(@ATAN(1)) = 45
--------------------------------------------------------------------------
@ATAN2 Trigonometry
--------------------------------------------------------------------------
Function Returns the four quadrant arc tangent of y/x.
Syntax @ATAN2(x,y)
where x and y are numbers, cell addresses, or calculated values.
Remarks This function returns the angle whose tangent is y/x.
The @ATAN2 function calculates the value of the arc tangent
differently than the @ATAN function. Where the @ATAN function
takes as its argument the value of the tangent, the @ATAN2
function calculates the value of the arc tangent using the x and
y coordinates. The result will be a full 4 quadrant angle, and
will be between -pi and pi.
Example =@ATAN2(1,1) = 0.7854
=@DEGREE(@ATAN2(1,1)) = 45
=@DEGREE(@ATAN2(-1,-1)) = -135
99
--------------------------------------------------------------------------
@AVG Statistical
--------------------------------------------------------------------------
Function Returns the average of a list of values.
Syntax @AVG(list)
where list is a list of values separated by commas, or a range
containing values, or some combination of the two.
Remarks This function calculates the average, or mean, of the values in
list.
The @AVG function will completely ignore all items in the list
which are text or blank. This means that if a text string is in
a range in list, you do not have to worry about it being used
incorrectly in the calculation.
Example =@AVG(0,1,2,3,4,5,6,7,8,9) = 4.5
If the cells A1;1 through A10;1 contain the values listed above,
then
=@AVG(A1;1..A10;1) = 4.5
=@AVG(1234,6435,2567) = 3412
100
--------------------------------------------------------------------------
@CELL Data
--------------------------------------------------------------------------
Function Returns information about a cell.
Syntax @CELL(attribute,range)
where attribute is a string in quotations or a cell reference;
and range is a cell range, named or otherwise.
Remarks This function returns information about the upper left cell in
range. Although the information is only for a single cell, range
must be entered as a range instead of a single cell. Attribute
must be one of the following strings: "address", "col",
"contents", "format", "page", "prefix", "protect", "row", or
"type". @CELL is primarily for use in applications to determine
certain characteristics about a cell.
attribute @CELL returns
"address" the name of the cell (for example B5;1)
"col" the column number of the cell (1 through 512)
"contents" the contents of the cell
"format" the formatting of the cell
0 Default
1 Fixed
2 Currency
3 Percent
4 Scientific
5 Hidden
6 Text
7 Fixed with commas
8 Currency with commas
9 Percent with commas
10 dd-mmm-yy
11 dd-mmm
12 mmm-yy
13 mm/dd/yy
14 Month DD, YYYY
15 HH:MM AM/PM
16 HH:MM Military
17 General
"page" the page number of the cell (1 through 512)
"prefix" the justification character of the cell
' if left justified
" if right justified
^ if centered
blank if the cell doesn't contain text
101
"protect" the protection status of the cell
0 = Not protected, 1 = Protected
"row" the row number of the cell (1 through 512)
"type" the type of data in the cell
BLANK
FORMAT
NUMBER
TEXT
FORMULA
TXTFORM
ERROR
Example If cell A1;1 contains centered text:
=@CELL("type",A1;1..A1;1) = "TEXT"
=@CELL("prefix",A1;1..A1;1) = ^
=@CELL("type",A1;1) = ERROR because the second argument must be
entered as a range instead of a single cell reference.
If cell B5;1 contains a value formatted as currency, then:
=@CELL("type",B5;1..B5;1) = "NUMBER"
=@CELL("format",B5;1..B5;1) = 2
=@CELL("row",B5;1..B5;1) = 5
102
--------------------------------------------------------------------------
@CHAR String
--------------------------------------------------------------------------
Function Returns a character, based on its ASCII value.
Syntax @CHAR(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the ASCII character for the value x. The
value of x must lie in the range 1 to 255.
Example =@CHAR(42) = *
=@CHAR(55) = 7
=@CHAR(80) = P
=@CHAR(113) = q
--------------------------------------------------------------------------
@CHOOSE Data
--------------------------------------------------------------------------
Function Choose an item from a list.
Syntax @CHOOSE(x,y1,y2,y3...yn)
where x is an offset value, and y1...yn is the list of items to
choose from.
Remarks This function performs a simple lookup based on the value of x.
If x has a value of 1, then @CHOOSE will return y1; if x has a
value of 2, then @CHOOSE will return y2, and so on. The items in
the list can be numeric, text, or both.
If x is less than 1 or greater than the number of items in the
list, then @CHOOSE will return the value ERROR.
See Also @HLOOKUP, @VLOOKUP, @PLOOKUP, @ELOOKUP
Example If A1;1 contains the value 3, then
@CHOOSE(A1;1,"Sun","Mon","Tue","Wed","Thu","Fri","Sat")=Tue
and
=@CHOOSE(A1;1,23,"Item 2",17) = 17
=@CHOOSE(4,"Item 1","Item 2","Item 3") = ERROR
103
--------------------------------------------------------------------------
@CODE String
--------------------------------------------------------------------------
Function Returns the ASCII value of a character.
Syntax @CODE(string)
where string is a string in quotations, or a cell address.
Remarks This function returns the ASCII value of the first character in
string. If the length of string is zero, or is not a string,
then @CODE will return the value ERROR.
Example =@CODE("Test") = 84
=@CODE("test") = 116
=@CODE("@") = 64
=@CODE(" ") = 32
--------------------------------------------------------------------------
@COLS Data
--------------------------------------------------------------------------
Function Returns the number of columns in a block.
Syntax @COLS(block)
where block is a cell range, either named or otherwise.
Remarks This function returns the number of columns in block.
Example If the block A1;1..G20;30 is named BUILDINGS then
=@COLS(BUILDINGS) = 7
--------------------------------------------------------------------------
@COS Trigonometry
--------------------------------------------------------------------------
Function Returns the cosine of an angle.
Syntax @COS(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the cosine of the angle x. x must be in
radians. If x is in degrees, then you must use the @RADIANS
function to convert x to radians first. The result of @COS will
be between -1 and 1.
Since the secant of an angle is simply the reciprocal of the @COS
function, you can calculate the secant of an angle by dividing 1
by the cosine of the angle.
Example =@COS(3) = -0.9900
=@COS(@PI) = -1
=@COS(@RADIANS(180)) = -1
104
--------------------------------------------------------------------------
@COUNT Statistical
--------------------------------------------------------------------------
Function Returns the number of values in a list.
Syntax @COUNT(list)
where list is a list of items separated by commas, or a range
containing values, or some combination of the two.
Remarks This function counts all of the cells in list which contain data.
Blank cells in a range are not counted, but individual cell
references are always counted, even if they are blank.
Example =@COUNT(0,1,2,3,4,5,6,7,8,9) = 10
If range A1;1 to A10;1 contained a list of names, then
=@COUNT(A1;1..A10;1) = 10
If 5 of those cells were deleted, then
=@COUNT(A1;1..A10;1) = 5
and
=@COUNT(A1;1..A10;1,C5;1) = 6, even if cell C5;1 is blank.
105
--------------------------------------------------------------------------
@CTERM Financial
--------------------------------------------------------------------------
Function Returns the number of periods for an investment to reach a future
value.
Syntax @CTERM(rate,fv,pv)
where rate, fv and pv are numbers, cell addresses, or calculated
values.
Remarks This function returns the number of periods needed to reach a
given future value, using a specified initial investment and a
periodic interest rate.
rate is the periodic interest rate, fv is the future value to be
reached, and pv is the initial investment.
@CTERM is often used in retirement planning, where a fixed amount
of money (usually large) is necessary to sustain retirement.
@CTERM can determine whether a certain investment is likely to
reach the monetary goal in the necessary time period.
Example An investment is likely to produce a 13% return. The investor
needs $300,000, and has $70,000 available to invest right now.
How long will it take to reach the goal?
=@CTERM(0.13,300000,70000) = 11.90734 years
The answer is returned in the periods indicated by the interest
rate. Thus, if you need to know the number of months needed to
reach the goal, divide the yearly interest rate by 12:
=@CTERM(0.13/12,300000,70000) = 135.0605 months
106
--------------------------------------------------------------------------
@DATE Date/Time
--------------------------------------------------------------------------
Function Returns a date number for a date.
Syntax @DATE(year,month,day)
where year, month, and day are numbers, cell addresses, or
calculated values.
Remarks This function returns the date number for year, month, and day.
The date number is the number of days from Dec 31, 1899 to the
given date. Formatting a cell containing a date number using the
/Block Format Date commands will turn the number into a readable
date. The key use for all date commands is in date arithmetic--
the determination of time between two periods.
ProQube Lite also provides intelligent date entry, which you may
often want to use instead of @date. When entering dates into
cells which have been formatted as date, you may type in the date
directly and ProQube Lite will automatically enter the date
number into the cell. For example, if you type 4/15/89 into a
cell which has a date format, ProQube Lite will enter the date
value 32703 into the cell.
Example How many days are between Jan. 16, 1959 and June 10, 1960?
=@DATE(60,6,10)-@DATE(59,1,16) = 511.
What date is 90 days after April 15, 1989?
=@DATE(89,4,15)+90 = 32703
Formatting this value as a date gives July 14, 1989.
107
--------------------------------------------------------------------------
@DAY Date/Time
--------------------------------------------------------------------------
Function The Day Function
Syntax @DAY(date number)
where date number is a number, cell address, or calculated value.
Remarks This function returns the day of the month of date number.
The @DAY function is most often used to avoid the often tedious
process of looking up dates; clearly, it is possible to simply
look at a cell that is formatted as a date to discover what
number is the day that is contained there. Using the @DAY
function allows you to bypass the lookup; the function extracts
the day automatically.
Example =@DAY(@DATE(89,1,16)) = 16
108
--------------------------------------------------------------------------
@DDB Financial
--------------------------------------------------------------------------
Function Returns the amount of depreciation of an asset using the double-
declining balance method.
Syntax @DDB(cost,salvage,life,period)
where cost, salvage, life, and period are numbers, cell
addresses, or calculated values.
Remarks This function calculates the amount of depreciation of an asset
using the Double-Declining Balance method of accelerated
depreciation.
cost is the cost of the asset, salvage is the salvage value of
the asset after it is totally depreciated, life is the useful
life of the asset, and period is the period within that life in
which the depreciation is being calculated.
The depreciation for a period is:
(book value * 2) / life
where the book value for a period is:
cost - (total depreciation for all prior periods)
The total depreciation over the life of the asset will never
exceed the assets cost - salvage value.
Example Your company purchased a piece of equipment last year for
$40,000. Its scrap value has been determined to be $11,000, and
its useful life is seven years. How much depreciation should be
assigned to it in this, its second year of useful life?
=@DDB(40000,11000,7,2) = $8,163.27
109
--------------------------------------------------------------------------
@DEGREES Trigonometry
--------------------------------------------------------------------------
Function Converts radians to degrees.
Syntax @DEGREES(x)
where x is a number, a cell address, or a calculated value.
Remarks Although all of ProQube Lite's trigonometry functions operate on
angular values expressed in radians, it is often easier to
analyze angular data when expressed in degrees. The @DEGREES
function provides an easy way to convert a value from radians to
degrees.
Example If cell A1 were a value in radians, and you wanted its value in
degrees, entering
=@DEGREES(A1)
would return the correct value in degrees.
=@DEGREES(@PI) = 180
=@DEGREES(@PI/2) = 90
--------------------------------------------------------------------------
@ERROR Data
--------------------------------------------------------------------------
Function Returns the value ERROR.
Syntax @ERROR
Remarks This function causes the ERROR flag to appear in the cell in
which it is entered.
The @ERROR function is usually used as an argument in an @IF
function. Often it is used to flag values that may be outside of
a prescribed range.
Example This formula will multiply B5 by 1.1, unless B5 is greater than
C5. If this happens, it will flag you with an ERROR.
=@IF(B5>C5,@ERROR,B5*1.1)
110
--------------------------------------------------------------------------
@EXACT String
--------------------------------------------------------------------------
Function Compares two text strings.
Syntax @EXACT(string1,string2)
where string1 and string2 are strings in quotations or cell
addresses.
Remarks This function returns the value 1 (TRUE) if string1 and string2
are identical, or the value 0 (FALSE) if they are not.
Comparing two strings with the @EXACT function is different than
comparing them with the = operator. Strings compared with the
@EXACT function must be exactly the same for a TRUE result, while
strings compared with the = operator may differ in case and still
be considered equal.
Example If cell D80 contains the string ProQube Lite:
=@EXACT("ProQube Lite",D80) = 1 (TRUE)
=@EXACT("ProQube Lite",D80) = 0 (FALSE)
--------------------------------------------------------------------------
@EXP Mathematical
--------------------------------------------------------------------------
Function Returns e raised to a power.
Syntax @EXP(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns e to the x power. e is approximately
2.71828. x must be less than 85.2 or an overflow will occur and
the value ERROR will be returned. This function is the inverse
of the @LN function. To use the value of e in a formula, use
@EXP(1).
Example =@EXP(3) = 20.0855
=@EXP(90) = ERROR
=@EXP(1) = 2.71828
=@EXP(@LN(5)) = 5
111
--------------------------------------------------------------------------
@FACT Mathematical
--------------------------------------------------------------------------
Function Returns the factorial of a number.
Syntax @FACT(x)
where x is a number, a cell address, or a calculated value.
Remarks The factorial of x is x * (x-1) * (x-2)...* 1.
x must be between 0 and 30 (inclusive), otherwise @FACT will
overflow and return ERROR. x should be an integer; if it is not
an integer, the program will use the value of the argument
rounded to the nearest integer.
Example =@FACT(5) = 5*4*3*2*1 = 120
=@FACT(4.7) = 120
=@FACT(45) = ERROR
--------------------------------------------------------------------------
@FALSE Logical
--------------------------------------------------------------------------
Function Returns the value FALSE (0).
Syntax @FALSE
Remarks This function returns the value 0 (FALSE).
The primary purpose of the @FALSE function is to help make
logical formulas easier to read.
Example @IF(B4;1>1,@TRUE,@FALSE)=0, if B4;1 is not greater than 1
112
--------------------------------------------------------------------------
@FIND String
--------------------------------------------------------------------------
Function Finds the occurrence of a string in a longer string.
Syntax @FIND(substring,string,n)
where substring and string are strings in quotations, or cell
addresses, and n is a number, cell address, or calculated value.
Remarks substring is the part of a string to find, string is the longer
string in which to find the substring, and n designates where in
the string to begin looking. The search is case-sensitive.
@FIND returns the position in string where substring is found.
That is, if substring begins at the 20th character string, 20
will be returned. If no match is found, @FIND returns a value of
0.
Example To find the word "time" in the phrase, "Now is the time for all
good men to come to the aid of their country,":
If the longer string is entered in cell D2;1, then
=@FIND("time",D2;1,1) = 12
You can also search for the second occurrence of "the" in the
above phrase with
=@FIND("the",D2,15)
ProQube Lite will begin the search at the 15th character, and
will return the position, 45.
--------------------------------------------------------------------------
@FRAC Mathematical
--------------------------------------------------------------------------
Function Returns the fractional part of a number.
Syntax @FRAC(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns only the part of x which comes after the
decimal point. If x is negative, then the value returned by
@FRAC will be negative also.
Example =@FRAC(1.23) = 0.23
=@FRAC(-1.23) = -0.23
=@FRAC(@PI) = 0.14159
113
--------------------------------------------------------------------------
@FV Financial
--------------------------------------------------------------------------
Function Returns the future value of an annuity.
Syntax @FV(pmt,int,term)
where pmt, int, term are numbers, cell addresses, or calculated
values.
Remarks This function calculates the future value of an annuity.
pmt is the amount of payment per period in the annuity, int is
the discount rate per period, and term is the total number of
payments to be made.
@FV assumes that payments are being made at the end of the
period. If payments are due at the beginning of the period,
simply multiply the answer by (1+int).
IMPORTANT: The interest rate must be a per period rate. For
example, if the term is 240, indicating (probably) monthly
payments over twenty years, the interest rate must also be a
monthly rate. Thus, a 12% yearly rate would be entered as 1%.
Example To calculate the future value of an ordinary annuity in which the
payments are $500.00, made monthly for 20 years, and the yearly
interest rate is 10%:
=@FV(500,0.1/12,240) = 379,684.42
=@FV(500,0.1/12,240)*(1+0.1/12) = 382,848.45
114
--------------------------------------------------------------------------
@HLOOKUP Data
--------------------------------------------------------------------------
Function Looks up an item in a horizontal lookup table.
Syntax @HLOOKUP(x,block,row offset,page offset)
where block is a block of cells, named or otherwise; row offset
and page offset are numbers, cell addresses, or calculated
values; and x is a number, text, cell address, or calculated
value.
Remarks This function looks up and retrieves a value or text from a
horizontal lookup table. block is the block of cells which makes
up the lookup table.
If x is text, @HLOOKUP will compare x with each cell in the top
row of block, and if a match is found, will move row offset rows,
and page offset pages from that cell, and will return the value
in the resulting cell. If x does not match any of the cells in
the top row of block, then @HLOOKUP will return the value ERROR.
If x is a value instead of text, @HLOOKUP will compare x with
each cell in the top row of block until it finds a cell which is
greater than or equal to x. This means that the values in the
top row of block must be in ascending order for @HLOOKUP to work
correctly. If the value in the cell is equal to x, @HLOOKUP will
consider it a match. If the cell is greater than x, @HLOOKUP
will move back to the previous cell and consider it a match. For
example, if the values in the top row of block are 100, 200, 300,
and 400, and the value of x is 250, then @HLOOKUP will search
until it reaches 300, and will then move back and use the cell
containing 200 as the match. When a match is found, @HLOOKUP
will move row offset rows, and page offset pages from that cell,
and will return the value in the resulting cell. If x is smaller
than the first cell in the top row, @HLOOKUP will return the
value ERROR.
115
Example 1 A B C D E F
1 1987 Sales
2
3 Jan Feb Mar Apr May
4 Joe 1234 2011 1893 1500 1438
5 Bill 2102 1453 2415 1627 1888
6 David 1845 1739 2194 1999 2003
7 Mike 2340 2112 1693 1429 2236
8
9
=@HLOOKUP("Feb",B3;1..F7;1,3,0) will compare the value "Feb" with
each cell in the top row of the range B3;1..F7;1 until it finds
the match in cell C3;1. It then moves down 3 rows to cell C6;1.
Since page offset is 0, @HLOOKUP does not move up to another
page. So @HLOOKUP in this case equals 1739 (David's February
1987 sales).
=@HLOOKUP("Feb",B3;1..F7;4,3,1) = David's February 1988 sales
from page 2)
=@HLOOKUP("Apr",B3;1..F7;1,1,0) = 1500
=@HLOOKUP("Mar",B3;1..F7;1,0,0) = Mar
116
--------------------------------------------------------------------------
@HOUR Date/Time
--------------------------------------------------------------------------
Function Returns the hour of a time number.
Syntax @HOUR(time number)
where time number is a number, cell address, or calculated value.
Remarks This function returns the hour of time number. A result of 0
represents midnight, 1 represents 1:00 p.m., and 23 represents
11:00 p.m.
time number should be a value between 0 and 1. ProQube Lite will
not ignore a mixed number; it will simply use the fractional
part.
The @HOUR function is most often used in conjunction with other
date and time functions to return only the hour portion of a
previously entered value.
Example =@HOUR(@NOW) = the current hour (in military time)
=@HOUR(@TIME(13,40,55)) = 13
117
--------------------------------------------------------------------------
@IF Logical
--------------------------------------------------------------------------
Function Returns one of two values depending on a condition.
Syntax @IF(condition,x,y)
where condition is a conditional statement, often in the form of
an equation, other times in the form of a "greater than" or "less
than" statement (or other inequality); and x and y are values,
functions, or strings.
Remarks This functions evaluates condition and returns x if it is TRUE,
and y if it is FALSE.
@IF is one of the most powerful ProQube Lite functions. It not
only evaluates whether a condition exists, it also takes action
depending on the existence or non-existence of the condition.
More importantly, conditions can be built which are very complex,
and may incorporate the Boolean operators (&, |, and ~) in
addition to the logical operators. Nested @IF functions are
allowed.
x and y may be both numeric, both text, or one of each.
Example If the price/earnings ratio of Micro Solutions, Inc.'s stock
(located in cell D54;1) falls below 17, it is time to sell (in
your opinion). If your spreadsheet contains a number of stocks,
you may not want to look down the P/E column to evaluate each
ratio. Instead, you enter this formula in a nearby cell on Micro
Solutions' row:
=@IF(D54;1<17," ","SELL")
When the P/E ratio falls below 17, SELL will appear in that cell.
=@IF(A1;1<1,A1;1*1.1,"Past due") = 1.1 or Past due, depending on
the value of A1;1.
118
--------------------------------------------------------------------------
@INDEX Data
--------------------------------------------------------------------------
Function Looks up data in a 3D array.
Syntax @INDEX(block,col,row,page)
where block is a block of cells, named or otherwise; and col,
row, and page are numbers, cell addresses, or calculated values.
Remarks This function looks up and returns data from a 3D array. block
is the 3D array, and col, row, and page are the offsets into the
array. The top row of block has a row offset of 0, the left
column of block has a column offset of 0, and the first page of
block has a page offset of 0.
col, row, and page refer to the column, row, and page offsets
relative to the front face. If you are viewing your data from
one of the other faces, the offset arguments will still be
relative to the front face. This insures that @INDEX will
provide the same result regardless of which face you happen to be
viewing.
See Also @HLOOKUP
Example 1 A B C D E F
1 1987 Sales
2
3 Jan Feb Mar Apr May
4 Joe 1234 2011 1893 1500 1438
5 Bill 2102 1453 2415 1627 1888
6 David 1845 1739 2194 1999 2003
7 Mike 2340 2112 1693 1429 2236
8
9
@INDEX(A3;1..F7;1,2,3,0) will start at the first cell in the
block (A3;1), and will move across 2 columns (to column C), down
3 rows (to row 6), and in 0 pages. It then returns the value
from that cell (C6;1). So @INDEX in this case equals 1739
(David's February 1987 sales).
@INDEX(A3;1..F7;4,2,3,1) = David's Feb 1988 sales from page 2
@INDEX(A3;1..F7;1,4,0,0) = Apr
119
--------------------------------------------------------------------------
@INT Mathematical
--------------------------------------------------------------------------
Function Returns the integer part of a number.
Syntax @INT(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the integer part of a value, which is the
part of the argument which is to the left (in front of) the
decimal point. The sign of the value returned is the same as
that of the argument.
The @INT function does not round values for further calculation.
(To round numbers, use @ROUND.) It merely truncates the numbers;
only the integer part of the value is used in further
calculations. The sign of the value can be either positive or
negative.
Example =@INT(-2.34) = -2
=@INT(1.2) = 1
=@INT(1.99) = 1
=@INT(@PI) = 3
120
--------------------------------------------------------------------------
@IRR Financial
--------------------------------------------------------------------------
Function Returns the internal rate of return of a series of cash flows.
Syntax @IRR(estimate,range)
where estimate is a number, cell address, or calculated value;
and range is a block of cells, named or otherwise.
Remarks This function calculates the discount rate at which the present
value of an outlay (investment) equals the present value of cash
inflows stemming (presumably) from that investment. Another way
of saying this is that it is the discount rate at which the net
present value of outlays and inflows is zero.
estimate should be a value between 0 and 1 that represents a
reasonable guess at the rate of return for the investment, and
range is a range of cells that contain the net cash flows
resulting from the investment. The first value in the range must
be negative, indicating an investment was made which constituted
an outflow of moneys.
It is assumed that the cash flows that appear in the range are
received at regular intervals. They need not be even, but they
should at least approximate regular flows.
The @IRR function further assumes that the income from the
investment is reinvested at the rate of return. If this not the
case (as with a capital investment in plant equipment), @IRR will
be overstated. The amount of overstatement depends on the
disparity between the assumed reinvestment and the actual rate of
reinvestment.
Finally, since @IRR is calculated by iteration, a really poor
estimate may cause the function to misstate the discount rate.
121
Example 1 A B C D E F
1 -2000
2 700
3 700
4 700
5 700
6
Cell A1 contains the value -2,000 (indicating an investment of
$2000), and cells A2 to A5 contain the value 700 (indicating
periodic receipts of $700), then, using a 20% rate of return as
our guess, we enter:
=@IRR(0.2,A1;1..A5;1) = 14.96%
122
--------------------------------------------------------------------------
@ISERR Logical
--------------------------------------------------------------------------
Function Tests whether an item is an error.
Syntax @ISERR(x)
where x is a cell reference or a formula.
Remarks This function is used to determine whether x is the value ERROR.
@ISERR is used to stop ERROR values from carrying through to
other parts of the worksheet.
Example @ISERR(1/0) = 1 (TRUE)
@ISERR(A1;1) = 1 if cell A1;1 contains the value ERROR; otherwise
it equals 0.
--------------------------------------------------------------------------
@ISNUM Logical
--------------------------------------------------------------------------
Function Tests whether an item is a number.
Syntax @ISNUM(x)
where x is a cell address or a formula.
Remarks This function returns the value 1 (TRUE) if x is a numerical
value; otherwise it returns the value 0 (FALSE).
Example @ISNUM(1) = 1 (TRUE)
@ISNUM("text") = 0 (FALSE)
@ISNUM(A1;1) = 1 if cell A1;1 contains a numeric value; otherwise
it equals 0.
--------------------------------------------------------------------------
@ISTEXT Logical
--------------------------------------------------------------------------
Function Tests whether an item is text.
Syntax @ISTEXT(x)
where x is a cell address or a formula.
Remarks This function returns the value 1 (TRUE) if x is a textual value;
otherwise it returns the value 0 (FALSE).
Example @ISTEXT(1) = 0 (FALSE)
@ISTEXT("text") = 1 (TRUE)
123
--------------------------------------------------------------------------
@LEFT String
--------------------------------------------------------------------------
Function Returns the left part of a text string.
Syntax @LEFT(string,n)
where string is a string in quotations, or a cell address; and n
is a number, cell address, or calculated value.
Remarks This function returns the leftmost n characters from string.
@LEFT is often used when extracting portions of a string--for
example, an area code or the first digits of a billing code.
Example If cell B225;1 contains the telephone number of a client, and you
want to retrieve only the area code, then use:
=@LEFT(B225;1,5)
If your client's phone number is (208)555-1212, @LEFT will return
(208)
--------------------------------------------------------------------------
@LEN String
--------------------------------------------------------------------------
Function Returns the length of a text string.
Syntax @LEN(string)
where string is a string in quotations, or a cell address.
Remarks This function returns the number of characters in string.
Example If cell A5;1 contains 'Goodbye and B9;1 contains ' cruel world
then
=@LEN(A5;1) = 7
=@LEN(B9;1) = 12
=@LEN(A5;1+B9:1) = 19
124
--------------------------------------------------------------------------
@LN Mathematical
--------------------------------------------------------------------------
Function Returns the natural logarithm of a number.
Syntax @LN(x)
where x is a number, a cell address, or a calculated value.
Remarks This function calculates the natural logarithm (base e) of x. It
is the inverse of the @EXP function. The value cannot be
negative or equal to zero, or an ERROR value will be returned.
Example =@LN(1000) = 6.9078
=@LN(@EXP(3)) = 3 since @LN is the inverse of the @EXP
function.
--------------------------------------------------------------------------
@LOG Mathematical
--------------------------------------------------------------------------
Function Returns the common logarithm of a number.
Syntax @LOG(x)
where x is a number, a cell address, or a calculated value.
Remarks The @LOG function returns the logarithm of x. It uses the base
10, and is the reciprocal of exponentiation. The value must be
greater than zero; a negative or zero value returns an ERROR
value.
Example =@LOG(1000) = 3
=@LOG(10^5) = 5
=@LOG(-12) = ERROR
--------------------------------------------------------------------------
@LOWER String
--------------------------------------------------------------------------
Function Converts all the characters of a text string to lowercase.
Syntax @LOWER(string)
where string is a string in quotations, or a cell address.
Remarks The @LOWER function converts all of the characters in string to
lowercase letters.
Example If A1;1 contains the text "Instruction Manual", then
=@LOWER(A1;1) = instruction manual
125
--------------------------------------------------------------------------
@MAX Statistical
--------------------------------------------------------------------------
Function Returns the maximum value from a list of values.
Syntax @MAX(list)
where list is a list of values separated by commas, or a range
containing values, or some combination of the two.
Remarks This function returns the largest value in list.
When lists become very large, it becomes useful to easily and
quickly determine the largest value in the list. The @MAX
function accommodates this need. Blank and text cells are
ignored by @MAX. If the list consists entirely of blank cells,
the value ERROR will be returned, because you can't determine a
maximum of no values.
Example =@MAX(0,1,2,3,4,5,6,7,8,9) = 9
If cells A1 to A10 contained those values, but in a different
order, the formula
=@MAX(A1..A10) would still return the value 9.
--------------------------------------------------------------------------
@MID String
--------------------------------------------------------------------------
Function Returns the midsection of a text string.
Syntax @MID(string,start,n)
where string is a string in quotations, or a cell address; and
start and n are numbers, cell addresses, or calculated values.
Remarks This function searches string, starting with the start character,
and extracts and returns n characters. @MID can be useful in
extracting strings from known positions in a larger string. More
useful still, @MID can be combined with @FIND to extract
characters from the middle of strings.
Example Column A contains a list of customer phone numbers. For local
numbers, no area code is listed. For other numbers, an area code
is included. You want to create customer numbers by using the
last digit of the telephone prefix, and the first three digits of
the telephone number. You can find it using the formula:
=@MID(A1;1,@FIND("-",A1;1,1)-1,5)
If the telephone number were (208)882-8656, ProQube Lite would
return the string 2-865.
126
--------------------------------------------------------------------------
@MIN Statistical
--------------------------------------------------------------------------
Function Returns the minimum value from a list of values.
Syntax @MIN(list)
where list is a list of values separated by commas, or a range
containing values, or some combination of the two.
Remarks This function returns the smallest value in list.
When lists become very large, it becomes useful to easily and
quickly determine the smallest value in the list. The @MIN
function accommodates this need.
Blank and text cells are ignored. If the list consists entirely
of blank cells, the value ERROR will be returned because you
can't determine the minimum of no values.
Example =@MIN(0,1,2,3,4,5,6,7,8,9) = 0
If cells A1 to A10 contained those values, but in a different
order, the formula
=@MIN(A1..A10) would still return the value 0.
--------------------------------------------------------------------------
@MINUTE Date/Time
--------------------------------------------------------------------------
Function Returns the minute of a time number.
Syntax @MINUTE(time number)
where time number is a number, cell address, or calculated value.
Remarks This function returns the number of the minute (between 0 and 59)
represented by time number.
time number should be a value between 0 and 1 (not inclusive).
ProQube Lite will not ignore mixed numbers; rather, it will
extract only the fractional part.
@MINUTE is most often useful in conjunction with other date and
time functions. @MINUTE will extract only the minute portion of
a time value.
Example To find the current minute, and enter it into a cell, enter:
=@MINUTE(@NOW)
=@MINUTE(@TIME(10,20,30)) = 20
127
--------------------------------------------------------------------------
@MOD Mathematical
--------------------------------------------------------------------------
Function Returns the remainder after dividing two numbers.
Syntax @MOD(x,y)
where x and y are numbers, cell addresses, or calculated values.
Remarks This function returns the remainder after dividing x by y.
@MOD function will typically be used any time that it is
necessary to use the remainder in calculations.
@MOD can be used to determine if x is odd or even by setting y to
2. If the result is 0, then x is even; if the result is 1, then
x is odd.
If y has a value of 0, ERROR will be returned, since dividing by
0 is illegal.
Example =@MOD(5,2) = 1
=@MOD(6,2) = 0
=@MOD(12,7) = 5
--------------------------------------------------------------------------
@MONTH Date/Time
--------------------------------------------------------------------------
Function Returns the month of a date number.
Syntax @MONTH(date number)
where date number is a number, cell address, or calculated value.
Remarks This function returns only the month portion (1..12) of date
number.
Most often, the @MONTH function is used in conjunction with other
date function. @MONTH extracts the month portion of the date
given in its argument.
Example If the current month is April, then
=@MONTH(@NOW) = 4
=@MONTH(@DATE(89,11,3)) = 11
128
--------------------------------------------------------------------------
@NOW Date/Time
--------------------------------------------------------------------------
Function Returns the current date and time numbers.
Syntax @NOW
Remarks This function reads the system clock and returns a combined date
and time number for the current date and time. The integer part
of the result will be the date number for the current date, and
the fractional part of the result will be the time number for the
current time.
If your system does not have a clock, you must respond correctly
to the DOS DATE and TIME requests to have the proper date and
time returned by the @NOW function.
@NOW is often used in a reference by the other ProQube Lite date
and time functions to supply the current date, month, year, hour,
etc. Any recalculation which affects the cell in which the @NOW
function is located will cause the current date and time to be
re-entered into the cell.
Example If it is currently 2:13 p.m. on May 10, 1989, then
=@MONTH(@NOW) = 5
=@DAY(@NOW) = 10
=@YEAR(@NOW) = 89
=@HOUR(@NOW) = 14 (military time for 2 p.m.)
=@MINUTE(@NOW) = 13
129
--------------------------------------------------------------------------
@NPV Financial
--------------------------------------------------------------------------
Function Returns the net present value of a series of future cash flows.
Syntax @NPV(int,block)
where int is a number, a cell address, or a calculated value, and
block is a block of cells, named or otherwise.
Remarks This function calculates the net present value of a series of
future cash flows in range, given the discount rate int. Each of
the future cash flows are brought back to the present; that is,
each flow receives its equivalent present value.
The period of the discount must agree with the period of the cash
flows. That is, if the cash flows are yearly flows, then the
discount rate must be a yearly rate; if the cash flows are
monthly, then the discount rate must be monthly.
Generally, yearly cash flows will be accurate enough. Even if
the flows actually come on a monthly basis, summing up those
flows into a single yearly flow will only change the answer by a
small percentage.
@NPV assumes that the period between cash flows is constant.
@NPV assumes end-of-period-payments. For beginning-of-period-
payments, multiply the answer by (1+int).
Example 1 A B C D E F
1 -2000
2 900
3 900
4 900
5 900
6
Cell A1;1 contains the value -2,000 (indicating an investment of
$2000), and cells A2 to A5 contain the value 900 (indicating
periodic receipts of $900), then, using a 12% discount rate:
=@NPV(0.12,A1;1..A5;1) = 655.01 (end of period)
=@NPV(0.12,A1;1..A5;1)*(1.12) = 733.61 (start of period)
130
--------------------------------------------------------------------------
@PAGES Data
--------------------------------------------------------------------------
Function Returns the number of pages in a block.
Syntax @PAGES(block)
Remarks This function returns the number of pages in a specified block of
cells.
Example If the block A1;1..B5;10 is named COST, then
=@PAGES(COST) = 10
=@PAGES(B12;11..F20;14) = 4
--------------------------------------------------------------------------
@PI Trigonometry
--------------------------------------------------------------------------
Function Returns the value of pi (3.14159...).
Syntax @PI
Remarks The @PI function simply returns the value of pi, 3.141592635...
Example Entering the formula 2*@PI*5.3 returns the circumference of a
circle with a radius of 5.3, or 33.30088.
131
--------------------------------------------------------------------------
@PMT Financial
--------------------------------------------------------------------------
Function Returns the payment required to amortize a loan amount.
Syntax @PMT(prin,int,term)
where prin, int, and term are numbers, cell addresses, or
calculated values.
Remarks This function calculates the periodic payment required to
amortize a loan amount, given the amount of principal, the
periodic interest rate, and the number of payments.
prin is the total amount of principal, int is the periodic
interest rate, and term is the number of payments in the loan.
The @PMT function assumes a fixed rate of interest. It also
requires (like all of the financial functions) that the interest
and term in the argument are expressed in like intervals; that
is, a monthly term requires a monthly interest rate.
Example If you were looking at a home that would require a $75,000 loan,
at 10% yearly interest for 30 years (360 monthly payments), how
much would your monthly payment be?
=@PMT(75000,0.1/12,360) = $658.18.
132
--------------------------------------------------------------------------
@POINTER Data
--------------------------------------------------------------------------
Function Returns information about the current cell.
Syntax @POINTER(attribute)
where attribute is a string in quotations or a cell reference.
Remarks This function returns various types of information about the cell
which the cell pointer is currently in. This function is
intended for use in application programs which need information
about the current cell. attribute determines what information is
returned, and must be one of the following strings; "address",
"col", "contents", "format", "page", "prefix", "protect", "row",
or "type".
Example attribute @POINTER returns
"address" the name of the current cell (for example B5;1)
"col" the column number of the current cell (1 thru 512)
"contents" the contents of the current cell
"format" the formatting of the current cell
0 Default
1 Fixed
2 Currency
3 Percent
4 Scientific
5 Hidden
6 Text
7 Fixed with commas
8 Currency with commas
9 Percent with commas
10 dd-mmm-yy
11 dd-mmm
12 mmm-yy
13 mm/dd/yy
14 Month DD, YYYY
15 HH:MM AM/PM
16 HH:MM Military
17 General
"page" the page number of the current cell (1 through
512)
"prefix" the justification character of the current cell
' if left justified
" if right justified
^ if centered
blank if the cell doesn't contain text
133
"protect" the protection status of the current cell
0 = Not protected, 1 = Protected
"row" the row number of the current cell (1 through 512)
"type" the type of data in the current cell
BLANK
FORMAT
NUMBER
TEXT
FORMULA
TXTFORM
ERROR
Example If the current cell contains centered text:
@POINTER("type") = "TEXT"
@POINTER("prefix") = ^
If the cell pointer is in cell B5;1, which contains a value
formatted as currency, then:
@POINTER("type") = "NUMBER"
@POINTER("format") = 2
@POINTER("row") = 5
134
--------------------------------------------------------------------------
@PROPER String
--------------------------------------------------------------------------
Function Capitalizes the first letter of each word in a text string.
Syntax @PROPER(string)
where string is a string in quotations, or a cell address.
Remarks This function converts the first letter of words in string to
uppercase.
@PROPER will only recognize words that are separated by spaces,
or other non alpha characters.
Example =@PROPER("this is a test") = This Is A Test
=@PROPER("mid-size") = Mid-Size
since the dash is a non alpha character.
--------------------------------------------------------------------------
@PV Financial
--------------------------------------------------------------------------
Function Returns the present value of an annuity.
Syntax @PV(pmt,int,term)
where pmt, int, and term are numbers, cell addresses, or
calculated values.
Remarks This function calculates the present value of an annuity, given
the periodic payment, the periodic interest rate, and the number
of periods.
pmt is the payment per period, int is the interest rate per
period, and term is the total number of payments.
The @PV function does precisely the same thing as the @NPV
function, except that all payments are equal. Thus, it is only
necessary to enter the amount once, rather than as a series of
values. The interest rate and term must agree; monthly payments
must be accompanied by a monthly term. @PV assumes end-of-
period-payments. For beginning-of-period-payments, multiply the
answer by (1+int).
Example To calculate the present value of an annuity in which the
payments are made monthly for 36 months, the interest rate is 10%
per year, and the payments are $400, enter the formula:
=@PV(400,0.1/12,36)
ProQube Lite returns the value $12,396.42.
135
--------------------------------------------------------------------------
@RADIANS Trigonometry
--------------------------------------------------------------------------
Function Converts degrees to radians.
Syntax @RADIANS(x)
where x is a number, a cell address, or a calculated value.
Remarks This function converts the angle x from degrees to radians.
Since ProQube Lite's trigonometry functions require angles to be
expressed in radians, the @RADIANS function is useful for making
this conversion.
Example =@RADIANS(180) = 3.14159
=@RADIANS(45) = 0.7854
--------------------------------------------------------------------------
@RAND Mathematical
--------------------------------------------------------------------------
Function Returns a uniformly distributed random number.
Syntax @RAND
Remarks This function generates 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 each time the cell (not the
WorkQube) is recalculated.
If you want the numbers to fall within a specified range,
multiply the @RAND result by the difference between the high and
low values in a range; then add this result to the lower value in
the range.
Example If you want to generate a random number which falls between 20
and 25, then use
20+(5*@RAND)
136
--------------------------------------------------------------------------
@RATE Financial
--------------------------------------------------------------------------
Function Returns the interest rate at which a present value will grow to a
future value.
Syntax @RATE(pv,fv,term)
where pv, fv, and term are numbers, cell addresses, or calculated
values.
Remarks This function returns the interest rate at which a present value
will grow into a future value during a number of periods.
pv is the present value amount of an investment, fv is the future
value amount of the investment, and term is the number of
periods.
The periods are assumed to be regular intervals. Converting the
compound growth rate on a yearly basis, given that the term is
expressed in months, simply requires that the answer be
multiplied by 12.
Example If you want to calculate the periodic interest rate that will be
required to make an investment of $1,000 grow into $1,750 in five
years,
=@RATE(1000,1750,5) = 0.1184 (or 11.84%)
--------------------------------------------------------------------------
@REPEAT String
--------------------------------------------------------------------------
Function Repeats text a given number of times.
Syntax @REPEAT(string,n)
where string is a string in quotations or a cell address; and n
is a number, cell address, or calculated value.
Remarks This function returns string repeated n times.
Example =@REPEAT("abc",3) = abcabcabc
=@REPEAT("-",15) = ---------------
137
--------------------------------------------------------------------------
@REPLACE String
--------------------------------------------------------------------------
Function Replaces a substring in a string with a new string.
Syntax @REPLACE(string,start,n,new string)
where string and new string are strings in quotations or cell
addresses; and start and n are numbers, cell addresses, or
calculated values.
Remarks This function removes n characters from string at position start,
and inserts new string at the same position. @REPLACE is not
only a function that allows replacement of a string; it also
serves as an insert or a delete function. If n is set to zero,
this is simply an insert function. If new string is empty, this
serves as a delete function.
Example If A1;1 contains the string This is a test, then
=@REPLACE(A1;1,11,4,"game") = This is a game
=@REPLACE(A1;1,11,0," game") = This is a game test
=@REPLACE(A1;1,6,5,"") = This test
--------------------------------------------------------------------------
@RIGHT String
--------------------------------------------------------------------------
Function Returns the right part of a text string.
Syntax @RIGHT(string,n)
where string is a string in quotations or a cell address, and n
is a number, cell address, or calculated value.
Remarks This function extracts and returns n characters from the end of
string. If n is greater than the number of characters in string,
then the entire string is returned.
See Also @LEFT, @MID.
Example Column A contains a list of customer phone numbers. You want to
create customer numbers by using the last four digits of the
telephone number. Just use
=@RIGHT(A1;1,4)
for the first number. If the telephone number were (208)882-
8656, ProQube Lite would return the string 8656.
=@RIGHT("this is a test",8) = s a test
138
--------------------------------------------------------------------------
@ROUND Mathematical
--------------------------------------------------------------------------
Function Rounds a value to a given number of decimal places.
Syntax @ROUND(x,n)
where x and n are numbers, cell addresses, or calculated values.
Remarks This function returns the value of x rounded to n places.
n can be either positive or negative; when n is negative, the
program rounds n digits to the left of the decimal point. When n
is positive, the program rounds n digits to the right of the
decimal.
See Also @INT
Example =@ROUND(123.456,-2) = 100
=@ROUND(123.456,-1) = 120
=@ROUND(123.456,2) = 123.46
=@ROUND(123.456,0) = 123
--------------------------------------------------------------------------
@ROWS Data
--------------------------------------------------------------------------
Function Returns the number of rows in a block.
Syntax @ROWS(block)
Remarks This function returns the number of rows in block. @ROWS is
particularly useful when used with named blocks.
Example If the block A1;1..B10;2 is named COST then
=@ROWS(COST) = 10
139
--------------------------------------------------------------------------
@SECOND Date/Time
--------------------------------------------------------------------------
Function Returns the second of a time number.
Syntax @SECOND(time number)
where time number is a number, a cell address, or a calculated
value.
Remarks This function returns the value in seconds (between 0 and 59) of
time number.
time number should be a value between 0 and 1. ProQube Lite will
not ignore mixed numbers; rather, it will extract only the
fractional part. The argument may be either a value, a cell
reference to a value, or a cell reference to a formula which
calculates a value.
@SECOND is used whenever it is important to extract only the
second portion of a time value. This function is most often used
in conjunction with other time functions, such as @NOW or @TIME.
Example If the current time were 10:43.34, then
=@SECOND(@NOW) = 34
=@SECOND(@TIME(10,20,30)) = 30
--------------------------------------------------------------------------
@SIGN Mathematical
--------------------------------------------------------------------------
Function Returns the sign of a number.
Syntax @SIGN(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the sign of its x. If x is negative, the
function returns -1. If x positive, the function returns 1. If
x is 0, the function returns 0.
Example =@SIGN(23.4) = 1
=@SIGN(-13.9) = -1
=@SIGN(0) = 0
=@SIGN(@PI) = 1
140
--------------------------------------------------------------------------
@SIN Trigonometry
--------------------------------------------------------------------------
Function Returns the sine of an angle.
Syntax @SIN(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the sine of the angle x. x must be in
radians. If x is in degrees, then the @RADIANS function must be
used to convert x to radians. The value returned by the @SIN
function will always lie between -1 and 1.
Example =@SIN(3) = 0.1411
=@SIN(@PI) = 0
=@SIN(@RADIANS(90)) = 1
--------------------------------------------------------------------------
@SLN Financial
--------------------------------------------------------------------------
Function Returns the amount of depreciation of an asset using the straight
line method.
Syntax @SLN(cost,salvage,life)
where cost, salvage, and life are numbers, cell addresses, or
calculated values.
Remarks This function calculates and returns the amount of depreciation
of an asset using the Straight-Line method of accelerated
depreciation.
cost is the cost of the asset, salvage is the salvage value of
the asset after it is totally depreciated, and life is the useful
life of the asset.
Example Your company purchased a piece of equipment last year for
$40,000. Its scrap value has been determined to be $11,000, and
its useful life is seven years. What is the yearly depreciation
expense?
=@SLN(40000,11000,7) = $4,142.86
141
--------------------------------------------------------------------------
@SQRT Mathematical
--------------------------------------------------------------------------
Function Returns the square root of a value.
Syntax @SQRT(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the square root of x. x must be positive,
since any two negative numbers multiply to a positive number.
Since @SQRT will not work with negative numbers, it will often be
necessary to convert negative values to positive ones. To do
this, simply combine the @SQRT function with the @ABS function.
Example =@SQRT(16) = 4
=@SQRT(-9) = ERROR
=@SQRT(@ABS(-9)) = 3
--------------------------------------------------------------------------
@STD Statistical
--------------------------------------------------------------------------
Function Returns the standard deviation of a list of values.
Syntax @STD(list)
where list is a list of values separated by commas, or a range
containing values, or some combination of the two.
Remarks This function calculates the standard deviation of the values in
list.
Standard deviation is a measure of dispersion; that is, it
measures the degree to which each value in list varies from the
mean of the values in list.
@STD will completely ignore all items in list which are text or
blank. This means that if a text string is in a range in list,
you do not have to worry about it being used incorrectly in the
calculation.
Example =@STD(0,1,2,3,4,5,6,7,8,9) = 2.87
Similarly, if cells A1;1 to A10;1 contained those values, the
formula
=@STD(A1;1..A10;1) would return the value 2.87
142
--------------------------------------------------------------------------
@STRING String
--------------------------------------------------------------------------
Function Converts a value to a string.
Syntax @STRING(x,n)
where x and n are values, cell addresses, or calculated values.
Remarks This function converts x to a string with n decimal places.
To perform string operations on values, you must use either the
@STRING or @FORMAT functions to convert the value to a string.
See Also @FORMAT
Example If cell A1;1 contains the function @PI, then
=@STRING(A1;1,3)
will return the string 3.142
--------------------------------------------------------------------------
@SUM Statistical
--------------------------------------------------------------------------
Function Returns the sum of a list of values.
Syntax @SUM(list)
where list is a list of values separated by commas, or a range
containing values, or some combination of the two.
Remarks This function adds up all of the values contained in list.
@SUM will completely ignore all items in list which are text or
blank. This means that if a text string is in a range in list,
you do not have to worry about it being used incorrectly in the
calculation.
Example =@SUM(0,1,2,3,4,5,6,7,8,9) = 45
Similarly, if cells A1;1 to A10;1 contained those same values,
entering the formula
=@SUM(A1;1..A10;1) would return the value 45.
143
--------------------------------------------------------------------------
@SYD Financial
--------------------------------------------------------------------------
Function Returns the amount of depreciation of an asset using the Sum of
the Years' Digits method.
Syntax @SYD(cost,salvage,life,period)
where cost, salvage, life, and period are numbers, cell
addresses, or calculated values.
Remarks This function calculates the amount of depreciation of an asset
using the Sum-of-the-Years'-Digits method of accelerated
depreciation.
cost is the cost of the asset, salvage is the salvage value of
the asset after it is totally depreciated, life is the useful
life of the asset, and period is the period within that life in
which the depreciation is being calculated.
Example Your company purchased a piece of equipment last year for
$40,000. Its scrap value has been determined to be $11,000, and
its useful life is seven years. How much depreciation should be
assigned to it in this, its second year of useful life?
=@SYD(40000,11000,7,2) = $6,214.29
--------------------------------------------------------------------------
@TAN Trigonometry
--------------------------------------------------------------------------
Function Returns the tangent of an angle.
Syntax @TAN(x)
where x is a number, a cell address, or a calculated value.
Remarks This function returns the tangent of the angle x. x must be
expressed in radians. If x is in degrees, then the @RADIANS
function must be used to convert x to radians.
Example =@TAN(3) = -0.1425.
=@TAN(7) = 0.8714.
144
--------------------------------------------------------------------------
@TERM Financial
--------------------------------------------------------------------------
Function Returns the number of periods for an investment to reach a future
value.
Syntax @TERM(pmt,int,fv)
where pmt, int, and fv are numbers, cell addresses, or calculated
values.
Remarks This function returns the number of terms needed to reach a
specified future value, given an interest rate (rate of return)
and the value of equal payment to be made each period.
pmt is the amount of the equal periodic payments, int is the
interest rate or expected rate of return, and fv is the future
value to be reached.
Many investments (including many people's savings accounts) take
a series of equal payments. To determine how long it will take
to accumulate a specific future value, use the @TERM function.
Example You deposit $500 per month in your savings account, which earns
7% annually. You need $9,000 to make the down payment on your
first home. How many months will it take to accumulate that
much?
First, convert the yearly interest to months. Divide .07 by 12;
monthly interest is .00583. Enter the formula:
=@TERM(500,0.00583,9000)
The formula returns the number of months to achieve the goal, 17.
145
--------------------------------------------------------------------------
@TIME Date/Time
--------------------------------------------------------------------------
Function Returns a time number for a time.
Syntax @TIME(hour,min,sec)
where hour, min, and sec are numbers, cell addresses, or
calculated values.
Remarks This function returns a time number between 0 and 1, from hour,
min, and sec.
hour is the hour of the day (between 0 and 23), min is the minute
of the hour (between 0 and 59), and sec is the seconds of the
minute (between 0 and 59).
It is usually necessary to format the cell containing @TIME using
the /Cell Format Date command.
Example If cell A4;1 contains the following formula and is formatted in a
time format, then
=@TIME(15,12,25)
in cell A4;1 would return the time: 3:12:25
--------------------------------------------------------------------------
@TODAY Date/Time
--------------------------------------------------------------------------
Function Returns the date number of the current date.
Syntax @TODAY
Remarks This function reads the system clock and returns the date number
for the current date.
As with virtually all of the date and time functions, it is
necessary to convert the value supplied by this function into a
readable date format using the /Cell Format Date commands.
The date will not be recalculated unless you want it to be, as a
result of ProQube Lite's dependency-based recalculation.
Example To enter the current date into cell A1, format the cell using the
/Cell Format Date commands, then type
=@TODAY
into the cell.
146
--------------------------------------------------------------------------
@TRIM String
--------------------------------------------------------------------------
Function Trims all extra spaces out of a text string.
Syntax @TRIM(string)
where string is a string in quotations, or a cell address.
Remarks This function strips all extra spaces from string. The result
contains only single spaces between words.
Often, importing ASCII files will produce strings with extraneous
spaces. The problem is overcome with @TRIM.
Example The imported string in A1 reads:
This is a test.
Entering the formula
=@TRIM(A1)
produces the new string:
This is a test.
--------------------------------------------------------------------------
@TRUE Logical
--------------------------------------------------------------------------
Function Returns the value TRUE (1).
Syntax @TRUE
Remarks This function returns the value 1 (TRUE).
The primary purpose of the @TRUE function is to help make logical
formulas easier to read.
Example =@IF(B4;1>100,@TRUE,@FALSE)=1, if B4;1 is greater than 1.
147
--------------------------------------------------------------------------
@UPPER String
--------------------------------------------------------------------------
Function Converts all the characters of a text string to uppercase.
Syntax @UPPER(string)
where string is a string in quotations, or a cell address.
The @UPPER function converts all of the characters in string to
uppercase.
Example If cell A1;1 contains the text "Instruction Manual"
=@UPPER(A1;1) = INSTRUCTION MANUAL
--------------------------------------------------------------------------
@VALUE String
--------------------------------------------------------------------------
Function Returns the value that a text string looks like.
Syntax @VALUE(string)
where string is a string in quotations or a cell address.
Remarks This function converts string into a value that can be used in
formulas, equations, and other calculations. @VALUE is
especially useful for converting mixed fractions (such as stock
values) into numerical values.
Example If A1 contains the label, "4.34"
=@VALUE(A1) = 4.34
=@VALUE("3 1/4") = 3.25
148
--------------------------------------------------------------------------
@VAR Statistical
--------------------------------------------------------------------------
Function Returns the variance of a list of values.
Syntax @VAR(list)
where list is a list of values separated by commas, or a range
containing values, or some combination of the two.
Remarks This function returns the variance of the values contained in
list.
The @VAR function measures dispersion, much like the @STD
function. In fact, the variance of list is simply the square of
its standard deviation.
The @VAR function will completely ignore all items in the list
which are text or blank. This means that if a text string is in
a range in list, you do not have to worry about it being used
incorrectly in the calculation.
Example =@VAR(0,1,2,3,4,5,6,7,8,9) = 8.25
Similarly, if cells A1;1 to A10;1 contain those values
=@VAR(A1;1..A10;1) = 8.25
149
--------------------------------------------------------------------------
@VLOOKUP Data
--------------------------------------------------------------------------
Function Looks up an item in a vertical lookup table.
Syntax @VLOOKUP(x,block,col offset,page offset)
where block is a block of cells, named or otherwise; and col
offset and page offset are numbers, cell addresses, or calculated
values; and x is a number, text, cell address, or calculated
value.
Remarks This function looks up and retrieves a value or text from a
vertical lookup table. block is the block of cells which makes
up the lookup table.
If x is text, @VLOOKUP will compare x with each cell in the left
column of block, and if a match is found, will move col offset
columns, and page offset pages from that cell, and will return
the value in the resulting cell. If x does not match any of the
cells in the left column of block, then @VLOOKUP will return the
value ERROR.
If x is a value instead of text, @VLOOKUP will compare x with
each cell in the left column of block until it finds a cell which
is greater than or equal to x. This means that the values in the
left column of block must be in ascending order for @VLOOKUP to
work correctly. If the value in the cell is equal to x, @VLOOKUP
will consider it a match. If the cell is greater than x,
@VLOOKUP will move up to the previous cell and consider it a
match. For example, if the values in the left column of block
are 100, 200, 300, and 400, and the value of x is 250, then
@VLOOKUP will search until it reaches 300, and will then move
back and use the cell containing 200 as the match. When a match
is found, @VLOOKUP will move col offset columns, and page offset
pages from that cell, and will return the value in the resulting
cell. If x is smaller than the first cell in the left column,
@VLOOKUP will return the value ERROR.
150
Example 1 A B C D E F
1 1987 Sales
2
3 Jan Feb Mar Apr May
4 Joe 1234 2011 1893 1500 1438
5 Bill 2102 1453 2415 1627 1888
6 David 1845 1739 2194 1999 2003
7 Mike 2340 2112 1693 1429 2236
8
9
@VLOOKUP("Bill",A4;1..F7;1,2,0) will compare the value "Bill"
with each cell in the left column of the range A4;1..F7;1 until
it finds the match in cell A5;1. It then moves across 2 columns
to cell C5;1. Since page offset is 0, @VLOOKUP does not move up
to another page. So @VLOOKUP in this case equals 1453 (Bill's
February 1987 sales).
=@VLOOKUP("Bill",A4;1..F7;4,2,1) = Bill's February 1988 sales
from page 2)
=@VLOOKUP("Joe",A4;1..F7;1,4,0) = 1500
=@VLOOKUP("Mike",A4;1..F7;1,0,0) = Mike
151
--------------------------------------------------------------------------
@YEAR Date/Time
--------------------------------------------------------------------------
Function Returns the year of a date number.
Syntax @YEAR(date number)
where date number is a number, a cell address, or a calculated
value.
Remarks This function returns the year of date number. For years in the
1900's, the final 2 digits are returned. For the year 2000 @YEAR
will return the value 100.
Again, the date number is usually supplied by one of the other
date functions; this function is used to extract the year from
one of those functions.
Example CURRENT YEAR @YEAR(@NOW) returns
1980 80
1989 89
1999 99
2000 100
2001 101
2010 110
--------------------------------------------------------------------------
@@ Data
--------------------------------------------------------------------------
Function Returns data from a cell through an indirect reference.
Syntax @@(cellname)
where cellname is a string in quotations or a cell address
Remarks This function will return the contents of the cell named
cellname.
If cellname is a string which looks like a cell address, then @@
will read and return the contents of the cell named cellname.
If cellname is a cell reference, then @@ will use the contents of
cellname as the name of the cell to retrieve data from.
@@ is typically used in macros, where you may need to retrieve
the contents of certain cells automatically.
Example If cell B5;1 contains the text Overdue and cell A1;1 contains the
text 'B5;1, then
@@(A1;1) and @@("B5;1")
will both return the label Overdue
152
PROQUBE LITE APPLICATIONS
ProQube Lite provides a built in programming language which you can use to
create any application, from a simple time-saving keystroke repeating
routine to a fully customized business application.
A ProQube Lite application program simply consists of a text file
containing the commands which you would like ProQube Lite to execute. You
may give your program files any valid DOS name, but the extension must be
.PQM (for example MYPROG.PQM). Your application program can consist of
keystroke macros, ProQube Command Language (PCL) commands, or both.
Macros A keystroke macro is simply a sequence of keystrokes following
the apostrophe character '. When ProQube Lite encounters one of
these keystroke sequences in your program, it simply treats the
keystrokes as if you typed them in yourself. For example, if you
place the line:
'/sci2<Enter>
into your application program, then ProQube Lite will
automatically insert two columns when it executes this line. It
does this by first typing the / character (which will bring up
the menu), then S (for slice), then C (for column), then I (for
insert), then the number 2 (to insert 2 columns), and finally the
<Enter> key (to complete the command).
Commands The ProQube Command Language (PCL) is a set of instructions which
provides flexible I/O capabilities, numerous control structures,
file, printer, and DOS access, and more. In fact, you may find
that the PCL commands are so versatile that many of your
application programs will need few if any keystroke macros.
153
CREATING AN APPLICATION
The easiest way to create a keystroke macro is with ProQube Lite's Macro
Recorder. To begin recording a macro, you simply press the <^F10> key.
You then press the key you want to assign the macro to, and begin typing
the keys to record. When you are ready to stop recording, just press the
<^F10> key again. Your macro will be stored in a file whose name
corresponds to the key you assigned the macro to. For example, a macro
assigned to <Ctrl>T would be named CTRLT.PQM.
Later, when you press <Ctrl>T, ProQube Lite will look for the application
file CTRLT.PQM, and run it if it exists. If it doesn't exist, then an
error message will pop up. Applications or keystroke macros can be
assigned to just about any key which isn't already defined and used by
ProQube Lite. For example, you can't redefine the arrow keys to do
something else, but you can assign other keys to do the same thing as the
arrow keys.
Applications may also be created with a text editor, just as you would
write a program in any programming language. ProQube Lite applications are
not limited to simple keystroke macros. ProQube Lite supplies a rich
programming language which provides flexible I/O capabilities, numerous
control structures (IF/THEN/ELSE, FOR/NEXT, REPEAT/UNTIL, WHILE/ENDWHILE,
etc), access to DOS commands and external programs, file access commands,
and more.
These applications can be written using either the simple editor which
ProQube Lite provides (/Macro Edit), or outside of ProQube Lite with your
own text editor. You may give your application any valid DOS name (the
extension must be .PQM), including one of the keystroke names (such as
ALTX.PQM). This allows you to run extremely powerful applications at the
press of a key.
There are a number of advantages to having applications reside in a file
rather than in the worksheet itself.
- The application can load and save data files without being written over
by the incoming worksheet.
- You can create large libraries of applications and macros which can be
used in any worksheet without having to load the entire library into memory
each time.
- Large applications can be broken into smaller parts, and only the part
which is running needs to be in memory. This means you can create and run
applications which would normally require more memory than is available.
154
RUNNING AN APPLICATION
Once you have created your application program, you will probably want to
run it. There are several ways to run a ProQube Lite application program
which you have created.
/Macro Run You can run an application program from the menus using the
/Macro Run command. You will be asked for the name of the
application program to run. If you press <Enter> without
entering a name, the ProQube Lite file manager will pop up
from which you may select the application from.
Keystroke If you have named your application with one of the keystroke
names, you can run the application by pressing the key. For
example, if the application file is named CTRLX.PQM then
pressing <Ctrl>X will run the application.
Worksheet You can also give your application the same name as one of
your worksheets (except that the extension will be .PQM
instead of .PQS). When a new data file (.PQS) is retrieved,
ProQube Lite will check for a corresponding application to
run. For example, when you retrieve INVOICE.PQS, then
ProQube Lite will look for and run the application
INVOICE.PQM (if it exists).
If an error is encountered when running an application, then an error
message will first be displayed. Then, when you press a key to continue,
ProQube Lite will load the application into the editor, and place you on
the line where the error occurred to allow you to fix the problem.
155
LANGUAGE DESCRIPTION
A ProQube Lite application program is one or more lines of text residing in
an ASCII file. There are four different types of lines which you can put
in your application; comments, labels, macros, and commands. The first
character of each line of text determines what type of command that line
is. Each line of your application program will begin with one of four
different characters, a pound sign (#), an apostrophe ('), a colon (:), or
an exclamation mark (!).
Comments A line which begins with an exclamation mark (!) is simply a
comment. All of the characters on the line after the ! are
ignored when ProQube Lite runs the application program. The sole
purpose of comments is to make your programs easier to understand
when you read them.
Example:
! This is a comment
This line is ignored when ProQube Lite encounters it in an
application program.
Labels A line which begins with a colon (:) is a label. A label is
simply a string which marks a specific position in the
application program.
Example:
:MyLabel
This line does nothing when it is encountered in a ProQube Lite
application program. Some ProQube Lite PCL commands (such as
#GOTO) use labels as a place to jump to for further processing.
Macros A line which begins with an apostrophe (') is a sequence of
direct keystrokes (keystroke macro) which you want ProQube Lite
to execute. Keystrokes which are printable ASCII characters
(letters, numbers, symbols, etc.) are displayed in their
printable form. Keystrokes which are NOT printable ASCII
characters (such as function keys, Ctrl and Alt key sequences,
cursor movement keys, etc.) are displayed as the name of the key
enclosed in angle brackets <>. For example, the <Enter> key is
displayed as <Enter>.
Example:
'/cfcn2<Enter>
This line causes the current cell to be formatted as currency
156
with 2 decimal places and no commas. This is done because
ProQube Lite processes each keystroke in the line just as if you
typed it in yourself.
The / key is processed, which summons the main menu
The C key is processed, which selects the "Cell" option
The F key is processed, which selects the "Format" option
The C key is processed, which selects the "Currency" option
The N key is processed, which selects the "NoComma" option
The number "2" is processed, which types 2 in as the number of
decimal places
The <Enter> causes the <Enter> key to be processed (this is one
of the special keys), which enters the number 2 as the number of
decimal places.
Keystroke macros can even be read from cells. Simply follow the
apostrophe with the cell name enclosed in square brackets. For
example, if you want the keystrokes to be read from cell B5;3,
simply use the line:
'[B5;3]
Commands A line which begins with a pound sign (#) is a ProQube Command
Language (PCL) command. It is these commands which provide the
muscle for sophisticated application development. These commands
are described in the next section.
ProQube Lite makes the assumption that you want to create easy to read and
well commented programs. Since ProQube Lite ignores blank lines and
leading spaces, you may use indentation to show various levels in your
programs. You can also feel free to comment your program as heavily as you
like, because ProQube Lite does not load your comments into memory when
running an application.
157
SPECIAL KEY NAMES
Although the letter, number, and symbol keys can be directly referenced by
their character, several keys cannot be referred to using a single
character. ProQube Lite gives each of these keys its own name. When one
of these keystrokes is encountered in a keystroke macro, the name of the
key is surrounded by angle brackets <> so that ProQube Lite can tell it
apart from regular characters. When the keystroke is used as the name of
an application file, then the angle brackets (and certain other characters
are not used because DOS will not allow them. Below is a list of special
keystrokes, and the name of the keystrokes when used both in a macro and as
a file name.
KEY SEQUENCE KEYSTROKE NAME FILE NAME
<BkSp> <BkSp> N/A
<^BkSp> <^BkSp> N/A
<Esc> <Esc> N/A
<Enter> <Enter> N/A
<Tab> <Tab> N/A
<^Alt> - <Ctrl>Z * <CtrlA> - <CtrlZ> CTRLA.PQM-CTRLZ.PQM
<Alt>A - <Alt>Z <AltA> - <AltZ> ALTA.PQM-ALTZ.PQM
<Home> <Home> N/A
<End> <End> N/A
<Left> <Left> N/A
<Right> <Right> N/A
<Up> <Up> N/A
<Down> <Down> N/A
<PgUp> <PgUp> N/A
<PgDn> <PgDn> N/A
<Ins> <Ins> N/A
<Del> <Del> N/A
<F1> - <F10> <F1> - <F10> N/A
<Shift><F1> - <Shift><F10> <ShF1> - <ShF10> SHF1.PQM-SHF10.PQM
<^F1> - <^F10> <^F1> - <^F10> N/A
<Alt><F1> - <Alt><F10> <AltF1> - <AltF10> ALTF1.PQM-ALTF10.PQM
<^Left> <^Left> N/A
<^Right> <^Right> N/A
<^Home> <^Home> N/A
<^End> <^End> N/A
<^PgUp> <^PgUp> N/A
<^PgDn> <^PgDn> N/A
* <^H>, <^I>, and <^M> are not available as file names.
158
THE PROQUBE COMMAND LANGUAGE
The ProQube Command Language (PCL) is a set of powerful commands which you
can use in your application programs to create menus, pop up windows,
access files, and even run other programs.
Each PCL command is a single word prefixed with the # character (for
example #OUTPUT). Most of these PCL commands require additional
information on the same line. These additional pieces of information are
known as arguments. If you have more than one argument on a line, you must
separate them from each other with either a space or a comma. Also, if any
of your arguments are text strings which have a space or comma in it, then
you must surround the text string with quotes so that ProQube Lite knows to
keep the text together.
Example The command #OUTPUT (which writes text onto the screen) requires
3 arguments; the column and row on the screen to write to, as
well as the text to write, like this:
#OUTPUT 5,10 "This is some text"
The PCL command is #OUTPUT, and the three arguments are 5, 10,
and "This is some text".
The arguments for each of the PCL commands is considered by default to be
either a constant numeric or text value. There are many times, however,
when it is desirable (or necessary) to use the result of a formula instead.
ProQube Lite allows you provide a formula for an argument by simply
enclosing the argument in square brackets [] (you don't need to add the
leading equal sign).
Example The format for the #OUTPUT command is:
#OUTPUT x,y line
By default, ProQube Lite expects something like:
#OUTPUT 5,10 "This is some text"
This line in an application tells ProQube Lite to write the
string This is some text starting in the 5th column and 10th row
of the screen.
Suppose, however, that you wanted to output the value of cell
A1;1 instead of the constant "This is some text". Then you would
simply use the line:
#OUTPUT 5,10 [A1;1]
Or if you wanted to output the contents of cell A1;1 in all upper
case you would use:
159
#OUTPUT 5,10 [@upper(A1;1)]
This method works just as well for numeric arguments as for text
arguments. Suppose you wanted to output the string "This is some
text" starting in the 5th column, but you wanted the row to be
the value in cell A1;1. You would use:
#OUTPUT 5,[A1;1] "This is some text"
160
INPUT/OUTPUT
The I/O commands provide a variety of ways to read data from the keyboard,
output to the screen and printer. There are also commands to create
customized help and error systems. You may also generate delays and
audible tones.
#BOX Displays a box on the screen.
#CLEARBOX Clears the most recent box placed on the screen.
#EDIT Displays a prompt and allows editing of a cell's
contents.
#INPUT Prompts for and accepts input from the keyboard.
#KEY Prompts for and reads a keystroke.
#MENU Creates and displays a menu on the screen.
#MENUITEM Defines an item and its help line for a menu.
#OUTPUT Displays text on the screen.
#PRINT/#PRINTLN Sends data to your printer.
#RESTORE Restores the ProQube Lite screen.
#UPDATE Enables or disables screen updating.
#WAIT Prompt and wait for a key press.
#WINDOW Displays a window on the screen.
#WINTEXT Displays text in a window.
DATA
The data commands allow your application to move to or manipulate data in
cells of the worksheet.
#ASSIGN Assigns a value to a cell.
#DEC Decrements a cell's value.
#INC Increments a cell's value.
#LOCATE Moves the cell pointer relatively.
CONTROL
The control commands provide the ability to loop, perform conditional or
unconditional branching, and call subroutines.
#BREAK Enables/disables breaking out of a program.
#CALL Calls a subroutine.
#EXIT Ends the application program.
#FOR/#NEXT Repeats commands a fixed number of times.
#GOTO Branches to another part of the program.
#IF/#ELSE/#ENDIF Executes a set of commands if a condition is true.
#REPEAT/#UNTIL Repeats some commands until a condition is true.
#WHILE/#ENDWHILE Repeats some commands while a condition is true.
161
DEBUGGING
The debugging commands allow you to single step, set conditional or
unconditional breakpoints, and evaluate and change cells while an
application is running.
#EDITERR Enables or disables automatic editing of errors.
#STEP Enables or disables single stepping.
--------------------------------------------------------------------------
#ASSIGN Data
--------------------------------------------------------------------------
Function Assigns a value to a cell.
Syntax #ASSIGN cellname value
Remarks This command allows you to assign a value to a cell without
having to move to it first. cellname can be either a cell
address or a named block. value can be either a number or text.
Example #ASSIGN B5;3 123.45
#ASSIGN C6;7 "January"
#ASSIGN interest .1
#ASSIGN A1;1 [@SIN(A1;1)]
162
--------------------------------------------------------------------------
#BOX Input/Output
--------------------------------------------------------------------------
Function Displays a box on the screen.
Syntax #BOX x1,y1,x2,y2 save title
Remarks This command displays a box on the screen. The upper left corner
of the box is located at screen position x1, y1, and the lower
right corner of the box is located at position x2, y2. save
determines whether ProQube Lite saves the contents of the screen
under the box before displaying it. If save=0, then the screen
contents are not saved. If save=1, then the screen contents are
saved, and can be restored using the #CLEARBOX command. Saving
the screen contents requires extra memory, so if it isn't
necessary to restore the contents, it is best to set save to 0.
The #RESTORE command will restore the ProQube Lite screen even if
it wasn't saved, so you can use #BOX with save=0 to clear the
screen to begin your application.
See Also #WINDOW, #CLEARBOX, #RESTORE
Example #BOX 1,1,80,25 0 "Main Screen"
this command clears the screen with the title Main Screen.
#BOX 10,10,40,15 1 "Dialog Box"
--------------------------------------------------------------------------
#BREAK Control
--------------------------------------------------------------------------
Function Enables/disables breaking out of programs.
Syntax #BREAK 0/1
Remarks This command allows you to enable or disable the ability to break
out of an application program while it is running by pressing
<^F3>. By default, an application will exit when <^F3> is
pressed. This command provides the capability to prevent a user
from breaking out of your application. It is best to leave
breaking enabled when creating your application.
Example #BREAK 0
causes your program to ignore <^F3> when it is pressed.
#BREAK 1
causes your program to exit when <^F3> is pressed.
163
--------------------------------------------------------------------------
#CALL Control
--------------------------------------------------------------------------
Function Calls a subroutine.
Syntax #CALL label / #RETURN
Remarks This command causes execution of the program to continue at
label. When the #RETURN statement is encountered, the program
branches back to the line immediately following the original
#CALL command.
This command allows you to create program segments which can be
called from several places.
See Also #GOTO
Example #CALL MyLabel
#OUTPUT 10,11 "Print this second"
#EXIT
:MyLabel
#OUTPUT 10,10 "Print this first"
#RETURN
The #CALL statement branches to MyLabel and executes lines until
the #RETURN command, then returns back to the line following the
#CALL statement.
164
--------------------------------------------------------------------------
#CLEARBOX Input/Output
--------------------------------------------------------------------------
Function Clears the most recent box placed on the screen.
Syntax #CLEARBOX
Remarks This command clears the last box placed on the screen (by #BOX or
#WINDOW) and replaces the data which was under it. This command
only has an effect if #BOX or #WINDOW set the save option to 1
(meaning to save the screen contents).
See Also #BOX, #WINDOW, #RESTORE
Example !This line draws a box on the screen
#BOX 10,10,40,15 1 "My Box"
!This line clears the box off the screen
#CLEARBOX
--------------------------------------------------------------------------
#DEC Data
--------------------------------------------------------------------------
Function Decrements a cell's value.
Syntax #DEC cellname x
Remarks This command decrements (reduces) the value in cellname by x. If
you don't supply x, then a value of 1 is assumed.
See Also #INC, #ASSIGN
Example #DEC B5;3 6.05
decrements the value in B5;3 by 6.05
#DEC B5;3
decrements the value in B5;3 by 1
165
--------------------------------------------------------------------------
#EDIT Input/Output
--------------------------------------------------------------------------
Function Prompts and allows editing of a cell's contents.
Syntax #EDIT x,y cellname len prompt
Remarks This command displays prompt at position x,y on the screen,
followed by the contents of cellname. You are then allowed to
edit the contents of cellname. len is the maximum number of
characters which is displayed and which you are allowed to enter
or edit.
See Also #INPUT
Example #EDIT 40,4 a1;1 6 "Invoice #"
displays Invoice # at position 40,4 on the screen, followed by
the contents of cell A1;1. You will only be allowed to enter 6
characters (or less).
--------------------------------------------------------------------------
#EDITERR Debugging
--------------------------------------------------------------------------
Function Enables or disables automatic editing of errors.
Syntax #EDITERR 0/1
Remarks When ProQube Lite encounters an error in an application, it
displays an error message, then calls up the macro in the macro
editor. The cursor is placed on the line where the error
occurred so that you can fix the problem.
There may be times when you do not want ProQube Lite to call up
the application for editing. #EDITERR allows you to disable this
feature.
Example #EDITERR 0
disables automatic error editing
#EDITERR 1
enables automatic error editing
166
--------------------------------------------------------------------------
#EXIT Control
--------------------------------------------------------------------------
Function Ends the application program.
Syntax #EXIT
Remarks This command terminates the current application program. If the
current program was called by another program using the #RUN
command, then control is returned to the calling program.
Example #IF A1;1>0
#EXIT
#ENDIF
These lines cause an application to exit if the value of cell
A1;1 is greater than zero.
--------------------------------------------------------------------------
#FOR / #NEXT Control
--------------------------------------------------------------------------
Function Repeat commands a fixed number of times.
Syntax #FOR cellname start end step
{some commands}
#NEXT
Remarks This command creates a loop which can perform a set of commands a
certain number of times. The value of start is placed in
cellname. and as long as the value of cellname does not exceed
the value of end, the set of commands between the #FOR and #NEXT
command will be executed. Each time the #NEXT command branches
back to the #FOR command, the value in cellname will be
incremented by step and compared with end.
It is also legal for step to be a negative value, in which case
the #FOR loop will continue until start is less than end.
The value in cellname may be used anywhere within the loop.
See Also #REPEAT, #WHILE
Example #FOR a1;1 1 10 2
#OUTPUT 1,[a1;1] "Hello World"
#NEXT
Writes the string "Hello World" on the screen on lines 1, 3, 5,
7, and 9.
167
--------------------------------------------------------------------------
#GOTO Control
--------------------------------------------------------------------------
Function Branches to another part of the program.
Syntax #GOTO label
Remarks This command causes the program to continue execution at the
given label. The label may be either before or after the #GOTO,
but it must be in the same program file.
See Also #CALL
Example #GOTO MyLabel
#OUTPUT 10,10 "Don't print this"
:MyLabel
#OUTPUT 10,10 "Print this instead"
--------------------------------------------------------------------------
#IF / #ELSE / #ENDIF Control
--------------------------------------------------------------------------
Function Executes a set of commands if a condition is true.
Syntax #IF boolean formula
{some commands}
#ELSE
{some commands}
#ENDIF
Remarks This command evaluates boolean formula, and if it is true,
continues executing commands until #ELSE or #ENDIF is reached.
All commands between the #ELSE and #ENDIF will be ignored.
If boolean formula is false, then the program branches from the
#IF to the #ELSE command (if there is one) and executes the
commands between #ELSE and #ENDIF.
Example #IF a1;1=1
#OUTPUT 10,10 "It's equal to one"
#ELSE
#OUTPUT 10,10 "It's not equal to one"
#ENDIF
If the value of cell A1;1 equals one, then the line It's equal to
one will be output, otherwise the line It's not equal to one will
be output.
168
--------------------------------------------------------------------------
#INC Data
--------------------------------------------------------------------------
Function Increments a cell's value.
Syntax #INC cellname x
Remarks This command increments (increases) the value of cellname by x.
If you do not specify x, then a value of 1 is assumed.
See Also #DEC, #ASSIGN
Example #INC B5;3 6.05
increments the value in B5;3 by 6.05
#INC B5;3
increments the value in B5;3 by 1
--------------------------------------------------------------------------
#INPUT Input/Output
--------------------------------------------------------------------------
Function Prompts for and accepts input from the keyboard.
Syntax #INPUT x,y cellname len prompt
Remarks This command displays prompt at position x,y on the screen. You
are then allowed to enter some text which will be entered into
cellname. len is the maximum number of characters which you are
allowed to enter.
See Also #EDIT
Example #INPUT 40,4 a1;1 6 "Enter the sales for May "
displays Enter the sales for May at position 40,4 on the screen.
You will only be allowed to enter 6 characters (or less).
Whatever you type will be entered into cell A1;1.
169
--------------------------------------------------------------------------
#KEY Input/Output
--------------------------------------------------------------------------
Function Prompts for and reads a keystroke.
Syntax #KEY x,y cellname prompt maskchars
Remarks This command displays prompt at position x,y, and waits for you
to press a key. The #KEY command will automatically place the
keystroke pressed into cellname. The returned keystroke will be
a letter, number, or symbol if it is regular ASCII. If it is a
special key like a control or alternate sequence, cursor key, or
function key, it will be in angle brackets like this: <Enter>,
<PgUp>, <F1> or <^S>.
maskchars is an optional argument which allows you to force #KEY
to accept only certain characters. If you leave maskchars blank,
then #KEY will accept any key pressed. If maskchars is a
character (or list of characters), then #KEY will only accept
those characters (upper and lower case letters are treated as the
same character).
See Also #WAIT
Example #KEY 10,10 a1;1 "Continue?:" y n
displays Continue?: at screen position 10,10, waits for y or n to
be pressed, and then places the name of the key pressed in cell
A1;1.
170
--------------------------------------------------------------------------
#LOCATE Data
--------------------------------------------------------------------------
Function Moves the cell pointer relatively.
Syntax #LOCATE column row page
Remarks This command allows you to move the cell pointer by several rows,
columns, and pages at a time. This saves having to use multiple
<Up>'s, etc. column is the number of columns you want to move to
the right, row is the number of rows you want to move down, and
page is the number of pages you want to move in. You may set
row, column, or page to a negative value to move in the opposite
direction, or to 0 if you don't want to move either direction.
Example #LOCATE 1 -2 3
moves the cell pointer right 1 column, up 2 rows, and in 3 pages.
#LOCATE 0 20 0
moves the cell pointer down 20 rows.
171
--------------------------------------------------------------------------
#MENU Input/Output
--------------------------------------------------------------------------
Function Creates and displays a menu on the screen.
Syntax #MENU x,y cellname helpline title
Remarks This command (along with the #MENUITEM command) allows you to
create and display customized menus from your application
programs. The menu will be placed on the screen at position x,y,
and title will be placed at the top of the menu.
Each item to be displayed in the menu are defined by #MENUITEM
commands following the #MENU command. The help line for each
item will be placed on the screen on line number helpline.
When the user selects an item from the menu, ProQube Lite will
enter the item number into cellname. For example, if the user
selects the 3rd item from the menu, ProQube Lite will enter the
value 3 into cellname. If the user escapes from the menu by
pressing the <Esc> key, ProQube Lite will enter the value 0 into
cellname.
See Also #HMENU, #MENUITEM
Example #MENU 20,10 A1;1 1 "My Menu"
#MENUITEM "Add" "Add a record"
#MENUITEM "Delete" "Delete a record"
#MENUITEM "Quit" "Exit from menu"
These lines create and display a menu with 3 items; Add, Delete,
and Quit. If Delete is selected, then the value 2 is entered
into cell A1;1.
172
--------------------------------------------------------------------------
#MENUITEM Input/Output
--------------------------------------------------------------------------
Function Defines an item and its help line in a menu.
Syntax #MENUITEM item help
Remarks This command defines one of the items in a menu. item and help
are both text strings enclosed in quotes. item and help can also
be cell references or text formulas enclosed in square brackets
to allow you to build menu selection items on the fly.
See Also #HMENU, #MENU
Example #MENU 40,4 A1;1 1 "Title"
#MENUITEM "Add" "Add a record"
#MENUITEM "Delete" [A2;1]
#MENUITEM [A3;1] "Modify a record"
#MENUITEM [A4;1] [A5;1]
--------------------------------------------------------------------------
#OUTPUT Input/Output
--------------------------------------------------------------------------
Function Displays text on the screen.
Syntax #OUTPUT x,y line
Remarks This command allows your application program to write text to the
screen. #OUTPUT will display line at column x and row y on the
screen. x must be in the range 1 to 80, and y must be in the
range 1 to 25.
Example #OUTPUT 40,4 "Hi there"
#OUTPUT 40,4 [A1;1]
#OUTPUT [A2;3],10 "Another line"
173
--------------------------------------------------------------------------
#PRINT / #PRINTLN Input/Output
--------------------------------------------------------------------------
Function Sends data to your printer.
Syntax #PRINT line
#PRINTLN line
Remarks These two commands allow your program to send line to your
printer. The only difference between the #PRINT and #PRINTLN
commands is that the #PRINTLN command sends a CR/LF command to
the printer after it has sent line. This means that you can use
#PRINT several times in a row to print data on the same line. If
you want to just send a blank line to the printer, you can simply
use the command #PRINTLN without any argument.
If you want to print numbers, they must be converted to a string
first. The best way to do this is with the @FORMAT function,
which allows you to format the number in any of ProQube Lite's
formats.
Example #PRINT "Hi there"
#PRINT [A1;1]
#PRINTLN "Hi there"
#PRINTLN [A1;1]
#PRINT [@FORMAT(A1;1,2,3)]
174
--------------------------------------------------------------------------
#REPEAT / #UNTIL Control
--------------------------------------------------------------------------
Function Repeat some commands until a condition exists.
Syntax #REPEAT
{some commands}
#UNTIL boolean formula
Remarks This command repeats a command or set of commands until a
condition becomes true. ProQube Lite executes the commands after
the #REPEAT until the #UNTIL command is reached. ProQube Lite
then evaluates boolean formula, and branches back to the #REPEAT
command if it is false. boolean formula may be any legal ProQube
Lite formula which returns a TRUE or FALSE value.
See Also #FOR, #WHILE
Example #REPEAT
#INC a1;1
#UNTIL a1;1>30
The contents of cell A1;1 is incremented until the contents of
A1;1 is greater than 30.
--------------------------------------------------------------------------
#RESTORE Input/Output
--------------------------------------------------------------------------
Function Restores the ProQube Lite screen.
Syntax #RESTORE
Remarks This command erases all boxes and restores the ProQube Lite
screen. This command should be used by all application programs
before exiting.
See Also #WINDOW, #BOX
Example #BOX 1,1,80,25 0 "Main Title"
#WAIT 10,10 "Press any key to continue"
#RESTORE
These lines draw a full screen box, wait for you to press a key,
then restores the ProQube Lite screen.
175
--------------------------------------------------------------------------
#STEP Debugging
--------------------------------------------------------------------------
Function Enables or disables single stepping.
Syntax #STEP 0/1
Remarks This single command allows you to single step through an
application, set conditional breakpoints, and inspect and edit
cells while your application is running.
When the command #STEP 1 is encountered in a program, single
stepping is enabled. When you are in single step mode, the
bottom line of the screen will display the prompt "SS:", along
with the next line of the application to be executed. You must
press a key (the space bar is good for this) to execute each line
of the program. This allows you to view the operation of your
program one line at a time rather than have it whiz through at
breakneck speed.
At any point while you are single stepping through your
application you may press <^F2>. This key will bring up a menu
of options which allow you to view or change values of cells
which your application might be using.
When the command #STEP 0 is encountered in a program, single
stepping is disabled and execution of the program will continue
normally.
Since single stepping can be turned on or off at any point in
your program, #STEP can be used to set breakpoints in your
application. Simply put a #STEP 1 command at any point of your
program where you want to break from your program.
If you want to set a conditional break point (where the program
will stop only when a certain condition exists), then use a
formula argument for #STEP instead of just 1.
Example #STEP 1
turns on single stepping at any point in the program.
#STEP [A5;1>3]
turns on single stepping only if the value in A5;1 is greater
than 3.
176
--------------------------------------------------------------------------
#UPDATE Input/Output
--------------------------------------------------------------------------
Function Enables or disables screen updating.
Syntax #UPDATE 0/1
Remarks This command toggles ProQube Lite screen updating on and off.
This command is useful to keep screen updating from overwriting
boxes and windows which your application has placed on screen.
#UPDATE 0 disables screen updating, and #UPDATE 1 enables screen
updating. #UPDATE can be used at any point in the application to
turn updating on or off.
Example #UPDATE 0
disables screen updating.
#UPDATE [A1;1>1]
enables screen updating if A1;1 is greater than one.
--------------------------------------------------------------------------
#WAIT Input/Output
--------------------------------------------------------------------------
Function Prompt and wait for a key press.
Syntax #WAIT x,y prompt
Remarks This command displays prompt at screen position x,y, and then
waits for you to press a key. This command is similar to the
#KEY command, except that the keystroke is not saved for
processing.
See Also #KEY
Example #WAIT 10,10 "Press a key to continue"
displays Press a key to continue and waits for you to press a
key.
177
--------------------------------------------------------------------------
#WHILE / #ENDWHILE Control
--------------------------------------------------------------------------
Function Repeat some commands while a condition exists.
Syntax #WHILE boolean formula
{some commands}
#ENDWHILE
Remarks This command repeat a command or set of commands as long as
boolean formula is TRUE. If boolean formula is FALSE when the
#WHILE is first reached, the commands will not be executed at
all.
The #ENDWHILE command will cause execution to branch back to
#WHILE so that boolean formula may be tested again.
See Also #FOR, #REPEAT
Example #WHILE a1;1<10
#INC a1;1 1.3
#ENDWHILE
While the value in cell a1;1 is less than 10, ProQube Lite will
increment the value of cell a1;1 by 1.3.
178
--------------------------------------------------------------------------
#WINDOW Input/Output
--------------------------------------------------------------------------
Function Displays a window on the screen.
Syntax #WINDOW x1,y1 save title
Remarks This command is a special version of the #BOX command. This
command, along with the #WINTEXT command, allows you to easily
create text windows without having to calculate how wide and tall
the box should be, or what screen coordinates to use to display
text in the box.
This command displays a box on the screen. The upper left corner
of the box is located at screen position x1,y1, and the position
of the lower right corner of the box is calculated by ProQube
Lite based on the number and length of the following #WINTEXT
commands.
save determines whether ProQube Lite saves the contents of the
screen under the box before displaying it. If save equals 0,
then the screen contents are not saved. If save equals 1, then
the screen contents are saved, and can be restored using the
#CLEARBOX command.
See Also #WINTEXT, #BOX, #CLEARBOX, #RESTORE
Example #WINDOW 10,5 1 "My Window"
#WINTEXT "Here is some text"
#WINTEXT ["Name: "+a1;1]
#WINTEXT "Some more text"
These lines will create a box with the title My Window at
position 10,5 on the screen. The box will be large enough to
hold 3 lines of text, and wide enough to hold the widest of the 3
lines.
179
--------------------------------------------------------------------------
#WINTEXT Input/Output
--------------------------------------------------------------------------
Function Displays text in a window.
Syntax #WINTEXT line
Remarks This command displays line in the currently defined window.
#WINDOW will automatically adjust the size of the window to hold
the width of line.
See Also #WINDOW
Example #WINDOW 10,5 1 "My Window"
#WINTEXT "Here is some text"
#WINTEXT ["Name: "+a1;1]
#WINTEXT "Some more text"
These lines will create a box with the title My Window at
position 10,5 on the screen. The box will be large enough to
hold 3 lines of text, and wide enough to hold the widest of the 3
lines.
180
APPENDIX A SUPPLEMENT PROGRAMS
ProQube Lite provides a QubeCalc conversion program, and a setup program
which allows you to customize ProQube Lite's appearance and functionality.
QUBECALC CONVERSION PROGRAM
ProQube Lite provides a conversion program to translate your QubeCalc data
files into the ProQube Lite format. To run the conversion program, type:
CONVERT filename<Enter>
at the DOS prompt, where filename is the name of the QubeCalc file you want
converted.
The convert program will read the QubeCalc file into memory, and write a
ProQube Lite file back out to disk (your original QubeCalc file is not
modified in any way). The convert program will create the ProQube file in
the same directory that the QubeCalc file is in, so you may want to copy
the QubeCalc files into your ProQube Lite directory before running the
convert program.
Since QubeCalc and ProQube Lite are not just different versions of the same
program, there are several limitations to the conversion which this program
can do:
1) The @cell, @index, and @cgr functions in QubeCalc do not work exactly
the same way in ProQube Lite. When one of these @functions is encountered
during the conversion, a message is displayed that the convert program
could not translate that formula. You need to reenter these particular
formulas in by hand in ProQube Lite.
2) Linking to other spreadsheets on disk is performed differently in
ProQube Lite than it was in QubeCalc. If your QubeCalc worksheets use the
/Block Link command, then you need to re-establish those links in ProQube
Lite using the /File Link command.
3) Column widths are not transfered in the conversion.
181
THE SETUP PROGRAM
ProQube Lite includes a setup program which allows you to customize the
functionality and appearance of ProQube Lite on your system. To run the
setup program, simply type:
SETUP<Enter>
at the DOS prompt.
The setup program will display the following menu at the top of the screen:
Colors Defaults Update Quit
Colors This option allows you to select which colors ProQube Lite should
use for the different parts of the display. When you select this
option you will see a menu listing the various parts of the
screen which may be changed, as well as a sample display showing
the current colors.
You may then select an item you want to change the color of (for
example, the axes and cell pointer). A window will pop up which
displays all of the colors available. You select the color you
want by moving the cursor to that color with the arrow keys and
pressing <Enter>. The sample display will be updated to show the
new color you just selected.
When you are satisfied with the screen colors, simply press <Esc>
to return to the main menu. Make sure you use the Update command
from the main menu to make your changes permanent.
Defaults This option allows you to set various options which affect how
ProQube Lite operates. All full screen menu will appear which
shows the options as well as their current values. You can
select an item to modify by pressing the first letter of the
item, or by highlighting the item using the <Up> and <Down> key
and pressing <Enter>.
43 Row Mode This option allows ProQube Lite to start up
in 43 line mode if you have an EGA or VGA
card.
Insert Mode This option allows you to set ProQube Lite to
default to either insert mode or overwrite
mode.
Black & White Setting this option to YES causes ProQube
Lite to use black and white whether a color
card is detected or not. This is useful when
your system has a color card but a monochrome
monitor. This particular combination of
hardware often causes problems with colors
182
which are not visible on screen.
Menu Style This option allows you to select whether
ProQube Lite uses BackTrack menus or Lotus
style menus. With BackTrack menus, the
previous menu levels remain on screen so that
you can see how you got to the current menu
level. Lotus style menus write over previous
menu levels.
Currency/Number This option allows you to select the format
to use for numbers and currency. Normally
ProQube Lite uses a period for the decimal
point, and a comma as the separator between
thousands, millions, etc. Many countries use
these characters in the opposite manner. If
you choose to use the comma for the decimal
point, then you must use the colon to
separate arguments in @functions.
This option also allows you to select which
character (or characters) to use for your
currency symbol. You may replace the $
symbol with any other available symbol. You
may also set the currency symbol to follow
(suffix) the value rather than prefix the
value.
Page changing This option allows to to swap the functions
of the <PgUp>/<PgDn> keys with those of the
<^PgUp> / <^PgDn> keys. By default ProQube
Lite uses <PgUp> and <PgDn> to move from page
to page within the 3D worksheet, and <^PgUp>
and <^PgDn> to move up and down one screen of
data.
Update This option updates ProQube Lite's configuration file PQLITE.CFG
with the changes you have made from the Colors and Defaults
menus, and then exits from the setup program.
Quit This option allows you to exit from the setup program without
updating ProQube Lite's configuration file PQLITE.CFG. This
command should be used when you want to ignore changes you have
just made to the defaults or colors.
183
APPENDIX B DESIGN HINTS
There are a number of considerations when designing a 3 dimensional
spreadsheet, such as page layout and memory usage.
Page Layout It may take a little practice to get the hang of creating 3D
spreadsheets which look elegant from any perspective. Here
are a few hints to help make things go a little bit
smoother.
Although ProQube Lite will allow each page in the WorkQube
to be completely different, your template should be
consistent from page to page if you want to rotate your
worksheet. For example, if January 1985 data is in column D
in one page, January data for other years should also be in
column D in their respective pages. And if Joe's sales in
one time period are in row 25 in one page, his sales in
other time periods should be in row 25 in the other pages.
This will ensure that similar data will be together when the
WorkQube is viewed from other perspectives.
You will also want to leave the first couple of pages in the
front face available for use as row headings in the right
face.
Memory Usage ProQube Lite's memory allocation scheme is optimized for 3
dimensional data. This means that you will be able to enter
less data into a single large page than into a number of
smaller pages. The more cubic the structure of your
worksheet (rows = columns = pages), the more cells you will
be able to fill with data.
For example, if you find yourself running out of memory with
a one page worksheet which is 10 columns by 500 rows,
breaking your worksheet into ten 10 column by 50 row pages
will solve your problem (and give you memory to spare).
184
INDEX
@functions 93
1-2-3 71, 73
Absolute cell reference 15
Addition 12
Anchor 16
And 12
Application 153
breaking from 41, 163
debugging 40, 166, 176
editor 34, 89
running 91, 155
Arguments 93, 159
Arrow keys 8
ASCII 71, 74
Asterisk 22, 25
Back 28, 61
Block name 14, 16, 39, 51
Blocks, defining 16
Borders 77, 78
Bottom 28
Branching commands 161
Break point 176
CALC 63
Cell 4, 15
Cell pointer 8
CIRC 14
Circular reference 14
Colors 182
Column width 5, 25, 44, 48, 59
Combining files 68
Comma 23
Commands 43
Comparison 12
Configuration 182
Consolidation 26, 75
Converting QubeCalc files 181
Copying
blocks 50
cell 46
columns 54
pages 58
rows 56
Currency format 23
Customize 182
Cut 35
Data entry 10, 42
Data functions 97
Date entry 24
Date formats 24
Date functions 96
185
DBase 71, 73
Decimal places 23
Defaults 182
Defining blocks 16
Deleting
columns 53
pages 57
rows 55
DIF 71, 74
Directory 22, 65
Division 12
Dollar format 23
Editing 11, 38
Editor 34
EGA 42
End key 8
Erasing
blocks 49
cells 45
columns 53
pages 57
rows 55
worksheet 60
Exiting 92
Exponentiation 12
Exporting
1-2-3 73
ASCII 74
dBase 73
DIF 74
Extract 70
Faces 28, 61
File Manager 22, 64, 66
Financial functions 95
Fixed format 23
Fonts 83
Footer 81
Formatting cells 23, 44, 48, 59
Formulas 12, 26
Front 28, 61
Function keys 38
Functions 93
General format 23
GoTo 39
Header 81
Help 7, 38
Hidden
cells 25
columns 44
Highlighting blocks 16
Importing
1-2-3 71
186
ASCII 71
dBase 71
DIF 71
Info 40
Inserting
columns 53
pages 57
rows 55
Installing ProQube Lite 2
Justify 10
Left 28, 61
Linking 26, 75
Locking
cells 62
titles 61
Logical functions 96
Lookup tables 115, 150
Looping commands 161
Lotus 71, 73
Macro 153
breaking from 41, 163
debugging 40, 166, 176
editor 34, 89
recorder 33, 42
running 91, 155
Margins
80, 85
Mark 41
Mask 22, 41, 66
Math functions 93
Memory 42, 184
Menu 43
Mouse 7, 9, 19, 38
Movement 8
Moving
blocks 50
cell 46
columns 54
pages 58
rows 56
Multiplication 12
Named blocks 51
Not 12
Numbers 10
Operating system 92
Operators 12
Or 12
Page 4, 26, 28
Page number 81, 82
Paste 35
PCL 153, 159
Percent format 24
187
Perspective 28
Point mode 13
PQLITE.CFG 183
Precedence 13
Printing
text 32, 77-82, 85
Programming 159
ProQube Command Language 153, 159
Protection 47, 52, 62
QubeCalc 181
Quitting 92
REC 33, 42
Recalculation 63
Recording macros 33, 42
References 15
Relative cell reference 15
Replaying macros 33
Retrieving files 64, 68
Right 28, 61
Rotating 28, 61
Saving files 64, 70
Scientific format 24
Search & replace 39
Setup strings 47, 52, 62, 83
Shell to DOS 92
Single step 176
Sort 86
Statistical functions 94
Status 42
String functions 97
Subroutines 161
Subtraction 12
Text 10
Text editor 34
Text functions 97
Time formats 24
Time functions 96
Title locking 61
ToMark 41
Top 28, 61
Transpose 31
Trigonometry functions 94
Under 28, 61
VGA 42
Views 28, 61
Window 179
WK1 71, 73
WKS 71, 73
WorkQube 4, 5
Xtract 70
Zero suppression 63
188