home *** CD-ROM | disk | FTP | other *** search
/ Best Objectech Shareware Selections / UNTITLED.iso / boss / spre / 002 / aseasy.man < prev    next >
Text File  |  1991-12-13  |  223KB  |  5,959 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.                                                 (tm)
  12.                                     AS-EASY-AS...
  13.                                     Version  5
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.                                    USER'S MANUAL
  22.                                    ~~~~~~~~~~~~~
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.                                      TRIUS, Inc.
  31.                                     P.O. Box 249
  32.                             N. Andover, MA  01845-0249
  33.  
  34.                                  Tel. (508) 794-9377
  35.                                  Fax. (508) 688-6312
  36.                                  BBS  (508) 794-0762
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.                          Copyright 1985 - 1991, TRIUS, Inc.
  47.                            All Rights Reserved Worldwide
  48.  
  49.       +-------------------------------------------------------------------+
  50.       | This document is for evaluating the Shareware copy of AS-EASY-AS! |
  51.       |   Use of the software package and this document beyond a 30-day   |
  52.       |             evaluation period requires registration!              |
  53.       |             ----------------------------------------              |
  54.       |    Distribution of printed copies of this manual is Prohibited!   |
  55.       +-------------------------------------------------------------------+
  56.  
  57.  
  58.     COPYRIGHT NOTICE
  59.     ~~~~~~~~~~~~~~~~
  60.     AS-EASY-AS(tm) is a copyrighted software product developed and owned
  61.     by TRIUS, Inc. located in North Andover, Massachusetts, U.S.A.
  62.  
  63.     You may make and keep back-up copies of the software for your personal
  64.     use, provided that you copy all the copyright, trademark, and other
  65.     information indicated on the initial screen display, on each backup
  66.     copy label.
  67.  
  68.     The rights to receive any financial or other benefit, and to modify
  69.     the product or employ its components in any kind of derivative work,
  70.     are reserved exclusively by TRIUS, Inc.
  71.  
  72.     You may not reverse-engineer, disassemble, modify, decompile or create
  73.     derivative works of the product.  You acknowledge that the product
  74.     includes certain trade secrets and confidential information, all of
  75.     which is the copyrighted intellectual property of TRIUS, Inc.
  76.  
  77.     AS-EASY-AS is a trademark of TRIUS Inc. and the TRIUS Logo is a
  78.     trademark of TRIUS, Inc.  All rights are reserved worldwide.
  79.  
  80.     The AS-EASY-AS User's Manual is copyrighted and all rights are
  81.     reserved. The reproduction of this document, in whole or part, its
  82.     conversion to electronic medium or its distribution in printed form
  83.     (hard copy) are prohibited unless prior consent, in writing, has been
  84.     given by TRIUS, Inc.
  85.  
  86.         EPSON is a trademark of Epson America Inc.
  87.         IBM is a trademark of International Business Machines, Inc.
  88.         LOTUS 1-2-3 is a trademark of Lotus Development Corporation
  89.         HERCULES is a trademark of Hercules Corporation
  90.         MS-DOS is a trademark of Microsoft Corporation.
  91.         SYMPHONY is a trademark of Lotus Development Corporation
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [2] 
  117.     LIMITED WARRANTY
  118.     ~~~~~~~~~~~~~~~~
  119.     This program is provided on an "as is" basis without warranty of any
  120.     kind, expressed or implied, including but not limited to the implied
  121.     warranties of merchantability and fitness for a particular purpose.
  122.     The entire risk as to quality and performance of these programs is
  123.     with you.  Should the program prove defective, you (not TRIUS, Inc.)
  124.     assume the entire cost of all necessary repair, servicing, or
  125.     correction.  In no event will TRIUS, Inc. be liable to you for any
  126.     damages, including any lost profits, lost savings, or other incidental
  127.     or consequential damages arising out of the use or inability to use
  128.     these programs, even if TRIUS, Inc. has been advised of the
  129.     possibility  of such damages.  This warranty gives you specific legal
  130.     rights, and you may also have other rights which vary from state to
  131.     state.  Some states do not allow the exclusion of implied warranties
  132.     or exclusion of liability for incidental or consequential damages so
  133.     the above may not apply to you.  You acknowledge that you have read
  134.     this agreement, understand it, and agree to be bound by its terms and
  135.     conditions.  You further agree that it is the complete and exclusive
  136.     statement of the  agreement between us, which supersedes any proposal
  137.     or prior agreement, oral or written, and any other communications
  138.     between us.
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [3] 
  176.  
  177.     TABLE OF CONTENTS                                                    Page
  178.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  179.     COPYRIGHT NOTICE....................................................   2
  180.     LIMITED WARRANTY....................................................   3
  181.     1. INTRODUCTION.....................................................   4
  182.        WHAT IS A SPREADSHEET............................................   5
  183.     2. OPERATING REQUIREMENTS...........................................   5
  184.        PROGRAM INSTALLATION.............................................   6
  185.        MOUSE INTERFACE..................................................   6
  186.        STARTING THE PROGRAM.............................................   8
  187.        COMMAND LINE SWITCHES............................................   8
  188.        STARTING AS-EASY-AS FROM ANY DIRECTORY...........................  10
  189.        MENUS............................................................  11
  190.        VIEWS/WINDOWS....................................................  13
  191.        SMART CURSOR.....................................................  15
  192.        FUNCTION KEYS....................................................  15
  193.     3. BASICS...........................................................  18
  194.        ENTERING LABELS..................................................  18
  195.        ENTERING VALUES..................................................  18
  196.        ENTERING FORMULAS................................................  19
  197.        ENTERING GRAPHICS CHARACTERS.....................................  19
  198.        EDITING A CELL...................................................  20
  199.        METHODS FOR ENTERING FORMULAS....................................  20
  200.        WHAT IS A RANGE..................................................  21
  201.        DEFINING A RANGE.................................................  22
  202.        POINTING WITH THE ARROW KEYS.....................................  22
  203.        POINTING WITH THE MOUSE..........................................  22
  204.        TYPING...........................................................  23
  205.        NAMING A RANGE...................................................  23
  206.        SETTING FORMATS..................................................  24
  207.        WHY DO YOU NEED FORMATS?.........................................  24
  208.        RELATIVE VERSUS ABSOLUTE ADDRESSES...............................  24
  209.        COPY VALUES......................................................  26
  210.        MOVE VALUES......................................................  26
  211.        MOVE FORMULAS....................................................  27
  212.        RECALCULATION MODES..............................................  27
  213.        CIRCULAR REFERENCES..............................................  28
  214.        SAVING THE WORKSHEET.............................................  28
  215.        Saving PART OF THE WORKSHEET.....................................  29
  216.        RETRIEVING THE WORKSHEET.........................................  29
  217.        COMBINING WORKSHEETS.............................................  30
  218.        LEAVING THE WORKSHEET                                              30
  219.     4. PRINTING.........................................................  32
  220.        PRINTER BORDERS..................................................  33
  221.        MARGINS & PAGE LENGTH - PRINTER OPTIONS..........................  33
  222.        PRINTER OPTIONS - HEADERS & FOOTERS..............................  35
  223.        PRINTER OPTIONS - EMBEDDED CODES.................................  36
  224.        PRINTER OPTIONS - TYPE...........................................  36
  225.        CONTROLLING THE PRINTER..........................................  37
  226.        ASEASY.PRT.......................................................  37
  227.        PRINT TO A FILE..................................................  38
  228.        PRINTING COMBINED TEXT AND GRAPHICS..............................  39
  229.        USING PRINT VIEW.................................................  39
  230.     5. GRAPHICS COMMANDS................................................  40
  231.        GRAPH RANGES.....................................................  40
  232.        FORMAT...........................................................  40
  233.  
  234.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [4] 
  235.     TABLE OF CONTENTS (cont.)                                            Page
  236.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  237.        OPTIONS..........................................................  41
  238.        CUSTOM...........................................................  41
  239.        COMBINING TEXT AND GRAPHICS......................................  44
  240.        SAVING A GRAPH...................................................  44
  241.     6. DATA COMMANDS....................................................  46
  242.        DATA FILL........................................................  46
  243.        DATA TABLE.......................................................  46
  244.        DATA TABLE - 1 INPUT.............................................  46
  245.        DATA TABLE - 2 INPUTS............................................  47
  246.        DATA SORT........................................................  47
  247.        DATA BIN.........................................................  48
  248.        DATA GOAL SEEK...................................................  48
  249.        DATA REGRESSION..................................................  49
  250.        DATA INPUT RANGE.................................................  50
  251.        DATA INPUT FORM..................................................  50
  252.     7. DATABASE OPERATIONS..............................................  52
  253.        INPUT RANGE......................................................  52
  254.        CRITERION RANGE..................................................  52
  255.        OUTPUT RANGE.....................................................  53
  256.     8. MATRIX OPERATIONS................................................  54
  257.        MATRIX EQUATION..................................................  55
  258.     9. FUNCTIONS........................................................  56
  259.        STRING FUNCTIONS.................................................  56
  260.        MATH FUNCTIONS...................................................  62
  261.        FINANCIAL FUNCTIONS..............................................  65
  262.        LOGICAL FUNCTIONS................................................  69
  263.        STATISTICAL FUNCTIONS............................................  71
  264.        SPECIAL FUNCTIONS................................................  74
  265.        DATE AND TIME FUNCTIONS..........................................  78
  266.     10.MACROS...........................................................  81
  267.        DEFINING A MACRO.................................................  81
  268.        EXECUTING A MACRO................................................  82
  269.        MACRO MENU ESCAPE SEQUENCE.......................................  83
  270.        MACRO KEYWORDS...................................................  83
  271.        ADVANCED MACROS..................................................  84
  272.  
  273.        INDEX............................................................ 102
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [5] 
  294.     1. INTRODUCTION
  295.     ~~~~~~~~~~~~~~~
  296.     Thank you for trying out AS-EASY-AS, an excellent spreadsheet program,
  297.     packed with features that can't be found in other packages that cost
  298.     many times more.  Before you rest your fingers on the keyboard and
  299.     start using AS-EASY-AS, its useful to have an overview of the
  300.     capabilities of the program.  Of course, the list below represents
  301.     just a sampling of the many features.  However, it will give you an
  302.     idea of the versatility of AS-EASY-AS:
  303.  
  304.     *  Large size (8,192 Rows by 256 Columns)
  305.     *  Pull Down Menu Interface
  306.     *  Math, Statistical, Logical, Financial, String, Date, Time
  307.         and User Functions
  308.     *  Matrix Operations, Frequency Distribution Tables (Bins)
  309.     *  File Linking
  310.     *  Powerful Graphics
  311.     *  Bar, Line, X-Y, Pie, Stacked Bar, Hi-Lo, Polar, Area, Delta,
  312.        Cumulative, Strip, Wall, Semi-Log, and Log-Log Graphs
  313.     *  X-Y Data Regression
  314.     *  Keyboard and Mouse-based Operation
  315.     *  Preview Mode With Combined Text and Graphics
  316.     *  9/24-pin dot matrix pin, HP Laserjet and HP Pen Plotter Support
  317.     *  Windows!  Up to six resizeable and moveable spreadsheet views
  318.     *  Database Operations, Data Input Forms, Read/Write dBASE Files
  319.     *  Text Search, Replace, Justify
  320.     *  Goalseeking - Desire an answer? Let the computer solve for the input
  321.         value!
  322.     *  User-configurable Printer Setup File
  323.     *  Spreadsheet Auditing Capabilities
  324.     *  Named Range, Function, Macro Selection Lists
  325.     *  Multiple Planes (3-D Simulation)
  326.     *  Macro Programming Language (over 70 powerful macros)
  327.     *  Macro Record/Playback Capability and Single Stepping Through Macros
  328.     *  File Manager
  329.     *  Support of Hercules/CGA/EGA/AT&T/, and VGA graphics cards
  330.     *  Shell to DOS, TRIUS Add-ins, and much, much more .......
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [6] 
  353.     2.  OPERATING REQUIREMENTS
  354.     ~~~~~~~~~~~~~~~~~~~~~~~~~~
  355.     HARDWARE
  356.      AS-EASY-AS is designated to operate on any IBM PC, XT, AT, PS/2 or
  357.      fully compatible computer, as described below:
  358.  
  359.     OPERATING SYSTEM
  360.      AS-EASY-AS will operate using DOS Version 2.11 or later.  It has also
  361.      been tested and works under Windows 3.0 as a DOS application.
  362.  
  363.     MEMORY REQUIREMENTS
  364.      384k minimum RAM.  Spreadsheet data is stored using a sparse matrix
  365.      technique which only allocates space required by each cell.
  366.  
  367.      Expanded Memory is automatically detected and used by AS-EASY-AS.
  368.      If you don't have EMS, you can instruct AS-EASY-AS to use Virtual
  369.      Memory, whereby a hard disk or diskette may be used to emulate EMS.
  370.      If you don't have EMS memory and don't use virtual memory, only
  371.      conventional DOS memory will be used.
  372.  
  373.     DISK DRIVE
  374.      The minimum files required to run AS-EASY-AS are listed in Section
  375.      2 and require less than 360 KB of disk space.  As a result, AS-
  376.      EASY-AS will run on single floppy (720K minimum), dual floppy, or
  377.      hard disk system.  This enables AS-EASY-AS to run on older PCs and
  378.      laptops without hard disks.
  379.  
  380.     VIDEO CARD/MONITOR
  381.      MONOCHROME  - 80x25 text resolution.
  382.      HERCULES - 720x348 resolution.
  383.      COLOR GRAPHICS ADAPTER (CGA) - 640x200 resolution.
  384.      ENHANCED GRAPHICS ADAPTER (EGA) - 640x350 resolution.
  385.      VIDEO GRAPHICS ARRAY (VGA) - 640x480 resolution.
  386.  
  387.     PRINTERS
  388.      AS-EASY-AS will print text and graphics to Epson and compatible 9/24-
  389.      and, Okidata 24-pin dot matrix printers and Hewlett Packard LaserJet
  390.      II and compatible laserjet printers.  It will also work with daisy
  391.      wheel printers, but they will not be able to print graphics.
  392.  
  393.     MOUSE
  394.      AS-EASY-AS may optionally be used with a Microsoft or compatible
  395.      mouse.
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [7] 
  412.     PROGRAM INSTALLATION
  413.     ~~~~~~~~~~~~~~~~~~~~
  414.     Before using AS-EASY-AS, we recommend that a working copy of the
  415.     program be made either on your hard disk or on a separate floppy
  416.     diskette. An installation program provided on the AS-EASY-AS diskette
  417.     makes the process simple.  It will transfer the necessary files from
  418.     the original diskette to your working disk/directory.  There are no copy
  419.     protection schemes or hidden files to wrestle with.
  420.  
  421.     If you are making a working disk, first format two blank diskettes and
  422.     label them AS-EASY-AS #1 and #2.
  423.  
  424.     To make a working copy of the program:
  425.  
  426.      1.  Place the AS-EASY-AS program disk in drive A:
  427.      2.  At the DOS prompt, type A: and press [ENTER]
  428.      3.  Type INSTALL and press [ENTER].
  429.  
  430.     Follow the simple on-screen instructions to specify where to install
  431.     the program.  If you are installing the program on a 360K diskette,
  432.     you will get a message that some file(s) will not fit on the disk.  To
  433.     extract the rest of the files, use an additional disk and start the
  434.     program with the /p command line switch, i.e., INSTALL /p [ENTER].
  435.  
  436.     When the operation is complete, the DOS prompt will reappear on your
  437.     screen.  Place the original diskette in a safe place.  If your working
  438.     diskette later becomes damaged, repeat the above process to make a new
  439.     working disk.
  440.  
  441.     The following files are the minimum required to run AS-EASY-AS:
  442.  
  443.         ASEASY.EXE          ASEASY.MSG         ASEASY.MNU
  444.  
  445.     The rest of the files do not need to be present in your working
  446.     disk/directory to run the program.
  447.  
  448.  
  449.     MOUSE INTERFACE
  450.     ~~~~~~~~~~~~~~~
  451.      AS-EASY-AS may be used with a Microsoft or compatible 2 or 3 button
  452.      mouse.  Some mice have three buttons, while others have two.  AS-
  453.      EASY-AS uses only two buttons on the mouse.  The left button is
  454.      functionally equivalent to the [ENTER] key on the keyboard, and the
  455.      middle and/or right mouse buttons both represent the [ESC] key.  You
  456.      can use the keyboard and mouse equivalents interchangeably.
  457.  
  458.      In text modes, the mouse cursor appears on the AS-EASY-AS screen as a
  459.      block one character in width and height.  The cursor may be moved
  460.      around the screen through corresponding movement of the mouse.
  461.  
  462.      If the left mouse button is "tapped" or "clicked" while on a
  463.      worksheet cell, the worksheet cell pointer will relocate to the cell
  464.      occupied by the mouse cursor.
  465.  
  466.      If the left button is held down while moving the mouse, and the mouse
  467.      cursor reaches a border, the worksheet will start scrolling in the
  468.      direction of mouse movement.  This motion will continue until the
  469.  
  470.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [8] 
  471.      outer limits of the worksheet are reached.  The cell pointer will be
  472.      positioned in the last cell where movement was stopped.
  473.  
  474.      The sensitivity of the mouse while scrolling may cause overshoot of
  475.      the desired window on some fast computers.  If this happens, you can
  476.      move the cell pointer one cell at a time by clicking on the scroll
  477.      bar pointers in the right and bottom borders.
  478.  
  479.      Throughout this manual, when a reference is made to the [ENTER] key,
  480.      the left mouse button will also be implied.  Similarly, when
  481.      reference is made to the [ESC] key, the right mouse button should be
  482.      assumed to perform the same function.
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [9] 
  530.     STARTING THE PROGRAM
  531.     ~~~~~~~~~~~~~~~~~~~~
  532.     The system configuration and certain default parameters can be
  533.     specified when the program is started.  Various configuration options
  534.     can be invoked by a number of command line switches (each switch is
  535.     preceded by a slash [/] character).  Note that most of the same
  536.     defaults can also be changed in the AS-EASY-AS Configuration file.
  537.     See User, Install in Section 10 for further information.
  538.  
  539.     The general form to start the program is:
  540.  
  541.         ASEASY /switch1/switch2/switch3...
  542.                where switch1, switch2,... are explained below
  543.  
  544.  
  545.     COMMAND LINE SWITCHES
  546.     ~~~~~~~~~~~~~~~~~~~~~
  547.     Switches are limited to a maximum of 47 characters on the command line.
  548.     The following command line switch options can appear in any order.
  549.  
  550.  
  551.     ATT - AT&T Monochrome System.
  552.      Set this switch if you are using AS-EASY-AS on an AT&T System to
  553.      produce graphics with a resolution of 640x400.
  554.  
  555.     AUTO=Filename - Autoload Worksheet.
  556.      This switch instructs AS-EASY-AS to automatically load a worksheet
  557.      upon program startup.  Be sure to specify the file's .WKS extension
  558.      and path, if the file is not located in the default directory.
  559.  
  560.      Note: File names containing a hyphen "-" can not be auto-
  561.            loaded. However, the underscore character "_" is
  562.            acceptable.
  563.  
  564.            The file name of an auto-loaded file will not appear
  565.            on the status line.
  566.  
  567.     BK=X  - Screen Blanking Time
  568.      This switch sets the screen blanking time.  If your computer is left
  569.      inactive (no key pressed) for X-seconds, the screen will blank out to
  570.      prevent phosphor burnout due to long periods of reverse video (i.e.
  571.      the BORDERS).
  572.  
  573.      When the screen is blank, pressing any key will re-display the sheet.
  574.      (We suggest using the ESCAPE key).
  575.  
  576.      The default blank out time is set to 5 minutes (i.e., X=300).  If a
  577.      blanking time of 0 is used, screen blanking will be disabled.
  578.  
  579.     DIR=Path - Sets the Default Directory/Data Path
  580.      The default data drive and subdirectory is the drive and subdirectory
  581.      from which the program was started.  This switch allows you to change
  582.      the default drive/directory.
  583.  
  584.     E - Enhanced Graphics Adaptor
  585.      This switch specifies an IBM Enhanced Graphics Adaptor or equivalent
  586.      available for graphics.  The resolution on the EGA screen is 640x350
  587.  
  588.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [10] 
  589.      pixels with multiple colors.
  590.  
  591.     EV - VGA Monitor/Card (640x480)
  592.      Specifies that your computer is equipped with a VGA monitor and
  593.      adapter card, capable of displaying at a 640x480 pixel resolution.
  594.      If your system is equipped with such a monitor/card combination and
  595.      the /EV switch is not used, the program will most likely start up in
  596.      EGA or CGA mode.
  597.  
  598.     H - Hercules System
  599.      This switch specifies that you are using a Hercules Mono-Graphics
  600.      board or clone.  The resolution of the screen, when plotting
  601.      graphics, is 720x348 pixels and will use the first graphics page at
  602.      $b000.  To force graphics to the second graphics page at $b800 follow
  603.      the H with a 2, i.e., H2.
  604.  
  605.     NE - Don't Use Expanded Memory
  606.      Do not use expanded memory, even if it is found on your computer.
  607.      AS-EASY-AS will automatically use all the expanded memory it detects
  608.      unless this switch is used.
  609.  
  610.     MONO  - Monochrome (B&W)
  611.      Change all colors to a white/black color scheme.  This can be used on
  612.      monitors which do not display all colors visibly, such as LCD
  613.      monitors found on most laptops.
  614.  
  615.     NT - Non-Turbo Keyboard
  616.      Cursor movement using the keyboard cursor keys defaults to a "turbo"
  617.      mode.  Turbo speeds up cursor movement on 286 ATs and above.  It may
  618.      not be compatible with some types of computers, such as the PCjr.
  619.      Therefore, the turbo feature may be disabled by use of the NT switch.
  620.  
  621.     RA - Round Absolute
  622.      By setting this switch, the absolute value of negative numbers is
  623.      used when rounding.  If the RA switch is NOT used @Round(1.6,0)=2 and
  624.      @Round(-1.6,0)=1.  If AS-EASY-AS is started with the RA switch,
  625.      @Round(1.6,0)=2 and @Round(-1.6,0)=-2.
  626.  
  627.  
  628.     V1 - CGA Mode
  629.      Force EGA/VGA cards operation to CGA mode.  This might be necessary
  630.      for some non-standard EGA/VGA monitors and video card combinations.
  631.  
  632.     VM=XXX - Use Virtual Memory
  633.      This command line switch instructs AS-EASY-AS to use a disk drive to
  634.      emulate EMS RAM.  XXX represents the maximum number of 2K packages to
  635.      use as EMS memory.  (i.e. /VM=10 is equivalent to 160K of EMS.)
  636.  
  637.     VP=Drive\Path; - Path for Virtual EMS
  638.      Specifies the drive and subdirectory to by used by AS-EASY-AS when
  639.      the /VM switch is used.  The default is the start-up drive\directory.
  640.      You may specify another drive which has more available space to be
  641.      used for the temporary files.  Note the ";" at the end of the path
  642.      name.
  643.  
  644.     Any combination of valid switches (depending on your system) can be
  645.     used.
  646.  
  647.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [11] 
  648.     As an example, ASEASY/E/NE/DIR=C:\DATA instructs AS-EASY-AS to start
  649.     in EGA mode, not to use expanded memory, and set the default data
  650.     drive and directory to C:\DATA.
  651.  
  652.     By creating individual batch files, you could start AS-EASY-AS on a
  653.     number of different systems, without having to remember all the
  654.     switches required.
  655.  
  656.  
  657.  
  658.     STARTING AS-EASY-AS FROM ANY DIRECTORY
  659.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  660.     AS-EASY-AS can be started from any drive/directory on your hard disk
  661.     simply by typing ASEASY.  To do so, you must make sure that the
  662.     directory where the ASEASY program files are located is in your DOS
  663.     path, and you also need to set a DOS environment variable to point to
  664.     that directory.
  665.  
  666.     The variable is ASEASY and it can be set using the DOS SET command,
  667.     e.g.
  668.  
  669.              SET ASEASY=D:\Subdirectory
  670.                         |
  671.                      Drive and directory where the AS-EASY-AS
  672.                      program files are located.
  673.  
  674.     Consult your DOS manual for more information on the PATH and SET
  675.     statements.
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [12] 
  707.     MENUS
  708.     ~~~~~
  709.     All AS-EASY-AS commands are accessed through menus which are invoked
  710.     by pressing the [/] key.  This key is usually located on the lower
  711.     right side of the keyboard, just above the space bar.  An alternate
  712.     key may be specified, refer to User, Install, Punctuate, Menukey for
  713.     details.
  714.  
  715.     If you use a mouse, command menus are invoked by pressing the right
  716.     mouse button when the program is in the Ready! mode.  The main command
  717.     menu will drop down and provide access to all other menu commands.  If
  718.     the right button was selected in error, tapping the right button again
  719.     will return you to the Ready! mode.
  720.  
  721.     In order for your mouse to be operational, your mouse driver needs to
  722.     be loaded prior to starting AS-EASY-AS (see Section 2 on using the
  723.     mouse).
  724.  
  725.     When the [/] key is pressed, the main menu will appear in the
  726.     top left corner of the screen.  As you will see later, window menus
  727.     provide you with a useful trail through the different levels of menus
  728.     in the program.
  729.  
  730.     The first option in the menu will be indicated by a moveable pointer.
  731.     The command area line, on the top of the screen, will display
  732.     additional information about the option or menu choice.
  733.  
  734.     The pointer can be moved by pressing the cursor arrow keys or by
  735.     moving the mouse pointer, if your mouse is active.  [HOME] will move
  736.     the selection bar to the first menu option, while [END] will move it
  737.     to the last one. Pressing [LEFT], [UP] or [BACKSPACE] will move the
  738.     selection bar up. Pressing [RIGHT], [DOWN] or [SPACE] will move the
  739.     selection bar down.
  740.  
  741.     To select a command or sub menu, use the cursor keys to highlight the
  742.     command you want and press the [ENTER] key.  An alternative way is to
  743.     press the key corresponding to the first letter of the desired option.
  744.     For example, when the main menu is displayed, pressing S gets you in
  745.     the Sheet menu, or pressing R gets you in the Range menu, etc.
  746.     Tapping the left mouse button will select the highlighted command.
  747.     Continue the process until the desired command is reached.  Tapping
  748.     the right button once is the equivalent of hitting [ESC], and will
  749.     return you to the previous menu.
  750.  
  751.     Once a selection is made, a new menu window appears in the same
  752.     location. This window is actually made up of two parts. The top part
  753.     displays the option you selected in the previous menu. The bottom part
  754.     is a menu, with the last option selected highlighted.  You can select
  755.     an option from this menu either by highlighting the choice and
  756.     pressing [ENTER] or by pressing the key corresponding to the first
  757.     letter of the option.
  758.  
  759.     To facilitate repetitive tasks, AS-EASY-AS remembers the last sequence
  760.     of menu commands used.  If the main menu is selected a second time,
  761.     you will notice the command last used is highlighted.  To reuse the
  762.     same command, simply press [ENTER] or click the left mouse button to
  763.     select the command, and continue likewise through the submenus.
  764.  
  765.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [13] 
  766.     The display menu window can be shifted between the left and right
  767.     sides of the screen by pressing the period [.] key.  Press period (.)
  768.     again and it returns to its original position.  Once the menu window
  769.     has been placed either on the left or the right side of the screen, it
  770.     will appear there every time the menu is accessed until it is moved
  771.     again or until the program is exited.
  772.  
  773.     Both the width and the position of the menu window can also be
  774.     adjusted by macro commands (see Section 8, Macros).
  775.  
  776.     When the number of selection items is too large, (such as filename in
  777.     a directory) to be displayed on a single screen as may occur during
  778.     /File Retrieve, only a single page at a time is presented.  Viewing
  779.     successive pages can be achieved by moving the cursor past the bottom
  780.     row or using the [PgUp] and [PgDn] keys.
  781.  
  782.     As you can see, with this menuing technique, at any time you can tell
  783.     exactly what you are doing.  If you don't think that this is
  784.     important, consider the following:
  785.  
  786.      Assume that your current menu is displaying the menu of cell FORMAT
  787.      options.  Unless you have kept track of all your previous keystrokes, it
  788.      is very hard to tell exactly what you are trying to format.  This is
  789.      because the FORMAT menu can be accessed from a number of different
  790.      menus as shown.
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [14] 
  825.     VIEWS/WINDOWS
  826.     ~~~~~~~~~~~~~
  827.     AS-EASY-AS has the ability to open up to six windows or views of the
  828.     worksheet at one time.  Worksheet views can be arranged and resized on
  829.     the screen according to your preference.  When multiple views are
  830.     created, only one window can be worked on at a time.  This is called
  831.     the active window and is identified by a blinking cursor.  The [F7]
  832.     key is used to toggle between worksheet views.  The cell pointer
  833.     identifies which view is active.
  834.  
  835.     The windows can be manipulated by using a mouse, or through the View
  836.     menu command.
  837.  
  838.     With a mouse, to resize the window, position the mouse pointer on the
  839.     "┘" character in lower right corner of the window.  Depress the left
  840.     button and drag the mouse to the desired size.  Dragging the "■"
  841.     located in the upper right corner of the window will move the window.
  842.     Positioning the mouse pointer on any portion of an inactive window and
  843.     clicking the left button makes that window active.
  844.  
  845.     The following View menu subcommands allow manipulation of the windows.
  846.  
  847.     OPEN - creates a new view based on the active window.  If this process
  848.     is continued, multiple views of the worksheet will be created.  Up to
  849.     six worksheet views can be created at one time.  Worksheets will
  850.     overlap each other (layer) when opened.  If an attempt is made to open
  851.     a seventh window, an error message will appear warning that the
  852.     maximum number of windows has been exceeded.
  853.  
  854.     CLOSE - will terminate the current worksheet view.  This command can
  855.     be repeated until all views are removed.  Closing a middle view will
  856.     result in the windows being renumbered accordingly.  For example, if
  857.     six window views are created (1,2,3,4,5,6) and window number three is
  858.     closed, windows 5 and 6 will automatically renumber to read
  859.     (1,2,3,4,5).
  860.  
  861.     LAYER - will arrange all the open windows on the screen at once.  [F7]
  862.     is used to toggle between worksheets and is used to select the active
  863.     window.  Each time a new window is opened, it is layered below and to
  864.     the right of the previous window.
  865.  
  866.     ZOOM - will expand the active window to fill the entire screen.  This
  867.     command will allow you to take a closer look at the worksheet.
  868.  
  869.     SIZE - changes the width and/or height of the window.  The smallest
  870.     view size is 22 character columns by 4 character rows. The number of
  871.     columns and rows is dependant on the type of graphics text selected.
  872.     The [up], [down], [left], [right], [home], arrow keys can be used to
  873.     reduce and enlarge the worksheet view.
  874.  
  875.     MOVE - repositions the window on the screen.  To move the worksheet,
  876.     the size of the window must first be reduced to less than full-size.
  877.     Use the cursor keys to move the active window.
  878.  
  879.  
  880.  
  881.  
  882.  
  883.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [15] 
  884.  
  885.     MOVING AROUND THE SHEET
  886.     ~~~~~~~~~~~~~~~~~~~~~~~
  887.     For keyboards with a combined cursor/number key pad, first make sure
  888.     the NUM status indicator is NOT displayed on the status line.  This
  889.     means that the cursor key pad is active.  Next, take a close look at
  890.     the cursor key pad (usually located on the right side of your
  891.     keyboard).  Each key performs the following action:
  892.  
  893.  
  894.      [HOME]          Move the cursor to cell position A1 or the
  895.                      border boundary
  896.      [UP]            Move the cursor up one row
  897.      [PGUP]          Move the cursor up one screen page
  898.      [DOWN]          Move the cursor down one row
  899.      [PGDN]          Move the cursor down one screen page
  900.      [LEFT]          Move the cursor left one column
  901.      [RIGHT]         Move the cursor right one column
  902.      [END]           This key acts in combination with the next
  903.                      cursor key pressed.  It causes the spreadsheet to
  904.                      scan in the indicated direction until a change of
  905.                      state occurs.  For example, a column of numbers
  906.                      with a blank cell in the middle will result in the
  907.                      cursor stopping at the blank cell.  Subsequent
  908.                      [END] [DOWN] will jump to the bottom of the
  909.                      column.
  910.      [END][UP]       Move to far top of range
  911.      [END][DOWN]     Move to far bottom of range
  912.      [END][LEFT]     Move to far left of range
  913.      [END][RIGHT]    Move to far right of range
  914.      [END][HOME]     Move to lower right corner of sheet
  915.  
  916.     Other movement keys:
  917.  
  918.       [TAB]            Move one page right
  919.       [CTRL] [RIGHT]
  920.  
  921.       [SHIFT][TAB]     Move one page left
  922.       [CTRL] [LEFT]
  923.  
  924.       [F5]             Go to specified cell
  925.  
  926.       [F6]             When the /Sheet Window option has been
  927.                        selected, pressing F6 moves the cursor between
  928.                        the two windows. With only one window active,
  929.                        pressing F6 toggles between the current and the
  930.                        last position of the cursor.
  931.  
  932.       [F7]             The F7 function key is used to toggle between
  933.                        worksheet views when multiple windows are
  934.                        created.
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [16] 
  943.  
  944.     SMART CURSOR
  945.     ~~~~~~~~~~~~
  946.     Smart Cursor will automatically move the cell pointer one cell in the
  947.     direction of the last cursor movement after the [ENTER] key has been
  948.     pressed.  Smart Cursor is toggled on/off by pressing the [SCROLL LOCK]
  949.     key.  "SCR" displayed in the status line indicates Smart Cursor is
  950.     active.
  951.  
  952.     When active, if a number is typed into a cell, followed by [ENTER] and
  953.     a cursor key, Smart Cursor remembers the direction of movement.
  954.     Subsequent input of data, followed by [ENTER], will place the data in
  955.     the cell, and move the cursor one cell in the established direction of
  956.     movement.  If a cursur key is again pressed, that direction becomes
  957.     the new direction of movement.
  958.  
  959.     For example, when you type the number 1 in cell A1 and press [ENTER],
  960.     the cursor remains in cell A1.  If you move the cursor to cell A2 and
  961.     type the number 2, the cursor will automatically move to cell A3 after
  962.     [ENTER] has been pressed.
  963.  
  964.  
  965.  
  966.     FUNCTION KEYS
  967.     ~~~~~~~~~~~~~
  968.     F1 - Help Function Key (when ready mode is active)
  969.      To choose among the help topics, press the up/down cursor keys to
  970.      move the highlighted cursor to the one desired.  To move around
  971.      within the help topic list, press the [HOME] key to go to the top of
  972.      the list; the [END] key to go to the bottom of the list; the [PAGE
  973.      UP] key to go to the top the list that is visible on the screen;
  974.      press the [PAGE DOWN] key to go to the bottom of the list that is
  975.      visible on the screen.  To search more quickly for a topic, press the
  976.      first letter of the desired topic.
  977.  
  978.      Press the [ENTER] key to select the topic and the cursor will move to
  979.      the informational help window on the right side of the screen.
  980.  
  981.      Once a help topic has been chosen and entered, use the up/down cursor
  982.      keys to scroll through the file.  The highlighted bottom boundary of
  983.      a file disappears when the end of the file has been reached.
  984.  
  985.      To exit one help topic and enter another, hit the [ENTER] or the
  986.      [LEFT] cursor key, scroll up or down to the desired topic, and hit
  987.      the enter key.  The first letter quick-search method may also be
  988.      used.
  989.  
  990.      To exit the help menu altogether, hit the [ESCAPE] key.
  991.  
  992.     F1 - Help When Entering a Macro
  993.      If you are typing a macro and the last key typed was the "{" key,
  994.      pressing [F1] will open a pick window in the middle of your screen,
  995.      displaying all the macro commands available to you.  Move the cursor
  996.      using the arrow keys, select the macro command you want and press
  997.      [ENTER].  The macro command is inserted, at the cursor position, and
  998.      you are ready to continue typing.
  999.  
  1000.  
  1001.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [17] 
  1002.     F1 - Help When Entering an Equation
  1003.      If you have just entered a valid operator (+, -, *, or /), pressing
  1004.      F1 will display all named ranges defined in the spreadsheet. Select
  1005.      the one you want, using the cursor, press [ENTER] and the named range
  1006.      is inserted in your equation.
  1007.  
  1008.     F1 - HELP When Entering a Function
  1009.      If you have just pressed the "@" key, pressing F1 will open a
  1010.      selection window in the middle of your screen, and will display all
  1011.      the @-Functions available to you.  When the function list appears,
  1012.      move the cursor using the arrow keys, pick the function you want and
  1013.      press [ENTER]. The function is inserted and you are ready to continue
  1014.      typing.  Pressing the [ESC] key, when the function list appears, will
  1015.      cancel the operation but still leave you in the edit mode.
  1016.  
  1017.     F1 - HELP When Entering a Printer Setup Code
  1018.      If you are in the PrintTo Printer Options Setup submenu and are
  1019.      trying to remember a printer setup code, all you need to do is press
  1020.      [\] followed by F1. A selection window displays the setup codes that
  1021.      you have placed in your printer set-up file (see section on Printer
  1022.      Options).  Move the cursor with the arrow keys, select the setup code
  1023.      that you want, and press [ENTER].   AS-EASY-AS will insert the
  1024.      selected printer setup code and you can continue with your next
  1025.      operation.
  1026.  
  1027.      This is a great feature for those who have to use complicated lengthy
  1028.      laser printer setup strings.
  1029.  
  1030.      The F1 option is also available when embedding setup codes directly
  1031.      in a print range (see section on Printer Options).
  1032.  
  1033.  
  1034.      NOTES:  1.  You can still manually enter the setup codes if you prefer.
  1035.  
  1036.              2.  The printer setup file has the name ASEASY.PRT and must
  1037.                  be in the default directory.
  1038.  
  1039.     F2 - Edit Function Key
  1040.      Pressing the F2 function key places a copy of the contents of the
  1041.      current cell on the second line of the command panel area, and
  1042.      invokes the edit mode. For more information about the edit mode
  1043.      options, refer to Section 3.2.
  1044.  
  1045.     F3 - Macro Function Key
  1046.      The F3 function key allows execution of a macro by name or by cell
  1047.      reference. When F3 is pressed, a prompt appears requesting the name
  1048.      of the macro that you want to execute.  The default address is the
  1049.      cell reference specified the last time F3 was invoked during the
  1050.      current session.  You can either type the name of the macro you want
  1051.      to execute and press [ENTER] or press [ESC].
  1052.  
  1053.      Pressing [ESC] in response to the prompt will display a pick list of range
  1054.      names to choose from.  Move the cursor to the desired macro name and
  1055.      press [ENTER].
  1056.  
  1057.      NOTE:  This is the equivalent to the {JUMP NAME} macro command.
  1058.  
  1059.  
  1060.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [18] 
  1061.     F4 - Absolute Address Function Key
  1062.      Pressing F4 when in the middle of entering a formula, makes the
  1063.      address of the current cell absolute (both row and column).  Pressing
  1064.      F4 once more makes only the column of the current cell absolute and
  1065.      pressing it for the third time makes the reference relative.
  1066.  
  1067.      NOTE: This function key is only active when entering an equation
  1068.            in the pointing mode.  It is not active when editing a cell.
  1069.  
  1070.     F5 - GoTo Function Key
  1071.      The GOTO function key allows you to position the cursor on a cell
  1072.      indicated by name or by reference.  When the prompt for the
  1073.      destination appears, pressing [ESC] will present a window of range
  1074.      names from which to choose. The default address is the address
  1075.      specified last time F5 was invoked during the current session.
  1076.  
  1077.     F6 - Window/Location Function Key
  1078.      The F6 function key toggles the cell cursor between the current
  1079.      location and the last location the cell cursor occupied.  When the
  1080.      Sheet, Windows command has been invoked, pressing the F6 key will
  1081.      toggle the cursor between the two windows.  When the Sheet, Borders
  1082.      command has been invoked, pressing the F6 key will toggle the cursor
  1083.      into and out of the border area (only if a border was assigned to one
  1084.      window).
  1085.  
  1086.     F7 - View Key
  1087.      The F7 function key is used to toggle between worksheet views when
  1088.      multiple windows are created.  Up to six window views can be opened
  1089.      but only one window can be worked on at a time.  This is called the
  1090.      active window and is identified by a visable cell pointer.
  1091.  
  1092.     F9 - Calculate Function Key
  1093.      When the ready mode is active, pressing F9 results in all cells being
  1094.      recalculated.
  1095.  
  1096.      Another feature of the F9 key is that it performs the calculation of
  1097.      any equation, at any point in an editing AS-EASY-AS operation.  When
  1098.      editing a formula, pressing F9 replaces the entire formula with its
  1099.      evaluated result.
  1100.  
  1101.      Example:  Cell A1 contains the value 1, and
  1102.                Cell A2 contains the value 2
  1103.  
  1104.      Place the cursor in cell B1 and press the following keys:
  1105.  
  1106.         /scsA1+A2 [F9] [ENTER]
  1107.                        |
  1108.                 Function Key
  1109.  
  1110.      This will set the width of column B to 3, i.e., the value of cell A1
  1111.      plus the value of cell A2.
  1112.  
  1113.     F10 - Graph Function Key
  1114.      Pressing F10 displays the currently defined graph.  If no graph has
  1115.      been defined, a beep will sound and an error message will be
  1116.      displayed.
  1117.  
  1118.  
  1119.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [19] 
  1120.     3. BASICS
  1121.     ~~~~~~~~~
  1122.     This section provides information necessary to perform basic
  1123.     functions, such as entering text, values, and formulas, and editing
  1124.     data once it has been entered.  It also describes basic skills and
  1125.     concepts, such as copying and moving cells, inserting and deleting
  1126.     rows and columns, creating and using range names, and file management.
  1127.  
  1128.  
  1129.     ENTERING LABELS
  1130.     ~~~~~~~~~~~~~~~
  1131.     A label is any sequence of characters which is not preceded with a
  1132.     digit or mathematical operator.  Digits may be entered as labels if
  1133.     they are preceded with an apostrophe ['], a caret  [^], a quote  ["],
  1134.     a backslash [\], or a pipeline [|] character.  These label prefix
  1135.     characters are special formatting characters which perform the
  1136.     following:
  1137.  
  1138.         [']     Left justifies the label within the column
  1139.         [^]     Centers the label within the column.  If the label is
  1140.                 wider than the column, the result is left justified.
  1141.         ["]     Right justifies the label within the column.  If the label
  1142.                 is wider than the column, the result is left justified.
  1143.         [\]     Repeats the character which follows, the width of the
  1144.                 column.
  1145.         [|]     Sends the characters that follow to the printer as a setup
  1146.                 string. (The "|" character is not displayed on screen).
  1147.  
  1148.     The default prefix character is an apostrophe ['] which will
  1149.     automatically be inserted as the first character.  Prefix characters
  1150.     are interpreted as text if they appear other than in the first
  1151.     position of the label.
  1152.  
  1153.     NOTE:
  1154.     Digits that have been entered with a label prefix character are
  1155.     labels.  As a label, the digits will be evaluated as having a value of
  1156.     zero.  Therefore, it is not possible to left or center justify numbers
  1157.     and be able to use them in equations.
  1158.  
  1159.  
  1160.     ENTERING VALUES
  1161.     ~~~~~~~~~~~~~~~
  1162.     A value is any sequence of digits.  AS-EASY-AS supports 11 significant
  1163.     digits.  Large numbers are entered by using exponential notation.
  1164.  
  1165.     For example, the number 2.3x1015 would be entered as 2.3E15 [ENTER].
  1166.  
  1167.     All entries must be completed by pressing the [ENTER] key or one of
  1168.     the direction keys.  If one of these keys has not been pressed, the
  1169.     [BackSpace] key may be used to delete the previously entered digit.
  1170.  
  1171.     The limiting range of numbers recognized by the program is 1.0E-37 <
  1172.     |X| < 1.0E+37
  1173.  
  1174.     If a cell contains only asterisks, "*********", it's an indication
  1175.     that the width of the column is insufficient to hold all the
  1176.     characters required to display the number.  To make the value visible,
  1177.  
  1178.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [20] 
  1179.     either expand the column width or change the format of the
  1180.     cell.
  1181.  
  1182.  
  1183.     ENTERING FORMULAS
  1184.     ~~~~~~~~~~~~~~~~~
  1185.     The power of a spreadsheet stems from its ability to interrelate the
  1186.     contents of its cells.  These relationships are set through the use of
  1187.     formulas that are entered directly into the cells. Once entered, the
  1188.     formulas may be saved with the spreadsheet, copied, edited, or moved
  1189.     etc.  Relationships between cells are formed using algebraic,
  1190.     statistical or logical expressions. Once a formula is typed in and
  1191.     [ENTER] is pressed, it is evaluated and the result is placed in the
  1192.     cell.  The following operators are available for use in cell formulas:
  1193.  
  1194.         [-]     -  negation
  1195.         [+]     -  addition
  1196.         [-]     -  subtraction
  1197.         [*]     -  multiplication
  1198.         [/]     -  division
  1199.         [!]     -  factorial
  1200.         [%]     -  percent
  1201.         [^]     -  exponentiation
  1202.         [>]     -  greater than
  1203.         [<]     -  less than
  1204.         [=]     -  equal to
  1205.         [<=]    -  less than or equal
  1206.         [>=]    -  greater than or equal
  1207.         [<>]    -  not equal to
  1208.         [()]    -  parentheses
  1209.  
  1210.     A formula must be preceded by one of the following characters:
  1211.                      -  +  (  @   or a digit.
  1212.  
  1213.     The following examples assume that cell A1 contains the value 4.
  1214.  
  1215.         Type           Result   Comment
  1216.         ~~~~~~~~~~~    ~~~~~~   ~~~~~~~~~~
  1217.         1.1+2*3+5^2    32.1     --
  1218.         +A1*2+5.5      13.5     --
  1219.         @SQRT(A1)+5     7.0     --
  1220.         (2*A1+3)*3     33.0     --
  1221.         -5.1+2         -3.1     --
  1222.         2>3               0     Result is False
  1223.         3>2               1     Result is True
  1224.         5<>4              1     Result is True
  1225.         6=5               0     Result is False
  1226.  
  1227.     Parenthesis are used to group calculations and force a specific order
  1228.     of evaluation.  AS-EASY-AS will first evaluate the expression in
  1229.     parentheses, then continue in order of operator precedence.  As an
  1230.     example:
  1231.  
  1232.         (2+3)*6 evaluates to 30, while 2+(3*6) evaluates to 20.
  1233.  
  1234.     Quotes must be used to indicate string arguments.  For example:
  1235.         +"Hello"&" Tom!" will display Hello Tom in a cell.
  1236.  
  1237.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [21] 
  1238.     ENTERING GRAPHICS CHARACTERS
  1239.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1240.     AS-EASY-AS permits entry of high bit ASCII characters (sometimes
  1241.     referred to as graphics or box characters).  To create one of these
  1242.     characters, hold the [ALT] key down and enter the decimal code of the
  1243.     character you want using the numeric pad (on the right side of your
  1244.     keyboard).  When you let go of the [ALT] key, the specified character
  1245.     will appear.  For example, if you type 195 (while holding down the
  1246.     [Alt] key) the character ├ will appear on your screen.  See Appendix E
  1247.     for a listing of ASCII characters.
  1248.  
  1249.     NOTE:   Some graphics characters can be printed only if they are
  1250.             supported by your printer.
  1251.  
  1252.  
  1253.  
  1254.     EDITING A CELL
  1255.     ~~~~~~~~~~~~~~
  1256.     Changes to the contents of a cell may be made by retyping the contents
  1257.     and pressing [ENTER] or by invoking the Edit Mode, using the Edit
  1258.     Function Key [F2].
  1259.  
  1260.     Pressing [F2] causes the contents of the current cell to be placed on
  1261.     line 1 of the command panel.  The mode indicator is changed to EDIT.
  1262.     The character cursor is positioned at the end of the line.  Make
  1263.     changes by moving the character cursor to the desired position and
  1264.     start typing.
  1265.  
  1266.     When in the edit mode with insert active, text under and to right of
  1267.     the cursor will be shifted to the right as characters are typed.
  1268.     Insert can be toggled on/off by pressing the insert [INS] key.  The
  1269.     opposite of insert mode is overwrite mode which is indicated by an
  1270.     increase in cursor size and the display of the OVR status indicator
  1271.     (text will be overwritten by new typing).
  1272.  
  1273.     The following keys may be used to edit:
  1274.  
  1275.         [LEFT]          Move cursor one position to the left
  1276.         [RIGHT]         Move cursor one position to the right
  1277.         [HOME]          Move cursor to the first character position
  1278.         [END]           Move cursor to the last character position
  1279.         [INS]           Toggle between overwrite and insert mode
  1280.         [DEL]           Delete the character underneath the cursor
  1281.         [BACKSPACE]     Delete the character left of the cursor
  1282.         [TAB]           Move 8 positions to the right
  1283.         [SHIFT][TAB]    Move 8 positions to the left
  1284.         [CTRL][RIGHT]   Move to the beginning of the next word
  1285.         [CTRL][LEFT]    Move to the beginning of the previous word
  1286.         [ESC]           Cancel all editing and leave original cell contents
  1287.  
  1288.     After all changes have been made you must press the [ENTER] key to
  1289.     insert the changes into the current cell in the worksheet.
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [22] 
  1297.     METHODS FOR ENTERING FORMULAS
  1298.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1299.     There are two ways to enter a formula into an AS-EASY-AS cell.  One is
  1300.     to type the whole formula and the second is to point to the referred
  1301.     cells.
  1302.  
  1303.     For example let's say that you want to enter the following formula in
  1304.     cell B6.
  1305.  
  1306.         @SUM(A5..A12)+A1/(C6*C8)
  1307.  
  1308.     This could be accomplished in two ways as shown below (assuming that
  1309.     the cursor is already in cell B6).
  1310.  
  1311.     POINTING METHOD:
  1312.     ~~~~~~~~~~~~~~~~
  1313.     TYPE   PRESS               SHOWN ON CONTROL PANEL
  1314.     ~~~~   ~~~~~               ~~~~~~~~~~~~~~~~~~~~~~
  1315.     @SUM(                      @SUM(
  1316.            [LEFT]              @SUM(A6
  1317.            [UP]                @SUM(A5
  1318.            (period).           @SUM(A5..A5
  1319.            [DOWN](7 times)     @SUM(A5..A12
  1320.            )+                  @SUM(A5..A12)+
  1321.            [HOME]              @SUM(A5..A12)+A1
  1322.            /(                  @SUM(A5..A12)+A1/(C6
  1323.            [RIGHT]             @SUM(A5..A12)+A1/(C6
  1324.            *                   @SUM(A5..A12)+A1/(C6*
  1325.            [RIGHT]             @SUM(A5..A12)+A1/(C6*C6
  1326.            [DOWN]              @SUM(A5..A12)+A1/(C6*C7
  1327.            [DOWN]              @SUM(A5..A12)+A1/(C6*C8
  1328.            )                   @SUM(A5..A12)+A1/(C6*C8)
  1329.            [ENTER]             @SUM(A5..A12)+A1/(C6*C8)
  1330.  
  1331.     And the calculated value is displayed in cell B6.
  1332.  
  1333.  
  1334.     TYPING METHOD:
  1335.     ~~~~~~~~~~~~~~
  1336.     With the cursor positioned on cell B6, type:
  1337.  
  1338.         @SUM(A5..A12)+A1/(C6*C8)
  1339.  
  1340.     and press [ENTER].  The calculated value will appear in cell B6, and
  1341.     the above equation will show on the control panel.
  1342.  
  1343.     Cell references can be either absolute or relative.  An absolute cell
  1344.     has the row or column to be fixed preceded by a '$', i.e. $A1 fixes
  1345.     the column portion of the cell reference.  A block copy of a formula
  1346.     with this cell reference will not alter the 'A' portion of the cell.
  1347.     $A$1 fixes both the row and column portion of the cell.  Without the
  1348.     '$' all copies of the cell formula will result in a translation of the
  1349.     cell reference which maintains the relative reference. Cell references
  1350.     must be preceded by either a '+' or '-' sign or a parenthesis.
  1351.  
  1352.     See the section on copying and moving for more information on relative
  1353.     and absolute references.
  1354.  
  1355.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [23] 
  1356.     WHAT IS A RANGE
  1357.     ~~~~~~~~~~~~~~~
  1358.     A range is defined as any rectangular group of cells in the
  1359.     spreadsheet.  A range can be as narrow as a single row in depth or as
  1360.     deep as all the rows in the spreadsheet.  Similarly a range can be as
  1361.     narrow as a single column in width or as wide as all the columns in
  1362.     the spreadsheet (256).
  1363.  
  1364.     A range is described by specifying the upper left cell and lower right
  1365.     cell of the range.  The cells must be separated by two periods '..' .
  1366.     An example of this is A1..D5.  This includes all cells in columns A,
  1367.     B, C and D and rows  1, 2, 3, 4 and 5.
  1368.  
  1369.     The entire group of cells looks like this:
  1370.  
  1371.        A1     B1     C1     D1
  1372.        A2     B2     C2     D2
  1373.        A3     B3     C3     D3
  1374.        A4     B4     C4     D4
  1375.        A5     B5     C5     D5
  1376.  
  1377.  
  1378.     DEFINING A RANGE
  1379.     ~~~~~~~~~~~~~~~~
  1380.     Ranges can be defined by using one of two possible methods:  pointing
  1381.     to the cell or range of cells, or actually typing in the range (upper
  1382.     left cell followed by two periods and then the lower right cell) or
  1383.     range name.
  1384.  
  1385.  
  1386.  
  1387.     POINTING WITH THE ARROW KEYS
  1388.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1389.     Pointing to a cell simply involves moving the cursor.  It is best to
  1390.     use this method in response to COPY or MOVE commands.  When asked for
  1391.     a range, move the pointer.  Notice that the pointer expands on the
  1392.     screen.  In the middle of the leading edge of the pointer you will see
  1393.     a small blinking cursor. This indicates the corner of the range which
  1394.     you can expand or contract.  To switch to the next corner press the
  1395.     period [.].  If you press the period 4 times, you will return to your
  1396.     starting position. When the range has been completely highlighted,
  1397.     press the [ENTER] key. This fixes the range and allows any action to
  1398.     continue. For example, if the range was entered in response to a COPY
  1399.     command, the copy operation be initiated.
  1400.  
  1401.  
  1402.     POINTING WITH THE MOUSE
  1403.     ~~~~~~~~~~~~~~~~~~~~~~~
  1404.     The mouse may be used when building ranges in AS-EASY-AS.  The process
  1405.     of pointing with the mouse is similar to that pointing with the arrow
  1406.     keys. (Note that in order to use the mouse, your mouse driver needs to
  1407.     be loaded prior to starting AS-EASY-AS).
  1408.  
  1409.     When prompted for a cell range, position the mouse pointer at one
  1410.     corner of the range and press the left mouse button.  Keep it
  1411.     depressed as you move the mouse until the desired range is
  1412.     highlighted.  Release the button to signify the end of the range and
  1413.  
  1414.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [24] 
  1415.     click the left mouse button again to confirm the selection (similar to
  1416.     pressing the [ENTER] key at the end of the range definition).  To
  1417.     change the range a second time, hold the mouse button down and repeat
  1418.     the previous step.
  1419.  
  1420.     If you wish to cancel a range or stop the process, tapping the right
  1421.     mouse button will back you through the command.
  1422.  
  1423.     When using the right mouse in conjunction with AS-EASY-AS functions,
  1424.     such as @SUM, the function name and left parenthesis must be typed
  1425.     first,e.g., "@SUM(".  To build the range, position the mouse cursor at
  1426.     the top left cell of the range, depress the left mouse button and
  1427.     build the range. When the range is completed, type the remainder of
  1428.     the function, in our example, this would be the right parenthesis")",
  1429.     and hit [ENTER].  Again, you can proceed back through the range
  1430.     building process by pressing the right mouse button.
  1431.  
  1432.     TYPING
  1433.     ~~~~~~
  1434.     Typing a range may be done by specifying diagonally opposite cell
  1435.     corners of the range.  Each cell reference is separated by one or two
  1436.     periods [.].
  1437.  
  1438.     Example: A1..D5 defines the same range as D1..A5.  When the entry is
  1439.              complete press the [ENTER].
  1440.  
  1441.     NAMING A RANGE
  1442.     ~~~~~~~~~~~~~~
  1443.     A powerful AS-EASY-AS feature is the ability to refer to a range of
  1444.     cells using a name assigned to that range.  Such range names may be
  1445.     used anywhere a cell reference is expected by AS-EASY-AS.  Since a
  1446.     range can also consist of a single cell, this naming ability can be
  1447.     used to create applications and formulas that are easy to understand.
  1448.  
  1449.     For example, let us say that cell A1 contained total income for the
  1450.     month and cell A5 contained total expenses.  If cell A10 contained a
  1451.     formula to calculate the monthly balance, i.e. +A1-A5, then, when you
  1452.     placed the cursor on cell A10, the input line would display  A10:
  1453.     +A1-A5.  If, on the other hand, you had named A1 as INCOME and A5 as
  1454.     EXPENSES, when on A10, the input line would display A10:  +INCOME-
  1455.     EXPENSES, which is much more informative.
  1456.  
  1457.     When entering the formula in A10, with the cells named as above, you
  1458.     could use either the named range or the actual reference.  The
  1459.     keystroke sequences below would yield identical results (assuming the
  1460.     cursor is currently at A10):
  1461.  
  1462.             +A1-A5 [ENTER], or
  1463.             +INCOME-EXPENSES  [ENTER]
  1464.  
  1465.     Ranges are assigned names using the /Range, Name, Create command
  1466.     sequence.
  1467.  
  1468.     Up to 250 named ranges may be defined in a single worksheet.  Each
  1469.     range name can be up to 11 characters long.
  1470.  
  1471.  
  1472.  
  1473.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [25] 
  1474.     SETTING FORMATS
  1475.     ~~~~~~~~~~~~~~~
  1476.     Format refers to the appearance of a cell.  There may be a big
  1477.     difference between the way the contents of a cell is displayed and the
  1478.     way the value of that cell is stored internally.  It helps to keep
  1479.     that in mind at all times.
  1480.  
  1481.  
  1482.     WHY DO YOU NEED FORMATS?
  1483.     ~~~~~~~~~~~~~~~~~~~~~~~~
  1484.     Imagine that a cell contains the result of a calculation where you are
  1485.     trying to figure out the monthly payments on a loan.  Let's say that
  1486.     the calculated payment was 657.17625412 per month.
  1487.  
  1488.     Do you really want to see 8 digits after the decimal point?  Most
  1489.     likely not, and that's where formats come in.
  1490.  
  1491.     A better way to format the payment amount would be:
  1492.  
  1493.          657.18   (rounded to two decimals, cents)
  1494.  
  1495.     or better yet,
  1496.  
  1497.         $657.18
  1498.  
  1499.     NOTE:  Even though the value is displayed as 657.18, the value stored
  1500.            in the cell and used in any calculations involving that cell is
  1501.            657.17625412.
  1502.  
  1503.     Applying a format to a single cell or to a whole range of cells may be
  1504.     done with the /Range, Format command.  Setting the default format for
  1505.     the entire worksheet is done using the /Sheet, General, Format
  1506.     command.
  1507.  
  1508.     Details about the types of formats available in AS-EASY-AS can be
  1509.     found in the command summary section at the end of this manual.
  1510.  
  1511.  
  1512.  
  1513.     RELATIVE VERSUS ABSOLUTE ADDRESSES
  1514.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1515.     AS-EASY-AS does all the work required to keep track of the cells you
  1516.     refer to in formulas:
  1517.  
  1518.         If you move the cells referenced in a formula to another place in
  1519.         the worksheet, AS-EASY-AS automatically adjusts the references in
  1520.         the formula.
  1521.  
  1522.         If you move a formula from one cell to another, cell references in
  1523.         the formula remain unchanged.
  1524.  
  1525.         If you insert a column or row within a specified block, any
  1526.         formula that references the block is automatically adjusted to
  1527.         include it.
  1528.  
  1529.         If you delete a row or column within a block, any formula that
  1530.         references the block is automatically adjusted to exclude it.  An
  1531.  
  1532.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [26] 
  1533.         important exception is if you delete a row or column that contains
  1534.         one of the corner cells included in the range reference, an ERR is
  1535.         entered in the formula cell.  If this occurs, you must reenter the
  1536.         formula with the correct range.
  1537.  
  1538.         If you copy a block of cells that include a formula but not the
  1539.         cells referenced in the formula, the formula is updated to
  1540.         reference new cells which have the same position in relation to
  1541.         the formula's cell.  (Cells viewed this way are called relative
  1542.         cells).
  1543.  
  1544.         If you want to copy a formula and maintain the original cell
  1545.         references, you must specify those references as absolute before
  1546.         copying the formula. This is done by inserting the dollar sign
  1547.         before the cell coordinates.
  1548.  
  1549.             $A$2 -  Makes the entire address absolute
  1550.             $A2  -  Makes the column absolute
  1551.             A$2  -  Makes the row absolute
  1552.  
  1553.         Named ranges operate just like all references and will translate
  1554.         when copied or moved.  To make a named range absolute, you must
  1555.         preface the range name with a dollar sign.
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [27] 
  1592.     COPY VALUES
  1593.     ~~~~~~~~~~~
  1594.     Using the copy command on a value duplicates the value in the "FROM"
  1595.     cell into the "TO" cell.
  1596.  
  1597.     For example, to copy the value from cell B5 to cell C6, simply enter
  1598.     the following sequence of commands (assuming the pointer is already on
  1599.     cell B5):
  1600.  
  1601.         /c [ENTER] [RIGHT] [DOWN] [ENTER]     (Pointing Method)
  1602.                           or
  1603.         /c B5 [ENTER] C6 [ENTER]              (Typing Method)
  1604.  
  1605.  
  1606.  
  1607.     COPY FORMULAS
  1608.     ~~~~~~~~~~~~~
  1609.     Let's take an example of three cells containing the following:
  1610.  
  1611.             cell    B1      contains    +A1+A2
  1612.              ''     B2         ''       +A1+$A2
  1613.              ''     B3         ''       +A1+$A$2
  1614.  
  1615.     The value result in cells B1, B2 and B3 should be identical.
  1616.  
  1617.     Now copy the cells B1, B2 and B3 to C2, C3 and C4 respectively, and
  1618.     let's see what the new cells contain.
  1619.  
  1620.         cell C2:        +B2+B3
  1621.  
  1622.     Copied from an original formula, in B1, that said:  "Add the contents
  1623.     of the cell one column to the left (A1) to the contents of the cell
  1624.     one column to the left and one row down (A2)."
  1625.  
  1626.         cell C3:        +B2+$A3
  1627.  
  1628.     Copied from an original formula, in B2, that said:  "Add the contents
  1629.     of the cell one column to the left (A1) to the contents of the cell in
  1630.     absolute column A ($A) and one row down."
  1631.  
  1632.         cell C4:        +B2+$A$2
  1633.  
  1634.     Copied from an original formula, in B3, that said:  "Add the contents
  1635.     of the cell one column to the left (A1) to the contents of the cell in
  1636.     absolute column A ($A) and in row 2 ($2)."
  1637.  
  1638.  
  1639.     MOVE VALUES
  1640.     ~~~~~~~~~~~
  1641.     Moving values is a simple operation that relocates the value from a cell into
  1642.     another specified cell.
  1643.  
  1644.     For example, to move the value from cell B5 to cell C6, simply enter the
  1645.     following sequence of commands (assuming the pointer is already in cell B5):
  1646.  
  1647.  
  1648.  
  1649.  
  1650.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [28] 
  1651.         /m [ENTER] [RIGHT] [DOWN] [ENTER]    (Pointing Method)
  1652.                      or
  1653.         /m B5 [ENTER] C6 [ENTER]             (Typing Method)
  1654.  
  1655.  
  1656.  
  1657.     MOVE FORMULAS
  1658.     ~~~~~~~~~~~~~
  1659.     The rules that apply to copying formulas also apply to moving
  1660.     formulas. Let's consider the same example of the three cells
  1661.     containing the following:
  1662.  
  1663.         cell    B1      contains    +A1+B4
  1664.           ''    B2          ''      +A1+$B4
  1665.           ''    B3          ''      +A1+$B$4
  1666.           ''    B4          ''      5
  1667.  
  1668.     The values displayed in cells B1, B2, B3 and B4 should be identical.
  1669.     Now move the cells B1, B2, B3 and B4 into C1, C2, C3 and C4
  1670.     respectively.  Let's see what the new cells contain.
  1671.  
  1672.         cell C1:        +A1+C4
  1673.  
  1674.     Notice the translation of B4 to C5.  This occurred because B4 was
  1675.     within the moved block.  The reference to A1 remains unchanged because
  1676.     it was outside the block.
  1677.  
  1678.         cell C2:        +A1+$C4
  1679.  
  1680.     Absolute symbol does NOT keep column reference from changing for the
  1681.     move operation because the reference was inside the moved block.
  1682.  
  1683.         cell C3:        +A1+$C$4
  1684.  
  1685.     Moved from original location but the formula changes the same as in
  1686.     cell C2.
  1687.  
  1688.     As you can see, NO translation occurs for cell references OUTSIDE the
  1689.     block being moved.  References to cells inside the block ARE
  1690.     translated during a move to reflect the new position.
  1691.  
  1692.  
  1693.     RECALCULATION MODES
  1694.     ~~~~~~~~~~~~~~~~~~~
  1695.     Recalculation refers to the manner in which all formulas within a
  1696.     spreadsheet are calculated.  As formula references get complex, the
  1697.     number of required calculations increases.  If every cell within the
  1698.     spreadsheet were calculated each time a cell was updated, it could
  1699.     take a while just to make a minor change.
  1700.  
  1701.     An alternate method is to calculate only those cells which are
  1702.     dependent on the updated cell.  Each dependent cell may have multiple
  1703.     dependent cells which must also be calculated, and so on until a root
  1704.     cell (a cell with no dependant references to it) is reached and the
  1705.     calculation sequence stops. This method is called AUTOMATIC
  1706.     recalculation, and is the default mode when AS-EASY-AS is first
  1707.     started.
  1708.  
  1709.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [29] 
  1710.     To activate AUTOMATIC recalculation press the following sequence of
  1711.     keys.
  1712.  
  1713.         /sgra
  1714.  
  1715.     Which stands for the following commands.
  1716.  
  1717.         Sheet, General, Recalc, Auto.
  1718.  
  1719.     In some cases, a linked recalculation sequence may require too much
  1720.     time to recalculate after entry of new data.  Therefore, the
  1721.     calculation sequence can be turned off while a series of changes are
  1722.     being made to the spreadsheet. This method is called MANUAL
  1723.     recalculation.  After the changes are completed, the spreadsheet may
  1724.     be updated by pressing the CALC function key [F9].
  1725.  
  1726.     To activate MANUAL recalculation press the following sequence of keys.
  1727.  
  1728.         /sgrm
  1729.  
  1730.     Which stands for the following commands:
  1731.  
  1732.         Menu, Sheet, General, Recalc, Manual.
  1733.  
  1734.     When manual recalculation has been selected, the indicator 'MAN' will
  1735.     appear on the status line.
  1736.  
  1737.  
  1738.     SAVING THE WORKSHEET
  1739.     ~~~~~~~~~~~~~~~~~~~~
  1740.     To save the entries you have made in the worksheet, press the [/] key
  1741.     to bring up the main menu.  Select the FILE command choice by pressing
  1742.     "F" or by moving the cursor to highlight that word and pressing
  1743.     [ENTER].  You will see a new menu of file command choices.
  1744.  
  1745.     If you wish to save the file to a drive or directory other than the
  1746.     default drive/directory, you must change the data directory to the
  1747.     desired drive. This can be done by selecting the FILE DIRECTORY
  1748.     command and typing in the new path.  The path can be changed by typing
  1749.     in the new path at the "PATH:" prompt.  You can also change the
  1750.     drive/directory when specifying the file name by including the path
  1751.     with the file name.
  1752.  
  1753.     If you are using a diskette to store your worksheets, make sure the
  1754.     diskette is in the specified drive.  You should always have a
  1755.     formatted disk with room for extra worksheet files available.
  1756.  
  1757.     Select the STORE command.  If the worksheet is new, you will be
  1758.     prompted for the name of your worksheet.  A name is valid if it has up
  1759.     to 8 characters and does not contain any of the following characters:
  1760.  
  1761.         ","     "*"     "/"     "?"     "#"     " "     "'"     "|"
  1762.  
  1763.     Confirm the typed name by pressing [ENTER].
  1764.  
  1765.     Examples of valid file name inputs:
  1766.  
  1767.  
  1768.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [30] 
  1769.         SAMPLE1            Saves data in SAMPLE1.WKS in current path
  1770.  
  1771.         \DATA\SAMPLE1      Saves data in file SAMPLE1.WKS. in directory
  1772.                            \DATA of the current drive.  A beep will sound
  1773.                            and an error message will appear if the
  1774.                            requested directory does not exist.
  1775.  
  1776.                            NOTE:       The default path will now be
  1777.                                        \DATA of the current drive.
  1778.  
  1779.         D:\MINE\SAMPLE1    Saves data in file SAMPLE1.WKS in directory
  1780.                            \MINE of drive D:
  1781.  
  1782.                            NOTE:       The default path will now be
  1783.                                        D:\MINE\
  1784.  
  1785.     If you try to save a worksheet that was previously retrieved from your
  1786.     current data disk, the name of that worksheet will automatically
  1787.     appear in the Name input field of the file window.  Pressing [ENTER]
  1788.     instructs the program to accept that name.
  1789.  
  1790.     If a worksheet with the same name already exists on your data disk,
  1791.     the program will ask if you want to "cancel", make a "backup" or
  1792.     "replace" the old file (on the disk) with the contents of the current
  1793.     worksheet in the computer.
  1794.  
  1795.     If you choose to make a backup, the file on disk will be renamed with
  1796.     the extension .WKB and the new file will be saved with an extension
  1797.     .WKS.
  1798.  
  1799.     NOTE: This method provides only a single level of bakckup protection.
  1800.           If you desire additional backups, it is recommended that you
  1801.           save your files using a number appended to the end of the file
  1802.           name, i.e., WORK1, WORK2, WORK3, etc.
  1803.  
  1804.  
  1805.     SAVING PART OF THE WORKSHEET
  1806.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1807.     Sometimes it may be appropriate to save only a small portion of the
  1808.     spreadsheet.  This may be achieved by using the /File Xport command.
  1809.  
  1810.     Once the Xport command has been selected, AS-EASY-AS will ask if you
  1811.     want to export to a WKS or a dBASE III file, and then it will prompt
  1812.     for the name of the file.  Type the name and press [ENTER].  Do NOT
  1813.     add an extension when you type the name as this is performed
  1814.     automatically by AS-EASY-AS.
  1815.  
  1816.     After you have specified the name of the file, the program asks for
  1817.     the range to be exported.  The range can be specified by either
  1818.     pointing or typing, or a range name can be used.
  1819.  
  1820.     The specified range will then be exported to either a .WKS or .DBF
  1821.     type file.
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [31] 
  1828.     RETRIEVING THE WORKSHEET
  1829.     ~~~~~~~~~~~~~~~~~~~~~~~~
  1830.     To retrieve a worksheet select the /File, Retrieve command.
  1831.  
  1832.     A window will open in the middle of the screen displaying worksheet
  1833.     files present in the default directory.  Only one page of names is
  1834.     displayed at a time.  To view subsequent pages press the [PGDN] or
  1835.     [PGUP] keys.
  1836.  
  1837.     Select your file by moving the pointer to highlight the file, or type
  1838.     the file name at the name prompt and then press [ENTER].  To change
  1839.     the path, you may type in the new path in the "PATH:" field, or
  1840.     include the path as part of the file name.  This new path will become
  1841.     the default path.
  1842.  
  1843.  
  1844.     COMBINING WORKSHEETS
  1845.     ~~~~~~~~~~~~~~~~~~~~
  1846.     The /FILE MERGE command will combine any designated worksheet file
  1847.     with the current file starting at the position occupied by the
  1848.     spreadsheet pointer.  The information merged from the new file will
  1849.     overwrite any information present in the cells.
  1850.  
  1851.     WARNING:   Information in cells overwritten cannot be recovered.
  1852.  
  1853.     When /File Merge is selected, choose either to merge the whole file or
  1854.     a named range from a specified file.  Once this choice has been made,
  1855.     you are asked to specify whether to merge the formulas in the named
  1856.     range or file or just the calculated values in the range.
  1857.  
  1858.     NOTE:   When the Merge-Range-Formulas is selected, the cell
  1859.             relationships are retained in the new worksheet.
  1860.  
  1861.     If a cell of the file being merged (from disk), contains a formula,
  1862.     and you selected /File, Merge, [All/Range], Value, then the last
  1863.     values contained in the cells when the worksheet was saved will be
  1864.     used in the merge operation.
  1865.  
  1866.     If you selected /File, Merge, [All/Range], Formula, then for cells in
  1867.     the file on disk that contained values, those values will be used in
  1868.     the merge operation.  For cells that contained formulas, however, the
  1869.     contents of the current cells will be replaced with the formulas from
  1870.     the file on disk.
  1871.  
  1872.     You will now be provided with three options for the merged
  1873.     information; ADD, DIFF, and REPLACE.
  1874.  
  1875.  
  1876.     ADD - will cause the cell contents of the file being merged to be
  1877.     added to the contents of the current file cells.
  1878.  
  1879.     DIFF - will cause the cell contents of the file being merged to be
  1880.     subtracted from the contents of the current file cells.
  1881.  
  1882.     REPLACE - will cause the cell contents of the file being merged to
  1883.     replace the contents of the current file cells.
  1884.  
  1885.  
  1886.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [32] 
  1887.     LEAVING THE WORKSHEET
  1888.     ~~~~~~~~~~~~~~~~~~~~~
  1889.     You have just completed your masterpiece spreadsheet and are now ready
  1890.     to call it quits for the day.  FIRST, MAKE SURE THAT YOU SAVED YOUR
  1891.     LATEST VERSION OF THE WORKSHEET (see previous section on saving your
  1892.     worksheet).
  1893.  
  1894.     Access the command menu by pressing the [/] key.  Select the EXIT
  1895.     command.  You will be given a second chance to change your mind when
  1896.     AS-EASY-AS asks if you want to quit, YES or NO.  Highlight the word
  1897.     YES or type the letter "y".  AS-EASY-AS will prompt you one last time,
  1898.     asking if you have saved your worksheet.  If you wish to return to the
  1899.     worksheet, press [ESC], otherwise press [ENTER].  The program will now
  1900.     return to DOS.
  1901.  
  1902.     If you performed the above keystrokes by accident and did not intend
  1903.     to leave the spreadsheet, you are out of luck because all spreadsheet
  1904.     information in the computer memory has been lost.
  1905.  
  1906.     Remember, save your data frequently as you work, and make back-up
  1907.     copies of your files!
  1908.  
  1909.     You can print any portion of the spreadsheet to either a PRINTER or a
  1910.     print FILE (on your disk) or append to a print file by selecting the
  1911.     "PrintTo" option from the main menu.
  1912.  
  1913.     If you are printing to a printer for the first time, you need to
  1914.     install your printer type.  This is done by the /User Install Printer
  1915.     command.  Once the selection is made, make sure to save your
  1916.     configuration file (see User Install for more information).
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [33] 
  1946.     4.  PRINTING
  1947.     ~~~~~~~~~~~~
  1948.     To get into the printer menu, press the following sequence of keys.
  1949.  
  1950.         /pp
  1951.  
  1952.     Which stands for /PrintTo Printer.
  1953.  
  1954.     You are now in the print menu where all the print variations are
  1955.     defined. You will see the following selections on the command line:
  1956.  
  1957.     Range  Border  LineFeed  PageAdv  Options  Adjust  Go  View  Quit
  1958.  
  1959.     Range       Stands for the rectangular area of the spreadsheet which
  1960.                 is to be printed.  This must be defined prior to printing.
  1961.     Border      Print specified row(s) and/or column(s) on every page of
  1962.                 the output.
  1963.     LineFeed    Advance the paper in the printer a single line.
  1964.     PageAdv     Advance the paper in the printer to the top of the next
  1965.                 page.
  1966.     Options     Allows access to Sub-menu of printer options; margins,
  1967.                 page length, header, footer, format type and printer setup
  1968.                 string. (See print menu explanations for further
  1969.                 details).
  1970.     Adjust      Synchronize the program's top-of-page with the printer
  1971.                 top-of-page.  The page and line counters are reset to 1.
  1972.                 Note:  If this synchronization is not done, you may get
  1973.                 several blank lines in the middle of the printed page.
  1974.                 This is the gap allotted to skip over sheet perforation.
  1975.     Go          Starts the printer printing.
  1976.     View        Preview the selected range before printing
  1977.  
  1978.     All print output is directed to the printer attached to the parallel
  1979.     port (LPT1).  To direct information to be printed to alternate ports
  1980.     use the Print, File command.  As an example, to send output to serial
  1981.     port #1 (COM1), type:
  1982.  
  1983.         /PrintTo File COM1 [ENTER]
  1984.  
  1985.     and execute the Adjust Go commands.
  1986.  
  1987.     NOTE:   You must preset the Baud Rate using the DOS MODE command.
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [34] 
  2005.     PRINTER BORDERS
  2006.     ~~~~~~~~~~~~~~~
  2007.     The PrintTo Printer Borders command allows you to select row(s) and/or
  2008.     column(s) from your worksheet that you wish to have printed on every
  2009.     page. This is especially useful for large multi-page spreadsheets
  2010.     where you need to have column headings or row descriptors printed on
  2011.     your output.  The Printer Borders command operates similar to Sheet
  2012.     Borders.
  2013.  
  2014.     The print range need not be adjacent to the borders you've selected.
  2015.     This allows you to print part of a ledger complete with row and column
  2016.     headings.
  2017.  
  2018.     When Printer Borders is used, you must be careful when specifying the
  2019.     ranges.  The rows and columns specified as your print border SHOULD
  2020.     NOT be included as part of your print range:  you may end up with
  2021.     duplicate rows or columns in your output.
  2022.  
  2023.     To clear Printer Borders, select None under the Borders menu.
  2024.  
  2025.  
  2026.     MARGINS & PAGE LENGTH - PRINTER OPTIONS
  2027.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2028.     AS-EASY-AS default margin settings are 0 for the left margin and 80
  2029.     for the right margin.  Both margins are measured in characters from
  2030.     the left edge of the page.  Using the default settings, you are able
  2031.     to print a range of up to 80 characters wide.  Setting the left margin
  2032.     to 10 allows you to print a range 70 (80 minus 10), characters wide.
  2033.  
  2034.     If your spreadsheet will not fit across a page, AS-EASY-AS prints the
  2035.     left part (on a page) then prints the next section on a new page, and
  2036.     so on until the entire spreadsheet is printed.  You can combine these
  2037.     printed pages to create one wide spreadsheet.
  2038.  
  2039.     If you are using wide paper, or other than 10-pitch print, and you are
  2040.     printing more than 80 characters wide, you will need to change the
  2041.     right margin.
  2042.  
  2043.     If you've selected condensed print and your output continues to print
  2044.     additional pages while leaving a large right margin, chances are your
  2045.     right margin needs to be increased to accommodate the width of your
  2046.     print range.
  2047.  
  2048.     The print margins that can be set in AS-EASY-AS are described below:
  2049.  
  2050.     Page Length (0-1024) determines the number of lines printed on each
  2051.         page. The default, 66, is the correct setting for a printer that
  2052.         prints six lines per inch (the standard setting) on 11-inch paper.
  2053.         If your printer is set to a different lines-per-inch value, or if
  2054.         your paper is a different length, change this setting accordingly.
  2055.         To calculate the page length, multiply the lines-per-inch value by
  2056.         the number of inches on a page.  This setting is unaffected by
  2057.         headers, footers, or top or bottom margins.
  2058.  
  2059.     Left (0-240) determines the amount of space to leave between the left
  2060.         edge of the paper and the first column of data.  The default, 0,
  2061.         leaves no left margin.  Depending on the width of your
  2062.  
  2063.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [35] 
  2064.         spreadsheet, you may want to lengthen this margin.
  2065.  
  2066.     Top (0-30) determines the number of blank lines to leave at the top of
  2067.         each page.  The default, 2, leaves a margin of approximately one-
  2068.         half inch. If you include a header in your printout, it is printed
  2069.         underneath this margin with one blank line between it and the
  2070.  
  2071.     Right (0-240) determines the amount of space to leave for a right
  2072.         margin. spreadsheet data. This value is the number of spaces
  2073.         between the left edge of the paper and the beginning of the right
  2074.         margin - like the margin settings on a typewriter.  The default,
  2075.         80, begins the right margin at the 80th character space, leaving
  2076.         no right margin.
  2077.  
  2078.     Bottom (0-32) determines the number of blank lines to leave at the
  2079.         bottom of each page.  The default, 2, leaves approximately one-
  2080.         half inch.  If you include a footer in your printout, it is
  2081.         printed above this margin with one blank line between it and the
  2082.         spreadsheet data.
  2083.  
  2084.     In setting the correct page length for your printer, please note the
  2085.     following pointers:
  2086.  
  2087.         The default page length is set to 66 lines.  Most dot matrix
  2088.         printers default to 6 lines per inch, so no changes are required
  2089.         if you are printing on 11 inch long paper.  If you wish to change
  2090.         the lines per inch spacing to 8, you must also change the lines
  2091.         per page to 88 (8 lpi X 11 inches) for headers, footers, and page
  2092.         breaks to work properly.
  2093.  
  2094.         Some laserjet printers default to a value other than 66 lines per
  2095.         inch. If this is the case, you must adjust the page lines
  2096.         accordingly.
  2097.  
  2098.         If you have set your top and bottom margins equal to 0 and your
  2099.         page length equal to 66 lines, you are able to print a range of 60
  2100.         rows on a page before the program will skip to a new page.  One
  2101.         line at the top and bottom of the page is reserved for the perf-
  2102.         skip feature.  Two lines each are reserved for headers and
  2103.         footers; one for the line of text and the second line serves as a
  2104.         spacer between the header or footer and the body of the text.
  2105.  
  2106.     To figure out the correct number of lines that will be printed by AS-
  2107.     EASY-AS on a single page, do the following:
  2108.  
  2109.         Get the lines per page setting of your printer (for the current
  2110.         pitch and line spacing).  Note that this setting should match the
  2111.         page length setting specified in AS-EASY-AS.
  2112.  
  2113.         Subtract the AS-EASY-AS settings for top and bottom margin
  2114.  
  2115.         Subtract 4 lines (header, footer and lines between the header, the
  2116.         footer and the text body).
  2117.  
  2118.         Subtract 2 lines (top and bottom skip perforation).
  2119.  
  2120.  
  2121.  
  2122.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [36] 
  2123.     In other words, the number of text lines that will be printed on a
  2124.     single page is given by:
  2125.  
  2126.  
  2127.         Page Length - Top Margin - Bottom Margin - 4.
  2128.  
  2129.  
  2130.     INSERTING PAGE BREAKS
  2131.     ~~~~~~~~~~~~~~~~~~~~~
  2132.     AS-EASY-AS automatically inserts page breaks where needed (as
  2133.     specified by the Pagelength command setting).  You may also specify
  2134.     "hard page breaks", i.e., force a page break, manually, using one of
  2135.     two methods.
  2136.  
  2137.         By typing a hard page break into the first cell of a blank row.
  2138.         The hard page break is the vertical piping character, followed by
  2139.         two colons (|::). If there is any other data in that row it will
  2140.         be ignored.
  2141.  
  2142.         By using the /Sheet Insert Page command while in the left most
  2143.         cell of the print range.  This command sequence automatically
  2144.         inserts a blank row and the "|::" character sequence for you.
  2145.  
  2146.     NOTE: The hard page break character sequence must be placed in the
  2147.           left-most column of the print range in order to be recognized by
  2148.           AS-EASY-AS.
  2149.  
  2150.  
  2151.     PRINTER OPTIONS - HEADERS & FOOTERS
  2152.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2153.     Centering headers and footers can be performed by separating pieces of
  2154.     text with the "|" character. i.e., if you have the following in your
  2155.     header line:
  2156.  
  2157.         PAGE|TITLE|DATE
  2158.  
  2159.     This will be translated into:
  2160.  
  2161.     PAGE                    TITLE                       DATE
  2162.  
  2163.     The first word, "PAGE", is left justified since it is not preceded by
  2164.     a "|" character.
  2165.  
  2166.     The second word, "TITLE", is centered since it is preceded by the
  2167.     first "|" character.
  2168.  
  2169.     The third word, "DATE", is right justified since it is preceded by the
  2170.     second "|" character.
  2171.  
  2172.     -  Sequential page numbering can be achieved by placing the "#"
  2173.        character in the header/footer line.
  2174.  
  2175.     -  Placement of the current date on the top/bottom of a printed page
  2176.        can be achieved by placing the "@" character in the header/footer
  2177.        line.
  2178.  
  2179.  
  2180.  
  2181.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [37] 
  2182.     PRINTER OPTIONS - EMBEDDED CODES
  2183.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2184.     You can place text enhancement printer control codes directly into a
  2185.     print range.  This can be achieved by placing:
  2186.  
  2187.         |\xxx\yyy
  2188.  
  2189.     in the first column of the print range, where xxx and yyy are your
  2190.     printer's control codes.
  2191.  
  2192.     For example, if your print range was A1 to H20, by putting the
  2193.     following in the FIRST column (A1) of the print range,
  2194.  
  2195.      |\027\069   (This is the setup string for emphasized print on an EPSON
  2196.             printer.  Note that the prefix character [|] will not be
  2197.             displayed).
  2198.  
  2199.     the result is emphasized text on an Epson printer.
  2200.  
  2201.     NOTE:  Any remaining data on line containing the printer control
  2202.            codes will not be printed.  An entire line may be hidden
  2203.            during printing if a single "|" is placed in the first column.
  2204.  
  2205.     If you try to enter text-enhancing control codes inside a label,
  2206.     you'll find that when you enter Alt 027, you exit the edit mode.
  2207.     That's because control characters (ASCII less than 32), are translated
  2208.     by the program into special editing keys such as Arrow keys, [ESC]
  2209.     key, etc.
  2210.  
  2211.     To enter control characters, you need to use the Edit Bypass Function
  2212.     key, [F3].  The sequence is:  F3 Alt nnn.  F3 is only active for one
  2213.     control character and must be pressed every time additional control
  2214.     characters are to be embedded.
  2215.  
  2216.     For example, if you want to print "This is a CONTROL code sample" on
  2217.     an EPSON  printer with only the word "CONTROL" in condensed mode, the
  2218.     following keystrokes should be used:
  2219.  
  2220.     This is a F3 [Alt] 015 CONTROL F3 [Alt] 018 code sample.
  2221.  
  2222.     The 015 code turns the condensed print mode on and the 018 code turns
  2223.     the condensed print mode off.
  2224.  
  2225.     Page breaks can be forced by placing a single "|" followed by two
  2226.     colons "::" in your text.  This must be placed in a cell that is in
  2227.     the left-most column of your print range.  Information in cells to the
  2228.     right of the page break command will not be printed.
  2229.  
  2230.     A page break can also be inserted into your worksheet by using the
  2231.     following command:
  2232.  
  2233.         /Sheet Insert Page
  2234.  
  2235.     This command will insert a new row and place "|::" in the cell at the
  2236.     current cursor location.
  2237.  
  2238.  
  2239.  
  2240.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [38] 
  2241.     PRINTER OPTIONS - TYPE
  2242.     ~~~~~~~~~~~~~~~~~~~~~~
  2243.     The output can be printed (to printer or file) in one of the following
  2244.     formats.
  2245.  
  2246.      AS SEEN    Prints the output in row and column format (as
  2247.                 displayed on screen) with headers, footers, and page
  2248.                 breaks.
  2249.  
  2250.      CONTENTS   Prints a columnar listing of all non-blank cells and their
  2251.                 contents.  Useful for printing cell formulas and
  2252.                 documentation of calculation templates.
  2253.  
  2254.      NOFORM     Prints the output without header and footer information
  2255.                 and suppresses page breaks.
  2256.  
  2257.  
  2258.     CONTROLLING THE PRINTER
  2259.     ~~~~~~~~~~~~~~~~~~~~~~~
  2260.     Most printers can be controlled by sending a sequence of ASCii control
  2261.     codes to your printer.  (For details and control codes, refer to your
  2262.     printer's user's manual).
  2263.  
  2264.     Commonly used codes for the EPSON series of printers are:
  2265.  
  2266.         \027\069    Turn on  Emphasized text (or \027E)
  2267.         \027\070    Turn off Emphasized text (or \027F)
  2268.         \015        Turn on  Condensed  text
  2269.         \018        Turn off Condensed  text
  2270.  
  2271.  
  2272.     The three digit number 027 stands for the [escape] code and the three
  2273.     digit number 069 stands for the capital letter 'E'.
  2274.  
  2275.     Printer codes may be entered by selecting PrintTo Printer Options
  2276.     Setup. The spreadsheet accepts codes only if they are separated by the
  2277.     back-slash character [\] .  To select the emphasized text mode, type
  2278.     the following in response to the prompt for the setup string (remember
  2279.     to use 3 digits):
  2280.  
  2281.         \027\069   [enter]
  2282.  
  2283.     To change the string, re-select the SETUP option.
  2284.  
  2285.     ASEASY.PRT
  2286.     ~~~~~~~~~~
  2287.     To make life easier so you don't have to manually enter printer setup
  2288.     codes or look up an infrequently used setup code, simply type the [\]
  2289.     character when entering a printer setup code and press F1.
  2290.  
  2291.     A listing of predefined setup codes from ASEASY.PRT will pop-up in a
  2292.     pick window on your screen.  By highlighting the desired function, the
  2293.     appropriate printer code will be entered into the setup string.
  2294.  
  2295.     Any control codes supported by your printer can be incorporated in the
  2296.     file ASEASY.PRT, an ASCII text file, which has the following
  2297.     structure:
  2298.  
  2299.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [39] 
  2300.       - Each control code consists of two lines.
  2301.  
  2302.       - The first line contains a description of the print enhancement
  2303.         (eg. Emphasized, Underline, ....).  Description  names should not
  2304.         be separated by spaces,  e.g. 'Dbl_Strike'  NOT  'Dbl Strike'.
  2305.         Note that this description name must not exceed 11 characters.
  2306.  
  2307.       - The second line contains the decimal setup code for the described
  2308.         print enhancement.
  2309.  
  2310.             e.g.   027\015    -  condensed for EPSON printers
  2311.  
  2312.  
  2313.     NOTE: There is no leading backslash in the setup codes in the
  2314.           ASEASY.PRT file (i.e.  027\015,  NOT \027\015)
  2315.  
  2316.     You can create or edit ASEASY.PRT with any word processor/text editor
  2317.     that generates ASCII files.
  2318.  
  2319.     Let's say you want to incorporate the following codes supported by
  2320.     your EPSON compatible printer in an ASEASY.PRT file:
  2321.  
  2322.         Decimal Control Codes             Print            ASEASY.PRT
  2323.         From Printer User's Manual      Enhancement            Code
  2324.         ~~~~~~~~~~~~~~~~~~~~~~~~~~      ~~~~~~~~~~~         ~~~~~~~~
  2325.             27, 77                      Elite Pitch         027\077
  2326.             27, 72                      Double Strike       027\072
  2327.             27, 69                      Emphasized          027\069
  2328.  
  2329.     The ASEASY.PRT file generated for the codes should look something like
  2330.     the one presented below:
  2331.  
  2332.         Elite           <-----   First line of the file
  2333.         027\077                     .  (Up to 240 characters long)
  2334.         Dbl_strike                  .
  2335.         027\072                     .
  2336.         Emphasized                  .
  2337.         027\069         <-----   Last  line of the file
  2338.  
  2339.  
  2340.     PRINT TO A FILE
  2341.     ~~~~~~~~~~~~~~~
  2342.     To create an ASCII file (which contains the print range) for transfer
  2343.     to other programs (like databases or word processors) use the
  2344.     following procedure.
  2345.  
  2346.     Type:   /pfTEST   [ENTER]
  2347.  
  2348.     Which stands for /PrintTo File.  At this point the program asks for
  2349.     the name of the print file.  Type the name of the print file (in this
  2350.     case TEST) and press ENTER.  If no extension is specified, an
  2351.     extension of ".PRN" will automatically be attached to the file name.
  2352.     If you have already sent output to the print file during the current
  2353.     AS-EASY-AS session, the name of the print file will appear at the
  2354.     prompt line.  You can select it by just pressing ENTER.
  2355.  
  2356.     If you wish to append an existing ASCII print file, select /PrintTo
  2357.  
  2358.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [40] 
  2359.     Append. This command will print the selected range to the end of the
  2360.     specified print file.
  2361.  
  2362.  
  2363.     PRINTING COMBINED TEXT AND GRAPHICS
  2364.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2365.     AS-EASY-AS has the ability to print combined spreadsheet data and
  2366.     graphs on dot matrix and laserjet printers.  To print a graph from
  2367.     spreadsheet data, you must have first created the graph and formatted
  2368.     a range to display the graph (see Section 5.4, Combining Text and
  2369.     Graphics).
  2370.  
  2371.     To print the combined data graph, first select /PrintTo Graphics.
  2372.     Select Range and highlight the area you would like to print.  Make
  2373.     sure the entire graph is contained within the print range.
  2374.  
  2375.  
  2376.  
  2377.     USING PRINT VIEW
  2378.     ~~~~~~~~~~~~~~~~
  2379.     It is possible to preview the layout and organization of data, page
  2380.     breaks and margin settings in the spreadsheet through the use of the
  2381.     view command. AS-EASY-AS will display either a full page of text (by
  2382.     pressing [F2]) or a 200% zoom of a half page (by pressing [F1]).
  2383.  
  2384.     To advance through the print range use the [PGUP] or [PGDN] keys.  Any
  2385.     graphs inserted will be displayed in their correct position on the
  2386.     page.
  2387.  
  2388.  
  2389.  
  2390.  
  2391.  
  2392.  
  2393.  
  2394.  
  2395.  
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [41] 
  2418.  
  2419.     5  GRAPHICS COMMANDS
  2420.     ~~~~~~~~~~~~~~~~~~~~
  2421.     AS-EASY-AS provides you with the capability to create high-quality
  2422.     graphs from your spreadsheet data.  Hardcopy output can be generated
  2423.     on 9- or 24-pin dot matrix printers, laserjet printers.  A .PIC file
  2424.     can be created for use with your word processing or graphics programs.
  2425.  
  2426.     Thirteen types of graphics can be created:
  2427.  
  2428.         X-Y             Bar                 Delta           Area
  2429.         Line            Stacked Bar         Cumulative      HLoc
  2430.         Polar           Strip               Wall            Pie
  2431.         Radar
  2432.  
  2433.     Many options are available to customize graphs for business graphics
  2434.     as well as for engineering and scientific analyses, etc.  Titles and
  2435.     legends can be added with user-specified type size.  The user can also
  2436.     specify fill patterns, colors, line styles, and tick mark styles.
  2437.  
  2438.     Graphs can be scaled on both the X (horizontal) axis and the Y
  2439.     (vertical) axis so that the entire graphed range (or a portion of the
  2440.     range) may be displayed.  A logarithmic adjustment to either or both
  2441.     of the X and Y scales may be performed to produce semi-log or log-log
  2442.     graphs.
  2443.  
  2444.     All data points are specified by ranges in the spreadsheet.  Up to six
  2445.     curves may be displayed on a single graph, with an additional six if
  2446.     two graphs are merged.
  2447.  
  2448.     The following provides details on the graphics commands to allow
  2449.     you to create customized graphs.
  2450.  
  2451.  
  2452.  
  2453.     GRAPH RANGES
  2454.     ~~~~~~~~~~~~
  2455.     Specify the X range and up to six Y ranges (A through F) for the
  2456.     graph. Ranges can be specified either by the pointing or typing
  2457.     method, or by using a predefined range name.
  2458.  
  2459.     A basic difference between X-Y type graphs and other types of graphs
  2460.     should be remembered.  Line graphs and bar graphs represent a set of
  2461.     values as vertical distances.  The only numeric scale in this type of
  2462.     graph is the one along the vertical axis.  The horizontal axis
  2463.     displays all items in the X range in a non-numeric, equally spaced
  2464.     sequence of text, (e.g. dates, names of cities, etc.).
  2465.  
  2466.     The X-Y type graphs are two-dimensional.  They represent pairs of
  2467.     values as a function of their horizontal and vertical coordinates.
  2468.  
  2469.     Note that there should be a one-to-one correspondence between the
  2470.     elements of the X-range and Y-range(s).
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [42] 
  2477.     LABELS
  2478.     ~~~~~~
  2479.     Define a range of labels that are to be used to mark each of the data
  2480.     points on the specified graph range.  A one-to-one correspondence is
  2481.     needed between the range being plotted and the labels for that range.
  2482.     The data labes may be placed Above, Below, to the Left or to the Right
  2483.     of the data points.
  2484.  
  2485.  
  2486.     CUSTOM OPTIONS
  2487.     ~~~~~~~~~~~~~~
  2488.     Customize the colors of the graph series, and the inner and outer
  2489.     portions of the graph in one of 16 colors.  The following colors are
  2490.     available (on monitor/card combinations that support them):  Black,
  2491.     MidBlue, Green, Cyan, Red, Magenta, Brown, Gray, Smokey, Blue,
  2492.     HiGreen, LightBlue, Scarlet, Violet, Yellow,  and White.  Each data
  2493.     range may be assigned a color.  In addition, the following colors may
  2494.     be specified:
  2495.  
  2496.       INNER: Color of the graph screen.
  2497.       OUTER: Outer color of the graph screen.
  2498.       TITLE: Title color of the graph screen.
  2499.       VALUE: X- and Y-Axis scale labels.
  2500.  
  2501.  
  2502.     LEGEND
  2503.     ~~~~~~
  2504.     Set the graph legend and its location.  An input window is used to
  2505.     display the legend options.  The Legend option allows the user to
  2506.     enter text which describe the ranges of A through F.  Legends may be
  2507.     placed below the graph (Line) or to the right of the graph (Box).
  2508.  
  2509.  
  2510.     TITLES
  2511.     ~~~~~~
  2512.     Specify the title strings on graph.  The Main title, Second title and
  2513.     X and Y axes titles may be entered. Preceding the main title with the
  2514.     "#" character will create a framed title box.
  2515.  
  2516.  
  2517.     GRID
  2518.     ~~~~
  2519.     Select a horizontal and/or vertical grid at each scale division on
  2520.     your graph with a solid or dotted line.  Other options include
  2521.     specifying a dotted or a solid grid line, and whether or not to use
  2522.     grid lines for the minor axis divisions.
  2523.  
  2524.  
  2525.     FONT SIZE
  2526.     ~~~~~~~~~
  2527.     Relative size of the font used in graph titles, legends, values, and
  2528.     labels.  The size is a scale factor based on a fraction centered
  2529.     around 1.0.  For example, the default value for the main title is 1.5,
  2530.     meaning the font is 1.5 times the base font size.
  2531.  
  2532.  
  2533.  
  2534.  
  2535.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [43] 
  2536.  
  2537.     The text sizes which may be changed, along with their default values,
  2538.     are listed below:
  2539.  
  2540.     MAIN            1.5           LEGEND          0.75
  2541.     SECOND          1.0           VALUES          0.75
  2542.     X-AXIS          1.0           LABELS          0.75
  2543.     Y-AXIS          1.0
  2544.  
  2545.  
  2546.     CLEAR
  2547.     ~~~~~
  2548.     Reset all the options for the entire graph or for a selected range
  2549.     back to the default settings.
  2550.  
  2551.  
  2552.     NAME
  2553.     ~~~~
  2554.     This option allows you to define multiple graphs and associated
  2555.     settings and titles in a single worksheet.  One named graph may be
  2556.     superimposed on the main graph, or they may be displayed as two
  2557.     separate graphs, one above the other.  You also insert a graph into
  2558.     the worksheet.
  2559.  
  2560.     INSERT
  2561.       Place either the MAIN or a named graph into the spreadsheet.  The
  2562.       range enclosing the inserted graph appears in a highlighted color.
  2563.  
  2564.       The upper left cell of the range contains the graph name and the
  2565.       size of the display in columns and rows.  For example, "MAIN:2,7"
  2566.       will display the main (or current) graph in a range 2 columns wide
  2567.       and 7 rows deep.  The cell may be edited to change the name and size
  2568.       of the graph if desired.
  2569.  
  2570.       The inserted graph will only be visable when it can fit entirely on
  2571.       the screen when previewing a print range with (PrintTo, Printer,
  2572.       View) and the page contains a graph.
  2573.  
  2574.       To print combined worksheet text and graphics see Section 5.4,
  2575.       Combining Text and Graphics.
  2576.  
  2577.       To update the graph after changing graphed data, you must manually
  2578.       recalculate the spreadsheet by pressing the [F9] calc function key.
  2579.  
  2580.     USE
  2581.       Select one of the previously named graphs and make it the current
  2582.       graph.  All current settings are replaced with the named graph's
  2583.       settings.
  2584.  
  2585.     CREATE
  2586.       Create a named graph which saves the current graph settings.
  2587.  
  2588.     DELETE
  2589.       Delete one of the previously named graph settings.
  2590.  
  2591.  
  2592.  
  2593.  
  2594.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [44] 
  2595.     MERGE
  2596.       Merge two graphs [Viewing ONLY!] (a NAMED graph and the currently
  2597.       defined graph).  The NAMED graph will be superimposed on top of the
  2598.       MAIN graph and it will be scaled on the right side of the graph.  It
  2599.       can have its own set of scaling factors, limits, formats, etc.
  2600.  
  2601.       To disable the merge feature select  /Graphics, Name, Merge, Reset
  2602.  
  2603.  
  2604.     SPLIT
  2605.       Shows two graphs on the same screen.  The top graph is the graph
  2606.       currently defined (MAIN).  The second, named graph, occupies the
  2607.       bottom half (similar to the Graphics, Name, Merge Option).  Each
  2608.       graph will have its own set of scaling factors, limits, formats,
  2609.       etc.
  2610.  
  2611.       NOTE: To disable the split feature select:  /Graphics,
  2612.             Name, Reset
  2613.  
  2614.     RESET
  2615.       Reset the merge or split option so that only the main graph will be
  2616.       displayed.
  2617.  
  2618.  
  2619.     VIEW
  2620.     ~~~~
  2621.     View the graph currently defined.  The resolution depends on your
  2622.     graphics board:
  2623.  
  2624.         CGA         640 x 200  pixels, 2 colors
  2625.         Hercules    720 x 348  pixels, 2 colors
  2626.         EGA         640 x 350  pixels, 16 colors
  2627.         AT&T        640 x 400  pixels, 2 colors
  2628.         VGA         640 x 480  pixels, 16 colors
  2629.  
  2630.     NOTE:  Graphs cannot be viewed on a system having a non-Hercules
  2631.            monochrome display adapter.  If a message is received
  2632.            indicating a graph cannot be displayed because of an invalid
  2633.            monitor type, and you have one of the above graphics
  2634.            boards, AS-EASY-AS may not have auto detected the
  2635.            graphics card properly.
  2636.  
  2637.            Save your worksheet and restart the program with the
  2638.            appropriate command line switch found in Section 2.3,
  2639.            Starting the Program.
  2640.  
  2641.  
  2642.  
  2643.     [PLOT] IMAGE
  2644.     ~~~~~~~~~~~~
  2645.     Specify the height and width for the graph.  Dimensions are in inches.
  2646.  
  2647.     HIGH
  2648.       Specify the vertical dimension of the graph to be generated on the
  2649.       printer.
  2650.  
  2651.  
  2652.  
  2653.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [45] 
  2654.     WIDE
  2655.       Specify the horizontal dimension width of the graph to be generated
  2656.       on the printer.
  2657.  
  2658.       NOTES: 1.  To adjust the left margin, which is the
  2659.                  distance between the left side of the paper and
  2660.                  the Y-scale title, use /PrintTo Printer Options
  2661.                  Margin Left.
  2662.  
  2663.              2.  To create a top margin, you must use
  2664.                  /PrintTo Printer and select Line several times
  2665.                  until the desired top margin has been created.
  2666.  
  2667.     PORTRAIT
  2668.       Print graph oriented at zero degrees.
  2669.  
  2670.     LANDSCAPE
  2671.       Rotate output of the graph 90 degrees.
  2672.  
  2673.     DRAFT
  2674.       Specify single pass or low density mode for the printer. Selecting
  2675.       this option is recommended for plotting draft graphs because the
  2676.       printing speed is about twice as fast as NLQ.
  2677.  
  2678.     NLQ
  2679.       Specify a high resolution print option.  This option will produce a
  2680.       dark, high quality graph.
  2681.  
  2682.  
  2683.     COMBINING TEXT AND GRAPHICS
  2684.     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2685.     AS-EASY-AS can include graphs within your spreadsheet for printing
  2686.     combined data and graphics.  Create a graph as discussed previously.
  2687.     Select /Graphics Name Insert, and highlight the area in which the
  2688.     graph is to be placed (see Graphics Name Insert in this Section for
  2689.     more information).
  2690.  
  2691.     The formatted range appears in a highlighted color.  The upper left
  2692.     cell of the range contains the graph name and the size of the display
  2693.     in columns and rows.  The cell may be edited to change the size of the
  2694.     graph if desired.
  2695.  
  2696.     The graph will appear when previewing (PrintTo, Printer, View) the
  2697.     page containing the graph.  To print text and graphics together, see
  2698.     Section 3, Printing Text and Graphics.
  2699.  
  2700.  
  2701.     SAVING A GRAPH
  2702.     ~~~~~~~~~~~~~~
  2703.  
  2704.     When a spreadsheet is saved, the current graph settings and named
  2705.     graph settings are saved with it.  When the file is retrieved, those
  2706.     graph settings are retrieved as well.  The user can then view the
  2707.     current graph by either pressing the [F10] function key from the ready
  2708.     mode, or by selecting the /Graphics, View command.
  2709.  
  2710.     Sometimes more than one graph might need to be created from the data
  2711.  
  2712.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [46] 
  2713.     in a worksheet.  That's no problem.  Instead of having to re-specify
  2714.  
  2715.  
  2716.  
  2717.  
  2718.  
  2719.  
  2720.  
  2721.  
  2722.  
  2723.  
  2724.  
  2725.  
  2726.  
  2727.  
  2728.  
  2729.  
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.  
  2770.  
  2771.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [47] 
  2772.     the settings every time you want to look at a previous graph, you can
  2773.     use the /Graphics, Name, Create and Use commands.
  2774.  
  2775.     When the /Graphics, Name, Create command is invoked, the program saves
  2776.     the current graph settings under the user specified name.  To select
  2777.     and view a named graph, select the /Graphics, Name, Use command and
  2778.     select or type the desired graph name.  The selected graph becomes the
  2779.     current or MAIN graph.
  2780.  
  2781.  
  2782.  
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [48] 
  2831.     6. DATA COMMANDS
  2832.     ~~~~~~~~~~~~~~~~
  2833.     In addition to the typical spreadsheet format, AS-EASY-AS includes
  2834.     powerful DATA commands which enhance your ability to create
  2835.     sophisticated data management applications, what-if tables, etc.
  2836.  
  2837.  
  2838.     DATA FILL
  2839.     ~~~~~~~~~
  2840.     The Data-Fill command allows you to fill a range with an arithmetic
  2841.     sequence of equally spaced values.
  2842.  
  2843.     For example, assume that you want to fill a range of cells with real
  2844.     values that range from 3 to 43 in increments of two.
  2845.  
  2846.     Move the cursor to the beginning of the range.  Invoke the Data-Fill
  2847.     command (/df), enter range to fill, the starting value (in this case
  2848.     3), and the increment value (2).
  2849.  
  2850.  
  2851.     DATA TABLE
  2852.     ~~~~~~~~~~
  2853.     DATA TABLE - 1 INPUT
  2854.     ~~~~~~~~~~~~~~~~~~~~
  2855.     The Data Table-1 Input command permits you to do 'what-if' analysis by
  2856.     generating a table based on substituted values in an input cell.
  2857.  
  2858.     This command takes the input value from the first column, places the
  2859.     value in the model, calculates a result, extracts that value and
  2860.     places it in the table to the right of the input value.  The process
  2861.     is continued until the bottom of the table range is reached.
  2862.  
  2863.     For example, suppose that you want to borrow $1 million to start a new
  2864.     business.  Since you could borrow money from a number of different
  2865.     institutions with different interest rates, you want to compare your
  2866.     monthly payments for  different interest rates.  The payback period is
  2867.     10 years.
  2868.  
  2869.     To generate the comparison table, follow these steps:
  2870.  
  2871.         Enter the amount you want to borrow in cell B1
  2872.         Enter the starting interest rate in cell B2
  2873.         Enter the term of the loan (years) in cell B3
  2874.  
  2875.     Generate the following labels (using the /Range, Name, Create command,
  2876.     see Section 10) to help you identify the various inputs:
  2877.  
  2878.         Cell  B1  -  PRINCIPAL
  2879.         Cell  B2  -  INTEREST
  2880.         Cell  B3  -  TERM
  2881.  
  2882.     Enter the payment equation in cell B4:
  2883.  
  2884.         @PMT(PRINCIPAL,INTEREST/12,TERM*12)
  2885.  
  2886.     NOTE: INTEREST/12 and TERM*12 are used to obtain payments
  2887.           on a monthly basis.
  2888.  
  2889.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [49] 
  2890.     Generate a column of interest rates in this example ranging from 9% to
  2891.     10.1% in cells A8 to A19.
  2892.  
  2893.     Tell the program which value to extract and place in the table by
  2894.     entering a reference to the payment formula (cell B4) in cell B7
  2895.     (+B4).
  2896.  
  2897.     Now you are ready to generate the desired table using the following
  2898.     commands:
  2899.  
  2900.       /dt1       -  Data, Table, 1-input
  2901.       A7..B19
  2902.       [ENTER]    -  The table range (it includes the input values that you
  2903.                     want to vary and the locations that you want the
  2904.                     calculated result to be placed in).
  2905.       B2         -  The input cell. This will be the value that will change
  2906.                     after each calculation, and it is the value that we want
  2907.                     to extract.
  2908.  
  2909.      NOTE:  Multiple extractions are allowed providing each output
  2910.             column has a cell reference at the top.
  2911.  
  2912.  
  2913.  
  2914.     DATA TABLE - 2 INPUTS
  2915.     ~~~~~~~~~~~~~~~~~~~~~
  2916.     Now, let's say that you want to generate a comparison table varying
  2917.     both the interest and the term of the loan.
  2918.  
  2919.     Leave the column containing the interest rates (A8..A19) unchanged.
  2920.     Place the different terms (number of years) that you desire in row 7
  2921.     (one entry in each column).  Place 10 in cell B7, 20 in cell C7 and 30
  2922.     in cell D7.  Enter the formula +B4 in cell A7 (this tells the program
  2923.     what cell you want to extract values from).  Now enter the following
  2924.     keystrokes:
  2925.  
  2926.         /dt2             -  Data, Table, 2-inputs
  2927.         A7..D19 [ENTER]  -  Table range
  2928.         B1 [ENTER]       -  First input (Interest rate will vary)
  2929.         B3 [ENTER]       -  Second input (Term will vary)
  2930.  
  2931.  
  2932.     DATA SORT
  2933.     ~~~~~~~~~
  2934.     The Data Sort command is used to rearrange the information in a
  2935.     worksheet in alphabetical or numerical order.  The sorting process
  2936.     operates on rows. Let's look at the following example.
  2937.  
  2938.     Assume that the range B4 to D15 contains some student informations as
  2939.     follows:
  2940.  
  2941.        column B - last name
  2942.        column C - first name
  2943.        column D - grade
  2944.  
  2945.     It would be nice to sort this information by the students' last name
  2946.     or by grade.
  2947.  
  2948.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [50] 
  2949.     The following steps will sort the information by the students' last
  2950.     names (only).  Two sorting criteria can be specified (i.e. two
  2951.     different columns). This would be very useful in cases where, two
  2952.     students had the same last name or two students had the same grade,
  2953.     i.e. a tie-breaker.
  2954.  
  2955.     1.  /ds               -   Invoke the Data, Sort menu
  2956.     2.  d                 -   Invoke the D-Range command to specify the
  2957.                               range to be sorted
  2958.     3.  B4..D15 [ENTER]   -   Specify the range to be sorted
  2959.     4.  p                 -   Invoke command to select the Primary sort key
  2960.                               (column)
  2961.     5.  B4 [ENTER]        -   Select Primary sort key.  Any cell in column B
  2962.                               would select Last Name as the primary sort key.
  2963.     6.  a [ENTER]         -   Accept the default, ascending order.  Typing d
  2964.                               [ENTER] would select descending order.
  2965.     7.  s                 -   Invoke command to select the Secondary sort
  2966.                               key (column)
  2967.     8.  D4 [ENTER]        -   Select Secondary sort key.  Any cell in column D
  2968.                               would select Grade as the secondary sort key.
  2969.     9.  a [ENTER]         -   Accept the default, ascending order.  Typing d
  2970.                               [ENTER] would select descending order.
  2971.     10. g                 -   Select Go to perform the sort.
  2972.  
  2973.     To sort on any other field (column), simply type in a new primary/
  2974.     secondary column.
  2975.  
  2976.  
  2977.     DATA BIN
  2978.     ~~~~~~~~
  2979.     The Data Bin command creates a frequency distribution table displaying
  2980.     the count of values in a range that falls within given ranges, bins,
  2981.     as well as the frequency of values within that range.  The bins are a
  2982.     block of values, in ascending order, placed anywhere in the worksheet.
  2983.  
  2984.     The requirements for setting up the bins are:
  2985.  
  2986.      1.   The bin values are contained in a single column block, and
  2987.  
  2988.      2.   There are two blank columns directly to the right of the bin
  2989.           range.  (This is the area that will be filled by the /db
  2990.           command).
  2991.  
  2992.     Once this command is invoked, the user is prompted to supply the
  2993.     "Analysis" range and the "Bin" range.
  2994.  
  2995.     ANALYSIS range, as the name indicates, is the range containing the
  2996.     values that the user needs to perform the frequency distribution on.
  2997.     BIN range is the column containing the bin (group) values, with two
  2998.     blank columns to the right.
  2999.  
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [51] 
  3008.     DATA GOALSEEK
  3009.     ~~~~~~~~~~~~~
  3010.     The Data Goalseek command allows you to search for the input that
  3011.     would result in a desired output from a model.  Specify the INPUT
  3012.     cell, the OUTPUT cell and the DESIRED goal and AS-EASY-AS modifies the
  3013.     input cell by using a NEWTON-RAPHSON convergence technique until the
  3014.     specified output is reached.  If the desired result has not been
  3015.     reached by 25 iterations, the process stops, and the value plus @ERR
  3016.     is placed in the input cell.  If this happens try choosing an input
  3017.     closer to the desired input.
  3018.  
  3019.     When prompted for the desired goal, AS-EASY-AS requires you specify
  3020.     the tolerance limit.  You should be aware that the more restrictive
  3021.     (smaller) the tolerance is, the longer it will take the program to
  3022.     converge to the correct answer.
  3023.  
  3024.     For example try the following situation:
  3025.  
  3026.     You want to borrow $100,000 for 30 years, and you don't want your
  3027.     monthly payments to exceed $1,028.61.  You want to determine the loan
  3028.     interest rate which would meet the above restrictions.
  3029.  
  3030.     The steps required to solve this problem are presented below:
  3031.  
  3032.     a.  Enter the Loan amount in cell A1  -->  100000
  3033.     b.  Enter a reference interest rate in cell A2 (i.e. if you start with
  3034.         an annual interest of 18%, enter 0.18)
  3035.     c.  Enter the term of the loan (30 * 12 = 360 months) in cell A3.
  3036.     d.  Enter the Payment equation in cell A4 - @PMT(A1,A2/12,A3)
  3037.     e.  Invoke the DATA, GOALSEEK command
  3038.     f.  Specify cell A2 as the INPUT cell
  3039.     g.  Specify cell A4 as the OUTPUT cell
  3040.     h.  Specify 1028.61 as the DESIRE
  3041.     i.  Specify a tolerance of 0.001
  3042.  
  3043.     Cell A4 will display the amount you specified as the desired monthly
  3044.     payment (if solution convergence occurred), and cell A2 will display
  3045.     the interest rate required for the load to meet your restrictions,
  3046.     0.12 (or 12%).
  3047.  
  3048.  
  3049.  
  3050.     DATA REGRESSION
  3051.     ~~~~~~~~~~~~~~~
  3052.     The Data Regress command allows you to determine the coefficients
  3053.     which correspond to a least squares fit of a straight line to a set of
  3054.     X and Y data.
  3055.  
  3056.     Assume that you have a range of data as follows:
  3057.  
  3058.           A4..A9   -   X-Values
  3059.           B4..B9   -   Y-Values
  3060.  
  3061.     Now follow the sequence of keystrokes presented below:
  3062.  
  3063.         /drxA4..A9~yB4..B9~oD4~
  3064.  
  3065.  
  3066.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [52] 
  3067.     This will invoke the Data Regress command.  The program will prompt
  3068.     for the X (or independent) range, (A4..A9), the Y (or dependent)
  3069.     range, (B4..B9), and the location that you want the output to be
  3070.     placed, (D4).
  3071.  
  3072.     The Y-Intercept and slope of a straight line going through the data
  3073.     points will then be entered in cells D4 and D5.  Additionally, values
  3074.     for R squared, the sum of the X squared values, the sum of the Y
  3075.     squared values, and the sum of the X*Y values are also entered.
  3076.  
  3077.  
  3078.     DATA INPUT RANGE
  3079.     ~~~~~~~~~~~~~~~~
  3080.     This powerful command is mainly for those who develop applications to
  3081.     be used by other individuals.  Once this option is invoked and a range
  3082.     is highlighted, cursor movement is restricted to the cells that were
  3083.     intentionally unprotected by the user using the /Range, Lock, No
  3084.     command.
  3085.  
  3086.     Example:
  3087.         /rlnC2..C4 [ENTER]          [Unlock Cells C2, C3, and C4]
  3088.         /sgpe                       [Turn On Protection]
  3089.         /dirA1..D8 [ENTER]          [Input Restricted Cells]
  3090.  
  3091.     would turn the global protection on and would only allow the user to
  3092.     move the cursor to cells C2, C3, and C4 (those specifically
  3093.     unprotected by the user).
  3094.  
  3095.  
  3096.     DATA INPUT FORM
  3097.     ~~~~~~~~~~~~~~~
  3098.     This powerful command allows a user to define a form that can be used for
  3099.     entering records, editing records, etc.  To create an input form:
  3100.  
  3101.     1.  Define a number of cells (in the same row) that contain the field
  3102.         headings for your database.
  3103.     2.  Format the field headings for the type of data each cell will
  3104.         contain/display.
  3105.     3.  Select Data Input Form, and highlight the range of field headings.
  3106.  
  3107.     AS-EASY-AS automatically takes the format of each field name cell and
  3108.     assigns it to new data input into that particular field.  It then
  3109.     creates an input/edit form, and locates the data base pointer at the
  3110.     first record of the database.  The user now has the option to enter a
  3111.     new record, edit the current record, move to the record ahead or
  3112.     before the current one, etc.
  3113.  
  3114.     NOTES:
  3115.       1.  All field names are left justified.  If the field names are to be
  3116.           right justified, they have to be padded with spaces.
  3117.       2.  A maximum of 15 input fields are supported.
  3118.       3.  The width of the column is used to set the data input field
  3119.           size.
  3120.  
  3121.       Example:
  3122.         Cells A2 through D2 contain the desired field names of an address
  3123.         database (First, last, Address, etc.)
  3124.  
  3125.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [53] 
  3126.     The keystrokes /difA2..D2[ENTER] will produce an AS-EASY-AS dtabase
  3127.     input form screen .
  3128.  
  3129.     To prepare the database to display the input data properly, the field
  3130.     names must first be formatted.  Since Name and Address will contain
  3131.     text, format these field names as "Label" (/Range Format Label).  This
  3132.     ensures that when a street number is entered, followed by the street
  3133.     name, the contents will be a label, rather than a value.
  3134.  
  3135.     Phone could also be formatted as "Label" in which case the user would
  3136.     need to provide the parenthesis and hyphen each time a phone number is
  3137.     entered.
  3138.  
  3139.     Format last call as date (/rfd) and select one of the date options.
  3140.     When entering the date, simply type "8/29/91".  AS-EASY-AS will
  3141.     convert the string to its date equivalent.
  3142.  
  3143.     If cell D2 had not been formatted with a date format, and the number
  3144.     was entered as 08/29/91 (no apostrophe), cell D3 would display
  3145.     0.0030315, i.e., the indicated division would have been performed; an
  3146.     action which was not intended.
  3147.  
  3148.     Note the description of the keys available in this mode displayed on
  3149.     the top line of the screen:
  3150.  
  3151.         PgUp          -  Go to the previous record
  3152.         PgDn          -  Go to the next record
  3153.         Ctrl-PgUp     -  Go to the beginning of the database (record #1)
  3154.         Ctrl-PgDn     -  Go to the end of the database
  3155.  
  3156.     The user can freely move up and down the fields using the arrow cursor
  3157.     keys.
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165.  
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [54] 
  3185.     7. DATABASE OPERATIONS
  3186.     ~~~~~~~~~~~~~~~~~~~~~~
  3187.     A database is information stored in a range of one or more rows and
  3188.     columns.  The information that can be stored in a database is almost
  3189.     anything that one normally keeps track of.
  3190.  
  3191.     Let's see how you might use database commands to keep track of a list
  3192.     of your customers, their addresses and telephone numbers (a function
  3193.     that is normally performed by a stack of index cards or a Rolodex).
  3194.  
  3195.     A spreadsheet, for example, holds a small database of customers.
  3196.     The database of customers is stored in the range A1..G7.  For each
  3197.     customer, you intend to keep track of the first and last name, street
  3198.     address, city, state and telephone number.  Each row (all the
  3199.     information for one customer) is called a record of the database.
  3200.  
  3201.     Each column has a heading identifying the information stored in the
  3202.     cells beneath it.  Each heading is called a "field" of the record.
  3203.  
  3204.     Once the information is stored in this database format, you can look
  3205.     at it many different ways and gain valuable information from it using
  3206.     the AS-EASY-AS database commands.
  3207.  
  3208.     There are three ranges in the Database Menu which must be defined. The
  3209.     INPUT range, the CRITERION range and the OUTPUT range.
  3210.  
  3211.     The operations that can be performed, based on the above ranges, are:
  3212.  
  3213.       FIND - Highlight records that match the criterion range.
  3214.  
  3215.       EXTRACT - Copy records that meet the criterion range into the
  3216.                 output range.
  3217.  
  3218.  
  3219.     INPUT RANGE
  3220.     ~~~~~~~~~~~
  3221.     The input range is the entire area where the database information is
  3222.     stored. When the input range is specified, you must include the
  3223.     headings as the top row of the range.
  3224.  
  3225.     In the preceding example the input range would be A1..G7.  Notice that
  3226.     the range also contains the headings F. NAME, L. NAME, etc.
  3227.  
  3228.  
  3229.     CRITERION RANGE
  3230.     ~~~~~~~~~~~~~~~
  3231.     The criterion range contains the criteria that will be used to perform
  3232.     the FIND or EXTRACT operations on the Input range of the database.
  3233.     The minimum number of rows that can be used to define the criterion
  3234.     range is two.
  3235.  
  3236.     The top row ALWAYS contains the field headings exactly as they appear
  3237.     in the database.  It is good practice to copy these headings from the
  3238.     database itself to assure that they are exactly the same.  Subsequent
  3239.     rows contain the actual criteria.  Criteria fall into two categories,
  3240.     character comparisons and numeric comparisons.
  3241.  
  3242.  
  3243.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [55] 
  3244.     Character comparisons can be performed by looking for an exact match
  3245.     or by using wildcard characters.
  3246.  
  3247.     ?   Substitutes for any single character in the comparison string.
  3248.  
  3249.     *   Will match all characters to the right of the asterisk position.
  3250.  
  3251.     ... Ellipsis (3 dots) preceding a string will search each record for the
  3252.         occurrence of that string anywhere within the string.
  3253.  
  3254.     Numeric comparisons can be performed by using all of the logical
  3255.     operators defined in the Logical Operators section.
  3256.  
  3257.     Criteria placed in adjacent columns are treated as logical ANDs, while
  3258.     criteria placed in adjacent rows are treated as logical ORs.
  3259.  
  3260.     AS-EASY-AS provides you with the option to facilitate the inputting of
  3261.     criteria.  The command / Data Input Criteria operates similar to /
  3262.     Data Input Form described earlier. After the criteria range is
  3263.     selected, a criteria input form will appear in the middle of the
  3264.     screen.  The user can then enter the criteria for each field heading.
  3265.     If multiple matches for the same heading are desired, AS-EASY-AS will
  3266.     generate a second form once the first form has been completed.  An
  3267.     example of Data Input Criteria is shown in the database example.
  3268.  
  3269.     Although this might sound complicated, an example later on will
  3270.     demonstrate how all these rules work.
  3271.  
  3272.  
  3273.     OUTPUT RANGE
  3274.     ~~~~~~~~~~~~
  3275.     The EXTRACT command causes records that match the criteria to be
  3276.     placed in the output range.  The output range should contain the
  3277.     headings of the fields from which information is to be extracted.
  3278.  
  3279.  
  3280.     RESET
  3281.     ~~~~~
  3282.     The RESET command resets the data input, output and criteria ranges.
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [56] 
  3303.     8.  MATRIX OPERATIONS
  3304.     ~~~~~~~~~~~~~~~~~~~~~
  3305.     Matrix is a notation that is commonly used in the field of mathematics
  3306.     to describe a table of numbers.  When dealing with matrices you should
  3307.     be familiar with basic terminology and rules for matrix manipulation.
  3308.  
  3309.     A matrix is an array of values with a number of rows (i) and a number
  3310.     of columns (j). Mathematically, a matrix is denoted by an uppercase
  3311.     letter enclosed in brackets.
  3312.  
  3313.         [A]  -  Matrix A
  3314.  
  3315.     The elements of the matrix are denoted by the equivalent lowercase
  3316.     letter and two subscripts referring to the position of the element
  3317.     (row, column).
  3318.  
  3319.         a1,2  - the element of matrix [A] located in the first row and the
  3320.                 second column
  3321.  
  3322.     The transposition of a matrix [A] with size i,j (i-rows, j-columns) is
  3323.     a new matrix  [A]T with size j,i  (j-rows, i-columns).  After the
  3324.     transposition, the first row of [A] becomes the first column of [A]T,
  3325.     the second row of [A] becomes the second column of [A]T, etc.
  3326.  
  3327.  
  3328.       Example:
  3329.  
  3330.         ORIGINAL MATRIX                   TRANSPOSED MATRIX
  3331.  
  3332.             1   6   8                           1   5   9
  3333.             5   7   3                           6   7   1
  3334.             9   1   4                           8   3   4
  3335.  
  3336.     In operations involving two matrices, [A] (i,j) and [B] (k,n), the
  3337.     following rules must be observed:
  3338.  
  3339.         1.  The matrices can be added or subtracted only if:  i=k and j=n
  3340.  
  3341.         2.  The matrices can be multiplied only if:  i=n  and  j=k
  3342.  
  3343.  
  3344.     The inverse of a matrix [A] is a second matrix [A]-1, such that:
  3345.  
  3346.             [A] x [A]-1 = Identity matrix
  3347.  
  3348.  
  3349.     The identity matrix is a special matrix whose elements are:
  3350.  
  3351.             ai,j = 1.0      for any i=j
  3352.             ai,j = 0.0      for any i<>j
  3353.  
  3354.     That is, 1s appear along the diagonal of the matrix and all other
  3355.     values are zero.
  3356.  
  3357.     A matrix can be inverted only if the number of columns and rows are
  3358.     equal. This is called a square matrix.
  3359.  
  3360.  
  3361.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [57] 
  3362.     AS-EASY-AS supports the following basic matrix operations:
  3363.  
  3364.        Addition, Subtraction, Multiplication, Inversion, Transposition
  3365.  
  3366.     In addition to those, the program has a built-in option for solving a
  3367.     set of simultaneous equations with an equal number of unknowns.  Note
  3368.     that prior to solving such a set of equations, the constants vector
  3369.     should be placed in the column immediatelly to the right of the
  3370.     coefficients matrix.
  3371.  
  3372.  
  3373.  
  3374.  
  3375.  
  3376.  
  3377.  
  3378.  
  3379.  
  3380.  
  3381.  
  3382.  
  3383.  
  3384.  
  3385.  
  3386.  
  3387.  
  3388.  
  3389.  
  3390.  
  3391.  
  3392.  
  3393.  
  3394.  
  3395.  
  3396.  
  3397.  
  3398.  
  3399.  
  3400.  
  3401.  
  3402.  
  3403.  
  3404.  
  3405.  
  3406.  
  3407.  
  3408.  
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [58] 
  3421.     FUNCTIONS
  3422.     ~~~~~~~~~
  3423.     A function is denoted by an @ (at) character preceding a function
  3424.     keyword. The following functions act upon the argument (represented by
  3425.     'x') contained within the parentheses.  The argument may be a value or
  3426.     formula which refers to other cells within the spreadsheet.
  3427.  
  3428.  
  3429.     STRING FUNCTIONS
  3430.     ~~~~~~~~~~~~~~~~
  3431.     +Cell  (Where Cell contains a String)
  3432.     Syntax:  +Cell Address
  3433.        The addition sign has the same effect as when used with values. The
  3434.        above entry indicates that the current cell will always have the
  3435.        same contents as Cell, whether Cell contains a string or a value.
  3436.  
  3437.     & - Concatenation
  3438.        The ampersand (&) is used to add two string expressions together.
  3439.        Note that using the plus sign (+), when adding strings, would give
  3440.        erroneous results.
  3441.  
  3442.        Example: "Abc"&"D2N" will produce AbcD2N
  3443.  
  3444.     @@
  3445.     Syntax:  @@(Cell)
  3446.        The @@ function is used to indirectly address the location
  3447.        described by the string in Cell (another spreadsheet cell).
  3448.  
  3449.        Examples:
  3450.         Assume the following cell contents:
  3451.             Cell A1 contains the string "Sample"
  3452.             Cell A5 contains the string "A1"  (Note that it must be
  3453.             uppercase)
  3454.         @@(A5) = the contents of the cell described in A5 = Sample
  3455.  
  3456.        NOTE:  If the indirectly referenced cell changes, you must
  3457.               refresh the value with the F9 key or the {CALC} macro.
  3458.  
  3459.     @CELL
  3460.     Syntax:  @CELL("Type",Cell)
  3461.        Operates the same as @CELLPT, but returns information about the
  3462.        referenced Cell.  See @CELLPT for "Type" descriptions.
  3463.  
  3464.     @CELLPT
  3465.     Syntax:  @CELLPT("Type")
  3466.        Type =  One of the predefined words described below.  Type
  3467.                MUST be enclosed in double quotes (only the first three
  3468.                characters of the type are required).
  3469.  
  3470.        Returns information about the current cell (i.e., the cell where
  3471.        the cursor is currently located).  The information returned depends
  3472.        on the function argument, as described below.  The function will
  3473.        return a value or a string, depending on specific Type.
  3474.  
  3475.        NOTE: A cell containing an @CELLPT command will only be
  3476.              updated when the sheet is re-calculated either with [F9]
  3477.              or a {CALC} macro.
  3478.  
  3479.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [59] 
  3480.        Type = "FORm"  (String)
  3481.        Returns the format of the current cell (see Range Format for
  3482.        format descriptions).  The string returned is of the following:
  3483.  
  3484.        blank = Unformatted cell
  3485.        Sn =    Scientific with n decimals
  3486.        Fn =    Fixed with n decimals
  3487.        ,n =    Comma format with n decimals
  3488.        Cn =    Currency format with n decimals
  3489.        Dn =    Date format, type n (see date formats)
  3490.        %n =    Percent with n decimals
  3491.        + =     +/- format
  3492.        T =     Text format
  3493.        H =     Hidden format
  3494.        G =     General format
  3495.        bn=     Engineering format with n decimals
  3496.        L =     Label format
  3497.        X =     Box or line character format
  3498.  
  3499.        Type = "ADDress"  (String)
  3500.        Returns the address of the current cell, in the form of a string
  3501.       'ColumnRow'  (e.g.,  A1, C12, AF321).
  3502.  
  3503.        Type = "CONtents"  (String)
  3504.        Returns the physical contents of the current cell as a string.
  3505.        e.g., if the current cell contains +A1+1, the string "+A1+1" is
  3506.        returned.
  3507.  
  3508.        Type = "ROW"  (Value)
  3509.        Returns the row address of the current cell.
  3510.  
  3511.        Type = "COLumn"  (Value)
  3512.        Returns the column address of the current cell as a value,
  3513.        (e.g., A=1, B=2, C=3, etc.)
  3514.  
  3515.  
  3516.        Type = "WIDth"  (Value)
  3517.         Returns the column width of the current cell.
  3518.  
  3519.        Type = "TYPe"  (Value)
  3520.        Returns one of the following values depending on the contents of
  3521.        the current cell:
  3522.  
  3523.         0 - String Formula
  3524.         1 - Value Formula
  3525.         2 - Real/Value
  3526.         3 - Integer/Value
  3527.         4 - String/Label
  3528.         5 - Blank Cell
  3529.         6 - Virgin Blank cell
  3530.         8 - String formula error
  3531.         9 - Value formula error
  3532.  
  3533.        Type = "PREfix"  (Label)
  3534.        Returns the first character of the current cell's contents (',
  3535.        ", ^, +, -, i, @, P).  If the cell contains a value, the left-
  3536.        most digit will be returned. e.g., 456 will return the label 4.
  3537.  
  3538.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [60] 
  3539.     @CHR
  3540.     Syntax:  @CHR(Num)
  3541.         Num = a value, or calculated variable, between 0 and 255
  3542.         Returns the ASCII character corresponding to Num (fractional
  3543.         values are ignored).  Refer to Appendix E of the AS-EASY-AS manual
  3544.         for a table of the ASCII character codes.
  3545.  
  3546.         Examples:
  3547.             @CHR(36) = $
  3548.  
  3549.     @EXACT
  3550.     Syntax:  @EXACT(String1,String2)
  3551.         Compares String1 to String2 to see if an exact match exists. If
  3552.         the strings are equal, the function returns the value 1 (true),
  3553.         otherwise it returns the value 0 (false).  Please note that this
  3554.         function is case sensitive so characters in the two strings have
  3555.         to match exactly (e.g., A=A, A<>a).
  3556.  
  3557.         Examples:
  3558.             @EXACT("This is an Example","This Is An Example") = 0 (not
  3559.             equivalent strings as "an" is different from "An")
  3560.  
  3561.     @FIND
  3562.     Syntax:  @FIND(String1,String2,Start)
  3563.         Returns the position of String1 in String2; Search starts at
  3564.         position Start of String2 (first character is assigned an index of
  3565.         1).
  3566.  
  3567.         Examples:
  3568.            @FIND("hello","Dave says hello",1) returns the value 11
  3569.            @FIND("e","Dave says hello",1) returns the value 4
  3570.            @FIND("e","Dave says hello",5) returns the value 12
  3571.  
  3572.     @LEFT
  3573.     Syntax:  @LEFT(String,Num)
  3574.         String = Any string,
  3575.         Num = Numeric value or value formula
  3576.         Returns a substring starting with the first character of String,
  3577.         Num characters long.
  3578.  
  3579.  
  3580.         Examples:
  3581.           @LEFT("This is an example",6)  = This i
  3582.  
  3583.  
  3584.     @LENGTH
  3585.     Syntax:  @LENGTH(String)
  3586.         String = Any string
  3587.         Returns the number of characters in String.  Please note that
  3588.         spaces are also characters.  References to labels ignore the
  3589.         prefix character.
  3590.  
  3591.         Examples:
  3592.           @LENGTH("abcdefG") = 7
  3593.           @LENGTH("ABc"&"123") = 6
  3594.  
  3595.  
  3596.  
  3597.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [61] 
  3598.     @LOWER
  3599.     Syntax:  @LOWER(String)
  3600.         String = Any string
  3601.         Converts all characters in String to lower case.
  3602.  
  3603.         Examples:
  3604.           @LOWER("This is an Example") = this is an example
  3605.           @LOWER(@LEFT("This is an example",4)) = this
  3606.  
  3607.     @MID
  3608.     Syntax:  @MID(String,Start,Num)
  3609.         String = Any string
  3610.         Start, Num = Numeric values or value formulas
  3611.         Returns a substring from String Num characters long, starting at
  3612.         position Start (from the left).
  3613.  
  3614.         Examples:
  3615.           @MID("This is an example",2,3) = his
  3616.  
  3617.     @N
  3618.     Syntax:  @N(Cell)
  3619.         Similar to @S.  This function inspects Cell, and returns the value
  3620.         contained in it.  If the cell is blank, or contains a string, then
  3621.         the function returns zero.
  3622.  
  3623.         Examples:
  3624.            @N(C9) = 0 if C9 contains the string "Test"
  3625.            @N(B9) = 28 if B9 contains the value 28
  3626.  
  3627.     @ORD
  3628.     Syntax:  @ORD(String)
  3629.         String = Any string
  3630.         Returns the decimal ASCII code of first character of String.  All
  3631.         other characters in String are ignored.
  3632.  
  3633.  
  3634.         Examples:
  3635.            @ORD("215")     = 50
  3636.            @ORD("┴")       = 193
  3637.  
  3638.     @PROPER
  3639.     Syntax:  @PROPER(String)
  3640.         String = Any string
  3641.         Converts the first letter of each word in String to upper case,
  3642.         such as in a proper name.  Characters already in upper case are
  3643.         left unchanged.
  3644.  
  3645.         Examples:
  3646.            @PROPER("This example") = This Example
  3647.  
  3648.     @REPEAT
  3649.     Syntax:  @REPEAT(String,Num)
  3650.         String = Any string,
  3651.         Num = Any number or value formula
  3652.         Repeats the string argument Num times.
  3653.  
  3654.  
  3655.  
  3656.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [62] 
  3657.         Examples:
  3658.            @REPEAT("Sample",3) = SampleSampleSample
  3659.            @REPEAT("This"&" Sample",2) = This SampleThis Sample
  3660.  
  3661.     @RIGHT
  3662.     Syntax:  @RIGHT(String,Num)
  3663.         String = Any string
  3664.         Num = Numeric value or value formula
  3665.         Similar to @MID and @LEFT, this function returns a substring, Num
  3666.         characters long, starting from the right of String.
  3667.  
  3668.         Examples:
  3669.            @RIGHT("This Example",6) = xample
  3670.            @RIGHT(@MID("Example",2,3),2) = am
  3671.  
  3672.     @S
  3673.     Syntax:  @S(Cell)
  3674.         This function inspects Cell, and returns the string contained in
  3675.         it.  If the cell is blank, or contains a numeric value, a null
  3676.         string is returned.
  3677.  
  3678.         @S acts as a filter and will only return a string reference.  It
  3679.         may be used in cases where a referenced cell may contain either a
  3680.         value or a string, without generating an error condition.
  3681.  
  3682.         Examples:
  3683.            @S(C9) = "Test" if C9 contains the string "Test"
  3684.            @S(B9) = Null string if B9 contains the value 28
  3685.  
  3686.     @STR
  3687.     Syntax:  @STR(Value,Num)
  3688.         Value = Any value or calculated variable
  3689.         Num = Number of decimal digits to retain
  3690.         Returns a string made up of Value with Num digits after the decimal.
  3691.  
  3692.         Example:
  3693.            @STR(1234.12345,3) = "1234.123"
  3694.  
  3695.     @TRIM
  3696.     Syntax:  @TRIM(String)
  3697.         String = Any string
  3698.         Trims multiple blank spaces from String and replaces each
  3699.         occurrence with a single space character.  The effect is evident
  3700.         when such strings are used in subsequent string operations.
  3701.  
  3702.         Example:
  3703.         @TRIM("  This is      an    example  ") = This is an example
  3704.  
  3705.     @UPPER
  3706.     Syntax:  @UPPER(String)
  3707.         String = Any string
  3708.         Converts all characters of String to upper case.  Numbers and
  3709.         special characters remain unchanged.
  3710.  
  3711.         Examples:
  3712.            @UPPER("Example") = EXAMPLE
  3713.            @UPPER(@LEFT("+example$",9)) = +EXAMPLE$
  3714.  
  3715.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [63] 
  3716.     @VAL
  3717.     Syntax:  @VAL(String)
  3718.         String = Any string
  3719.         Converts String into a numeric value.  String may also be a string
  3720.         function, but you cannot embed value formulas in the String. If a
  3721.         value formula is embedded, then the value of zero is returned.
  3722.  
  3723.         Note that this function will accept the decimal separator
  3724.         specified with the User, Install, Punctuation command.  The
  3725.         examples below assume that "." is the decimal separator.
  3726.  
  3727.         Examples:
  3728.            @VAL("123")     = 123
  3729.            @VAL("1.23")    = 1.23
  3730.            @VAL("4/2")     = 0
  3731.            @VAL("2..34")   = 0
  3732.  
  3733.  
  3734.  
  3735.  
  3736.  
  3737.  
  3738.  
  3739.  
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745.  
  3746.  
  3747.  
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756.  
  3757.  
  3758.  
  3759.  
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768.  
  3769.  
  3770.  
  3771.  
  3772.  
  3773.  
  3774.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [64] 
  3775.     MATH FUNCTIONS
  3776.     ~~~~~~~~~~~~~~
  3777.     NOTES:
  3778.     1. The arguments for all trigonometric functions must be in radians.
  3779.  
  3780.     2. The arguments for all hyperbolic functions must be in
  3781.        hyperbolic radians.
  3782.  
  3783.     3. An out of range argument will result in ERR being
  3784.        displayed.
  3785.  
  3786.     @ABS
  3787.     Syntax:  @ABS(x)
  3788.         x = any value
  3789.         Returns the absolute value of the argument.
  3790.  
  3791.         Examples:
  3792.           @ABS(-10)  = 10
  3793.           @ABS(5)    =  5
  3794.  
  3795.  
  3796.     @ACOS
  3797.     Syntax:  @ACOS(x)
  3798.         x = any value where -1 < x < 1
  3799.         Arc cosine of value, returns radians.
  3800.  
  3801.  
  3802.     @ACOSH
  3803.     Syntax:     @ACOSH(x)
  3804.         x = any value where x > 1
  3805.         Arc hyperbolic cosine of value x, returns radians.
  3806.  
  3807.  
  3808.     @ASIN
  3809.     Syntax:  @ASIN(x)
  3810.         x = any value where -1 < x < 1
  3811.         Arc sine of value x, returns radians.
  3812.  
  3813.  
  3814.     @ASINH
  3815.     Syntax:     @ASINH(x)
  3816.         x = any value
  3817.         Arc hyperbolic sine of value x, returns radians.
  3818.  
  3819.     @ATAN
  3820.     Syntax:  @ATAN(x)
  3821.         x = any value
  3822.         Arc tangent of value, returns radians.
  3823.  
  3824.  
  3825.     @ATANH
  3826.     Syntax:  @ATANH(x)
  3827.         x = any value where -1 < x < 1
  3828.         Arc hyperbolic tangent of value x, returns radians.
  3829.  
  3830.  
  3831.  
  3832.  
  3833.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [65] 
  3834.     @COS
  3835.     Syntax:  @COS(x)
  3836.         x = any value in radians
  3837.         Cosine of angle x in radians.
  3838.  
  3839.  
  3840.     @COSH
  3841.     Syntax:  @COSH(x)
  3842.         x = any value in radians where -88 < x < 88
  3843.         Hyperbolic cosine of angle x in radians
  3844.  
  3845.  
  3846.     @CSC
  3847.     Syntax:     @CSC(x)
  3848.         x = any value in radians where x <> 0, π
  3849.         Cosecant of angle x in radians.
  3850.  
  3851.  
  3852.     @CTN
  3853.     Syntax:  @CTN(x)
  3854.         x = any non-zero value where x <> 0, π
  3855.         Cotangent of value
  3856.  
  3857.     @EXP
  3858.     Syntax:  @EXP(x)
  3859.         x = any value where -88 < x < +88
  3860.         Exponential of x (raise 'e' to the 'x' power).
  3861.  
  3862.  
  3863.     @FALSE
  3864.     Constant which has a value of 0.
  3865.  
  3866.  
  3867.     @GAMMALN
  3868.     Syntax:  @GAMMALN(x)
  3869.         x = any positive value
  3870.         Returns the natural logarithm  of the Gamma function for the value
  3871.         x. The Gammaln function is the floating point equivalent of the
  3872.         factorial function, and is related by:
  3873.  
  3874.                      (N-1)! = @EXP(@GAMMALN(N))
  3875.  
  3876.         Example:
  3877.             @GAMMALN(6.5) = 5.662562
  3878.  
  3879.  
  3880.     @INT
  3881.     Syntax= @INT(x)
  3882.         x = any value
  3883.         Integer value of argument.  The fractional part of the number is
  3884.         truncated and the integer remainder is returned.  (See also
  3885.         command line switch /RA)
  3886.  
  3887.         Examples:
  3888.           @INT(10.60) = 10
  3889.           @INT(0.156) =  0
  3890.  
  3891.  
  3892.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [66] 
  3893.     @LOG
  3894.     Syntax:  @LOG(x)
  3895.         x = any value where x > 0
  3896.         Returns the logarithm to base '10' of the argument.
  3897.  
  3898.  
  3899.     @LN
  3900.     Syntax:  @LN(x)
  3901.         x = any value where x > 0
  3902.         Returns the natural Logarithm (base 'e') of the argument.
  3903.  
  3904.         Example:
  3905.            @LN(6)= 1.7917594692
  3906.  
  3907.  
  3908.     @MOD(x,y)
  3909.     x = any value
  3910.     y = any non-zero value
  3911.         Modulo division, returns the remainder of x divided by y.
  3912.  
  3913.             @MOD(10,3) = 1
  3914.             @MOD(8,2)  = 0
  3915.  
  3916.  
  3917.     @NA
  3918.     Constant which has a value of -1.
  3919.  
  3920.  
  3921.     @PI
  3922.     Constant which has a value of 3.1415926536
  3923.  
  3924.  
  3925.     @RAND
  3926.     Returns a new random number with each recalculation.
  3927.  
  3928.  
  3929.     @ROUND(x,y)
  3930.     x = any value
  3931.     y = any integer value where -11 < y < 11
  3932.  
  3933.         Rounds the value of x to y digits right of the decimal.  Negative
  3934.         numbers round to left of decimal.
  3935.  
  3936.             @ROUND(10.1234,1) = 10.1
  3937.             @ROUND(123.123,-2)= 100
  3938.  
  3939.  
  3940.     @SEC
  3941.     Syntax:     @SEC(x)
  3942.         x = any angle in radians where x <> pi/2, -pi/2
  3943.         Secant of angle x in radians.
  3944.  
  3945.  
  3946.     @SIN
  3947.     Syntax: @SIN(x)
  3948.         x = any value in radians
  3949.         Sine of angle x in radians.
  3950.  
  3951.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [67] 
  3952.     @SINH
  3953.     Syntax:     @SINH(x)
  3954.         x = any value in radians where -88 < x < +88
  3955.         Hyperbolic sine of angle x in radians
  3956.  
  3957.     @SQRT(x)
  3958.     x = any value where x ≥ 0
  3959.         Returns the square root of argument, (a negative argument will
  3960.         result in an error).
  3961.  
  3962.             @SQRT(2) =  1.4142135624
  3963.             @SQRT(36) = 6
  3964.  
  3965.  
  3966.     @TAN
  3967.     Syntax:     @TAN(x)
  3968.         x = any value in radians where  x <> π/2, -π/2
  3969.         Tangent of angle x in radians
  3970.  
  3971.  
  3972.     @TANH
  3973.     Syntax:     @TANH(x)
  3974.         x = any value in radians where -88 < x < +88
  3975.         Hyperbolic tangent of angle x in radians
  3976.  
  3977.  
  3978.     @TRUE
  3979.     Constant has a value of  1.
  3980.  
  3981.  
  3982.     FINANCIAL FUNCTIONS
  3983.     ~~~~~~~~~~~~~~~~~~~
  3984.  
  3985.     NOTES:
  3986.  
  3987.     1. For financial functions, all interest rates must be expressed
  3988.        in decimal fractions, or followed by the % operator.  For
  3989.        example, 0.08 = 8%.
  3990.  
  3991.     2. The interest rate must be in the same units as the payment
  3992.        period.  If a monthly payment is desired, the interest rate
  3993.        must be expressed as a monthly rate (equal to the annual
  3994.        rate divided by 12).
  3995.  
  3996.  
  3997.     @CTERM
  3998.     Syntax:  @CTERM(Int,FVal,PVal)
  3999.         FVal    = Future Value
  4000.         Pval    = Present Value
  4001.         Int     = Interest Rate per compounding period
  4002.  
  4003.         Returns the number of compounding periods required for a present
  4004.         value (PVal), invested at an interest rate (Int) per compounding
  4005.         period to reach a future value (FVal).
  4006.  
  4007.  
  4008.  
  4009.  
  4010.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [68] 
  4011.         Examples:
  4012.            @CTERM(0.1,100000,10000)        =  24.2
  4013.            @CTERM(0.08,400000,60000)       =  24.7
  4014.  
  4015.  
  4016.     @DDB
  4017.     Syntax:  @DDB(Cost,Salvage,Life,Period)
  4018.         Cost        =  Cost of a purchase
  4019.         Salvage     =  Value at the end of the depreciation
  4020.         Life        =  Number of periods for full depreciation
  4021.         Period      =  Current Period
  4022.  
  4023.         Returns the amount of depreciation allowed during the specified
  4024.         period, using the Double-Declining-Balance depreciation method.
  4025.  
  4026.         Example:  5-Year Depreciation Schedule
  4027.           @DDB(5000,1000,5,1)     =   2000.0
  4028.           @DDB(5000,1000,5,2)     =   1200.0
  4029.           @DDB(5000,1000,5,3)     =    720.0
  4030.           @DDB(5000,1000,5,4)     =     80.0
  4031.           @DDB(5000,1000,5,5)     =      0.0
  4032.           To Date Total               4000.0
  4033.  
  4034.  
  4035.     @FV
  4036.     Syntax:  @FV(Annuity,Interest Rate,Period)
  4037.         Annuity     =  Periodic payment amount
  4038.         Interest    =  Periodic interest rate
  4039.         Period      =  Number of periods
  4040.  
  4041.         Returns the future value corresponding to an annuity occurring
  4042.         over the specified period.
  4043.  
  4044.         Example:
  4045.            @FV(700,0.0925,30) = 99979.77
  4046.  
  4047.     @IRR
  4048.     Syntax:  @IRR(Guesstimate Interest Rate,Range)
  4049.         Guesstimate Interest Rate =     Best guess at internal rate of return
  4050.                                         periodic interest rate
  4051.         Range =                         Cell range which contains the cash
  4052.                                         flow return values
  4053.  
  4054.         Returns the Rate of Return per period associated with a cash flow.
  4055.         The solution is iterative and may result in more than one correct
  4056.         answer, so a good guess is important.
  4057.  
  4058.         Example:
  4059.  
  4060.                A1      B1      C1      D1
  4061.             -1000      300     400     500
  4062.  
  4063.             @IRR(0.1,A1..D1) = 0.088963, or 8.9%
  4064.  
  4065.  
  4066.  
  4067.  
  4068.  
  4069.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [69] 
  4070.     @NPV
  4071.     Syntax:  @NPV(Interest Rate,Range)
  4072.         Interest Rate   =   Periodic interest rate
  4073.         Range           =   Cell range which in which the series of cash
  4074.                             flows is to be stored
  4075.  
  4076.         Returns the net present value of a cash flow over interest period.
  4077.  
  4078.         Example:
  4079.            @NPV(0.0925,A1..A5)
  4080.  
  4081.  
  4082.     @PMT
  4083.     Syntax:  @PMT(Principal,Interest Rate,Period)
  4084.         Principal       =   Principal amount
  4085.         Interest Rate   =   Periodic interest rate
  4086.         Period          =   Number of periods
  4087.  
  4088.         Returns the amount of an annuity equal to the principal amortized
  4089.         over the period.
  4090.  
  4091.         Example:
  4092.            @PMT(75000,0.0925,30) = 7462.606
  4093.  
  4094.  
  4095.     @PV
  4096.     Syntax:  @PV(Annuity,Interest Rate,Period)
  4097.         Annuity     =   Periodic payment amount
  4098.         Interest    =   Periodic interest rate
  4099.         Period      =   Number of periods
  4100.  
  4101.         Returns the present value corresponding to an annuity occurring
  4102.         over the specified period.
  4103.  
  4104.         Example:
  4105.            @PV(700,0.0925,30) = 7035.075
  4106.  
  4107.  
  4108.     @RATE
  4109.     Syntax:  @RATE(Fval,PVal,Nterm)
  4110.  
  4111.         FVal        =   Future value
  4112.         PVal        =   Present value
  4113.         NTerm       =   Number of compounding terms
  4114.  
  4115.         Returns the interest rate required for a present value PVal,
  4116.         invested for Nterm number of compounding periods to reach a future
  4117.         value FVal.
  4118.  
  4119.         Examples:
  4120.            @RATE(90000,20000,20)  =       0.078
  4121.            @RATE(190000,50000,20) =       0.069
  4122.  
  4123.     @SLN
  4124.     Syntax:  @SLN(Cost,Salvage,Life)
  4125.         Cost        =   Cost of a purchase
  4126.         Salvage     =   Value at the end of the depreciation
  4127.  
  4128.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [70] 
  4129.         Life        =   Number of periods for full depreciation
  4130.  
  4131.         Returns the amount of depreciation per period, using the straight
  4132.         line depreciation method.
  4133.  
  4134.         Examples:
  4135.            @SLN(5000,1000,5)       =    800.0
  4136.            @SLN(11000,1600,10)     =    940.0
  4137.  
  4138.  
  4139.     @SYD
  4140.     Syntax:  @SYD(Cost,Salvage,Life,Period)
  4141.         Cost    =  Cost of a purchase
  4142.         Salvage =  Value at the end of the depreciation
  4143.         Life    =  Number of periods for full depreciation
  4144.         Period  =  Current Period
  4145.  
  4146.         Returns the amount of depreciation allowed during the specified
  4147.         period, using the Sum-of-Years depreciation method.
  4148.  
  4149.         Example:  5-Year Depreciation Schedule
  4150.            @SYD(5000,1000,5,1)     =   1333.3
  4151.            @SYD(5000,1000,5,2)     =   1066.7
  4152.            @SYD(5000,1000,5,3)     =    800.0
  4153.            @SYD(5000,1000,5,4)     =    533.3
  4154.            @SYD(5000,1000,5,5)     =    266.7
  4155.                To Date Total           4000.0
  4156.  
  4157.  
  4158.     @TERM
  4159.     Syntax:  @TERM(Pmt,Int,FVal)
  4160.         FVal    = Future value
  4161.         Pmt     = Periodic payment
  4162.         Int     = Interest rate per compounding period
  4163.  
  4164.         Returns the number of compounding periods required for some
  4165.         periodic payment (Pmt), invested at an interest rate (Int) per
  4166.         compounding period to reach a future value (FVal).
  4167.  
  4168.         Examples:
  4169.           @TERM(100,0.15,1000)        =      6.6 periods
  4170.            @TERM(850,0.07,100000)      =     32.9 periods
  4171.  
  4172.  
  4173.  
  4174.  
  4175.  
  4176.  
  4177.  
  4178.  
  4179.  
  4180.  
  4181.  
  4182.  
  4183.  
  4184.  
  4185.  
  4186.  
  4187.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [71] 
  4188.     LOGICAL FUNCTIONS
  4189.     ~~~~~~~~~~~~~~~~~
  4190.     #OR# & #AND# Operators
  4191.  
  4192.     The #OR# & #AND# logical operators are used to combine simple logical
  4193.     criteria into complex logical expressions.  These two operators are
  4194.     evaluated according to the following logical table:
  4195.  
  4196.         ==============================================
  4197.             Test1      Test2       #OR#       #AND#
  4198.         ===============================================
  4199.             True       True       True        True
  4200.             True       False      True        False
  4201.             False      True       True        False
  4202.             False      False      False       False
  4203.         ==============================================
  4204.  
  4205.     Examples:
  4206.                        Expression               Result
  4207.                     ~~~~~~~~~~~~~~~~        ~~~~~~~~~~~~~~~~
  4208.                     +(0=0)#AND#(0=1)            0    (False)
  4209.                     +(0=0)#OR#(0=1)             1    (True)
  4210.  
  4211.     @IF(@MOD(5,2)=1#AND#@MOD(6,2)=0,1,0) returns 1 (true)
  4212.  
  4213.     NOTES:      1.  Spaces between the values and logical operators are
  4214.                     not allowed.
  4215.                 2.  Use of parentheses is recommended for clarity.
  4216.  
  4217.  
  4218.     @IF
  4219.     Syntax:  @IF(Test argument,arg1,arg2)
  4220.         If the test is true, Arg1 is returned, otherwise Arg2 is returned.
  4221.         TEST can utilize logical operators '>,<,=,<>' etc., or refer to
  4222.         the result of a cell with a logical result in it.
  4223.  
  4224.         Examples:
  4225.           @IF(10>2,3*2,4+5) = 6
  4226.           @IF(10<2,3*2,4+5) = 9
  4227.  
  4228.         As an example of using a logical operation within a formula try
  4229.         the following:
  4230.  
  4231.         +(a1>2)*3+(a1<=2)*4
  4232.  
  4233.         This formula will yield a result of 3 if the value stored in cell
  4234.         A1 is greater than 2 and will yield a result of 4 if the value is
  4235.         less than 2.
  4236.  
  4237.         NOTE:  Up to 10 nested @IF statements are allowed providing
  4238.                internal limit of 240 bytes per formula is not exceeded.
  4239.  
  4240.  
  4241.     @ISNUM
  4242.     Syntax:  @ISNUM(Cell)
  4243.         This function is similar to the @ISSTR function.  It will return 1
  4244.         for TRUE if the cell contains a number or a formula, 0 for FALSE.
  4245.  
  4246.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [72] 
  4247.     @ISSTR
  4248.     Syntax:  @ISSTR(Cell)
  4249.         This function checks to see if the specified cell contains a
  4250.         label. It returns 1 for TRUE if the cell contains a string or a
  4251.         label, 0 for FALSE.
  4252.  
  4253.         NOTE:  A blank cell is neither a string nor a number.
  4254.  
  4255.  
  4256.     @ISNA
  4257.     Syntax:  @ISNA(Cell)
  4258.         Tests for the special value of NA in cell.  If the cell contains
  4259.         NA it returns 1 (true); otherwise, it returns 0 (false).  Please
  4260.         note that if a cell contains the label "NA" (not produced by the
  4261.         @NA function), it is not recognized by the @ISNA function.
  4262.  
  4263.  
  4264.     @ISERR
  4265.     Syntax:  @ISERR(Expression)
  4266.              where expression can be a cell reference or any other valid AS-
  4267.              EASY-AS expression.
  4268.  
  4269.         This function is used to trap ERR displays and prevent propagation
  4270.         through the recalculation sequence.  A value of 1 (true) is
  4271.         returned if the cell contains ERR or the expression evaluates to
  4272.         an error condition.  A value of 0 (false) is returned otherwise.
  4273.  
  4274.         Examples:
  4275.            @ISERR(10/5)=0  (Not an error)
  4276.            @ISERR(10/0)=1  (Error in Expression)
  4277.  
  4278.  
  4279.     @ERR
  4280.     Syntax:  @ERR
  4281.         Returns the value ERR in the current cell and in any other cells
  4282.         that reference it directly or indirectly. The ERR value returned
  4283.         by this function is the same ERR value produced by AS-EASY-AS when
  4284.         it encounters an error.
  4285.  
  4286.  
  4287.     @NOT
  4288.     Syntax:  @NOT(Cell)
  4289.         Returns the value 0 if cell contains the value 1 and the value 1
  4290.         if cell contains 0 or any other value.  If cell contains a string,
  4291.         then the string is returned, unchanged.
  4292.  
  4293.  
  4294.  
  4295.  
  4296.  
  4297.  
  4298.  
  4299.  
  4300.  
  4301.  
  4302.  
  4303.  
  4304.  
  4305.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [73] 
  4306.  
  4307.     STATISTICAL FUNCTIONS
  4308.     ~~~~~~~~~~~~~~~~~~~~~
  4309.     These functions operate on a range of values. A range specifies a
  4310.     rectangular block of data in the spreadsheet, i.e.  Range = A1..B10
  4311.     defines the block of data from:
  4312.  
  4313.                               a1...b1
  4314.                                .    .
  4315.                                .    .
  4316.                              a10...b10
  4317.  
  4318.  
  4319.     Presented below are the statistical functions.  To illustrate the use
  4320.     of each function, simple examples are provided.
  4321.  
  4322.     All examples will operate on the numbers contained in the portion of
  4323.     the spreadsheet duplicated below, A1..C3
  4324.  
  4325.           ........A/.......B/.......C/
  4326.         1       1.1      5.6      8.2
  4327.         2       2.3      7.5       10
  4328.         3       3.5      4.4        2
  4329.  
  4330.  
  4331.     @AVG
  4332.     Syntax:  @AVG(Range)
  4333.         Range =     Cell range to be averaged
  4334.         Returns the average of the range.
  4335.  
  4336.         Example:
  4337.            @AVG(A1..C3) = 4.955555
  4338.  
  4339.  
  4340.     @COMB
  4341.     Syntax:  @COMB(N,R)
  4342.         N,R = any integer value such that N ≥ R
  4343.  
  4344.         Number of combinations of N distinct items taken R at a time.
  4345.  
  4346.         Example:    @COMB(6,2) = 30
  4347.  
  4348.  
  4349.     @COUNT
  4350.     Syntax:  @COUNT(Range)
  4351.         Range =     Cell range to be counted
  4352.         Returns the number of elements in the range, (blank cells and
  4353.         cells containing text are ignored).
  4354.  
  4355.         Example:
  4356.            @COUNT(A1..C3) = 9
  4357.  
  4358.  
  4359.  
  4360.  
  4361.  
  4362.  
  4363.  
  4364.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [74] 
  4365.  
  4366.     @FACT
  4367.     Syntax:  @FACT(X)
  4368.         X = Numeric value where (0 < X < 33)
  4369.         Returns the factorial of X.  (See also @GAMMALN for floating point
  4370.         related function and "!" operator).
  4371.  
  4372.         Example:
  4373.           @FACT(6) = 720
  4374.  
  4375.  
  4376.     @MAX
  4377.     Syntax:  @MAX(Range)
  4378.         Range =     Cell range to be analyzed
  4379.         Returns the maximum value in the range.
  4380.  
  4381.         Examples:
  4382.           @MAX(A1..C3) = 10
  4383.           @MAX(A1..A3,15,C1..C3) = 15
  4384.  
  4385.  
  4386.     @MIN
  4387.     Syntax:  @MIN(Range)
  4388.         Range =     Cell range to be analyzed
  4389.         Returns the minimum value in the range.
  4390.  
  4391.         Examples:
  4392.           @MIN(A1..C3) = 1.1
  4393.           @MIN(A1..A3,1,C1..C3) = 1
  4394.  
  4395.  
  4396.     @PERM
  4397.         Syntax:  @PERM(N,R)
  4398.         N,R = any integer value such that N ≥ R
  4399.         Number of permutations of N distinct items taken R at a time.
  4400.  
  4401.         Example:    @PERM(6,2) = 15
  4402.  
  4403.  
  4404.     SPECIAL NOTES
  4405.     ~~~~~~~~~~~~~
  4406.         1.  The following @Q... functions require the criterion
  4407.             be a string argument.  References to string
  4408.             arguments are permitted.
  4409.  
  4410.         2.  @X represents reference to cell in range upon which
  4411.             criterion is applied (required).
  4412.  
  4413.  
  4414.     @QMAX
  4415.     Syntax:  @QMAX("@X=Criterion",Range)
  4416.         Criterion = Value or formula to be used for match
  4417.         Range = Cell range
  4418.         Returns the maximum value of those cells in the range that match
  4419.         the criterion.
  4420.  
  4421.  
  4422.  
  4423.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [75] 
  4424.         Example:
  4425.            @QMAX("@X<5",A1..C3) = 4.4
  4426.  
  4427.  
  4428.     @QMIN
  4429.     Syntax:  @QMIN("@X=Criterion",Range)
  4430.         Criterion = Value or formula to be used for match
  4431.         Range = Cell range
  4432.         Returns the minimum value of those cells in the range that match
  4433.         the criterion.
  4434.  
  4435.         Example:
  4436.            @QMIN("@X>5",A1..C3) = 5.6
  4437.  
  4438.  
  4439.     @QSTD
  4440.     Syntax:  @QSTD("@X=Criterion",Range)
  4441.         Criterion = Value or formula to be used for match
  4442.         Range = Cell range
  4443.         Returns the standard deviation of those cells records in the range
  4444.         that match the criterion.
  4445.  
  4446.         Example:
  4447.           @QSTD("@X>5",A1..C3) = 1.575
  4448.           (Determine standard deviation of all cells with value > 5.)
  4449.  
  4450.  
  4451.     @QSUM
  4452.     Syntax:  @QSUM("@X=Criterion",Range)
  4453.         Criterion = Value or formula to be used for match
  4454.         Range = Cell range
  4455.         Returns the sum of the records in the range that match the criterion.
  4456.  
  4457.         Example:    @QSUM("@X>5",A1..C3) = 31.3
  4458.  
  4459.  
  4460.     @QVAR
  4461.     Syntax:  @QVAR("@X=Criterion",Range)
  4462.         Criterion = Value or formula be used for match in top of row
  4463.         Range = Cell range
  4464.         Returns the population variance of the records in the range that
  4465.         match the criterion.
  4466.  
  4467.         Example:    @QVAR("@X>5",A1..C3) = 2.48
  4468.  
  4469.  
  4470.  
  4471.     @STD(Range)
  4472.         Range = Cell range to be evaluated
  4473.         Returns the standard deviation of the elements in the range.
  4474.  
  4475.         Example:
  4476.           @STD(A1..C3) =  2.904827
  4477.  
  4478.  
  4479.  
  4480.  
  4481.  
  4482.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [76] 
  4483.  
  4484.     @SUM
  4485.     Syntax:  @SUM(Range)
  4486.         Range = Cell range to be evaluated
  4487.         Returns the summation of the range.
  4488.  
  4489.         Examples:
  4490.           @SUM(A1..C3) = 44.6
  4491.           @SUM(A1..C3,R3,D9,X3..Y9) = 255.5
  4492.  
  4493.  
  4494.     @VAR
  4495.     Syntax:  @VAR(Range)
  4496.         Range =     Cell range to be analyzed
  4497.         Returns the population variance of the range.
  4498.  
  4499.         Example:
  4500.           @VAR(A1..C3) =  8.438024
  4501.  
  4502.  
  4503.  
  4504.     SPECIAL FUNCTIONS
  4505.     ~~~~~~~~~~~~~~~~~
  4506.     @CASE
  4507.     Syntax:  @CASE(Num,Arg2,....Argn)
  4508.         Num =  Any number or calculated value where Num > 0
  4509.         Arg1...ArgN =  Any number, string, character
  4510.  
  4511.         Returns the Numth argument from the argument list.
  4512.  
  4513.         Examples:
  4514.           @CASE(2,"A",17,"ABC",4) = 17
  4515.           @CASE(3,"Abc"&"d",129/4,@LEFT("Example",5),123) = Examp
  4516.                      |.........||....||......................||..|
  4517.                           :       :              :             :
  4518.                           :       :              :             :
  4519.                         First     :            Third           :
  4520.                        Argument   :           Argument         :
  4521.                                 Second                       Fourth
  4522.                                Argument                     Argument
  4523.  
  4524.  
  4525.     @COLS
  4526.     Syntax:  @COLS(Range)
  4527.         Range = Any cell Range.
  4528.         Returns the number of columns in the specified range.
  4529.  
  4530.         Examples:
  4531.           @COLS(A1..E121) = 5
  4532.           @COLS(AA11..BB32) = 27
  4533.           @COLS(TEST) = 6  where TEST = named range of (C5..H21)
  4534.  
  4535.     @HTABLE
  4536.     Syntax:  @HTABLE(Criterion,Range,Offset)
  4537.         Criterion =     Value to be used for match in top row of range
  4538.         Range =         Cell range which contains criterion range as top row
  4539.                         and includes data value table
  4540.  
  4541.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [77] 
  4542.         Offset =        Number of rows down in data value table from
  4543.                         which to return a value
  4544.  
  4545.         Returns the value at a vertical offset in the column that matches
  4546.         the criterion.
  4547.  
  4548.         @HTABLE(5.6,A1..C3,1) = 7.5
  4549.  
  4550.         The @HTABLE function operates as follows:
  4551.  
  4552.         Search starts at the upper left cell and proceeds until a value is
  4553.         found which is greater than the criterion. The position of the
  4554.         previous value is then used as a starting offset into the table.
  4555.         The offset is added to the top row and the value at the offset
  4556.         position is returned by the function.
  4557.  
  4558.  
  4559.  
  4560.     @HTERP
  4561.     Syntax:  @HTERP(Cell,Range,Offset)
  4562.         Perform a straight-line interpolation based on table specified by
  4563.         Range. It operates similar to @HTABLE function, but returns a
  4564.         result based on the following:
  4565.  
  4566.                  (Xv - Xi)
  4567.         Yv      ----------- x (Yi+1 - Yi)  +  Yi
  4568.                 (Xi+1 - Xi)
  4569.  
  4570.         Where X is the first row and Y is the offset row in the table.
  4571.  
  4572.  
  4573.  
  4574.     @INDEX
  4575.     Syntax:  @INDEX(Range,Col,Row)
  4576.         Range = Any cell Range
  4577.         Col, Row = Numeric value or value formula
  4578.         Searches the specified range and returns the element located Col
  4579.         columns to the right and Row rows down from the top left corner of
  4580.         the range.  Element may be a string or a value.
  4581.  
  4582.         Examples:
  4583.  
  4584.             /........A/........B/........C/
  4585.           1
  4586.           2         22        RR        HH
  4587.           3          A         1         2
  4588.           4         21        23         9
  4589.           5          b         F         3
  4590.  
  4591.          @INDEX(A2..C5,2,2) = 1
  4592.          @INDEX(A2..C5,3,1) = HH
  4593.          @INDEX(A2..C5,1,3) = 21
  4594.  
  4595.          Note that Col and Row have to satisfy the criteria:
  4596.             0 < Row < 8,192
  4597.             0 < Col < 255
  4598.  
  4599.  
  4600.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [78] 
  4601.     @LENGTH
  4602.     Syntax:  @LENGTH(Cell)
  4603.         Returns the length of the string in the referenced Cell (if the
  4604.         contents are a label), otherwise it returns zero if cell is empty.
  4605.         Note that the prefix character of a label is not considered in the
  4606.         length calculation.
  4607.  
  4608.  
  4609.     @LINK
  4610.     Syntax:  @LINK("Drive:\Path\Filename>Cell")
  4611.     NOTES: 1.  Double quotes and the '>' character are necessary.
  4612.            2.  If Drive:\Path are not specified, the search defaults to the
  4613.                current directory.
  4614.  
  4615.         As the name indicates, it links cells in the current worksheet to
  4616.         cells in a worksheet on disk.  Once this function is entered, a
  4617.         link is created but it is not updated.  As a result, as soon as
  4618.         this function is entered, the cell frequently displays "N/A".  Do
  4619.         not panic, a newly created link is not updated until the /File,
  4620.         Uplink command is executed.  At that time, any value or string
  4621.         variable in the referenced cell of the indicated sheet on disk is
  4622.         retrieved and placed in the calling cell.
  4623.  
  4624.         Updating occurs automatically when the spreadsheet is first retrieved.
  4625.  
  4626.  
  4627.     @ROWS
  4628.     Syntax:  @ROWS(Range)
  4629.         Range = Any cell Range.
  4630.         Returns the number of rows in the specified range.
  4631.  
  4632.         Examples:
  4633.           @ROWS(A1..E121) = 121
  4634.           @ROWS(AA11..BB132) = 122
  4635.           @ROWS(TEST) = 17  where TEST = named range of (C5..H21)
  4636.  
  4637.  
  4638.     @USER
  4639.     Syntax:  @USER(Arg1,Arg2,Arg3)
  4640.         USER = User provided name of function (any unique name)
  4641.         Arg1,Arg2,Arg3 = User provided numeric arguments
  4642.         This is a special function, defined by the user, which can have up
  4643.         to three numeric arguments.  The user specifies the formula which
  4644.         relates the arguments and creates a unique range name which
  4645.         includes the cells containing the formula and the arguments.  The
  4646.         function may then be used in the worksheet just as any other
  4647.         internal @ function.  To set up the function, perform the
  4648.         following steps:
  4649.  
  4650.         1.  Place up to three numeric arguments, Arg1, Arg2, Arg3, in a
  4651.         single row in adjacent columns.
  4652.  
  4653.         2.  Place the formula which relates the numeric values in the cell
  4654.         below Arg1, the leftmost argument.
  4655.  
  4656.         3.  Give a unique range name to the block which includes the
  4657.         arguments and the formula.  This range name will become the
  4658.  
  4659.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [79] 
  4660.         function name.
  4661.  
  4662.         4.  Use the newly defined function.
  4663.  
  4664.  
  4665.  
  4666.     @VTABLE
  4667.     Syntax:  @VTABLE(Criterion,Range,Offset)
  4668.         Criterion   =   Value to be used for match in left column of range
  4669.         Range       =   Cell range which contains criterion range as left
  4670.                         column and includes data value table
  4671.         Offset      =   Number of columns to the right in data value table
  4672.                         from which to return a value.  The first criterion
  4673.                         column in the range has an offset of zero.
  4674.  
  4675.         Returns the value at a horizontal offset in the row that matches
  4676.         the criterion.  The @VTABLE function operates as follows:
  4677.  
  4678.         Search starts at the upper left cell and proceeds downwards row by
  4679.         row until a value is found which is greater than the criterion.
  4680.         The position of the previous value is then considered as a match.
  4681.         The offset is added to the left column and the value at the offset
  4682.         position is returned by the function.
  4683.  
  4684.         NOTE: Table values outside the search region cause an error result.
  4685.  
  4686.  
  4687.     @VTERP
  4688.     Syntax:  @VTERP(Cell,Range,Offset)
  4689.         Similar to @HTERP, but scans vertically (row by row).
  4690.  
  4691.  
  4692.  
  4693.  
  4694.  
  4695.  
  4696.  
  4697.  
  4698.  
  4699.  
  4700.  
  4701.  
  4702.  
  4703.  
  4704.  
  4705.  
  4706.  
  4707.  
  4708.  
  4709.  
  4710.  
  4711.  
  4712.  
  4713.  
  4714.  
  4715.  
  4716.  
  4717.  
  4718.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [80] 
  4719.  
  4720.     DATE AND TIME FUNCTIONS
  4721.     ~~~~~~~~~~~~~~~~~~~~~~~
  4722.     The functions below are based on the number of days elapsed since
  4723.     January 1, 1900. In order to have the value displayed in a date form,
  4724.     the cell(s) have to be formatted with one of the date formats (see
  4725.     formatting section).
  4726.  
  4727.  
  4728.     @DATE
  4729.     Syntax:  @DATE(Year,Month,Day)
  4730.         Year    =   Value corresponding to last two digits of year
  4731.         Month   =   Value corresponding to month of year, 1-12
  4732.         Day     =   Value corresponding to day of month, 1-31
  4733.         Returns a unique integer for each day since January 1, 1900.
  4734.  
  4735.         Example:
  4736.             @DATE(91,11,1) returns an integer of 33543.  If the cell is
  4737.             formatted as Date MM/DD/YY, then the date 11/1/91 is displayed.
  4738.  
  4739.  
  4740.     @DATEVAL
  4741.     Syntax:  @DATEVAL("MM/DD/YY")
  4742.         Convert the string argument to a date number representing the
  4743.         month(MM):day(DD):year(YY).  Note that the cell can be formatted to
  4744.         display the above VALUE in a date format.
  4745.  
  4746.         Examples:
  4747.           @DATEVAL("6/15/89")             = 32674  (Unformatted cell)
  4748.           @DATEVAL("6/15/89")             = 06/15/89  (Formatted cell)
  4749.           @DATEVAL("7"&"/6"&"/89")        = 07/06/89  (Formatted cell)
  4750.           @DATEVAL(A6)                    = 10/13/89  (Formatted cell)
  4751.                                             where cell A6 contains the
  4752.                                             string "10/13/89"
  4753.  
  4754.           NOTE: Spaces, colons, semicolons, and other non-numberic
  4755.                 characters are acceptable delimeters.
  4756.  
  4757.  
  4758.     @DAY
  4759.     Syntax:  @DAY(x)
  4760.         x = the number of days since Jan. 1, 1900.
  4761.         Based on a unique day assigned to 'x', computes the day in the
  4762.         month of that date.
  4763.  
  4764.         Example:
  4765.           @DAY(33543) returns the number 1
  4766.           (The date number is equivalent to November 1, 1991)
  4767.  
  4768.  
  4769.     @HOUR
  4770.     Syntax:  @HOUR(Value)
  4771.         Value   =   Any number or calculated value in fractional days
  4772.                     i.e., 1 day = 24 hours, 0.5 day = 12 hours
  4773.         Returns the hours corresponding to the fractional portion of
  4774.         Value.  The integer portion of Value (representing days) is
  4775.         ignored.
  4776.  
  4777.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [81] 
  4778.         Examples:
  4779.           @HOUR(0.5)      = 12
  4780.           @HOUR(3/4)      = 18
  4781.           @HOUR(0.25)     =  6
  4782.           @HOUR(9.25)     =  6
  4783.  
  4784.  
  4785.     @MINUTE
  4786.     Syntax:  @MINUTE(Value)
  4787.         Value = Any number or calculated value in fractional days
  4788.         Returns the minutes corresponding to the fractional portion of Value.
  4789.         The integer portion of Value (representing days) is ignored.
  4790.  
  4791.         Examples:
  4792.           @MINUTE(0.51)  = 14
  4793.           @MINUTE(0.33)  = 55
  4794.           @MINUTE(3.33)  = 55
  4795.  
  4796.  
  4797.     @MONTH
  4798.     Syntax:  @MONTH(x)
  4799.         x = the number of days since January 1, 1900.
  4800.         Based on a unique day assigned to "x", computes the month in which
  4801.         that day occurs.
  4802.  
  4803.         Example:
  4804.           @MONTH(33543) returns the number 11.
  4805.           (The date number is equivalent to November 1, 1991)
  4806.  
  4807.     @SECOND
  4808.     Syntax:  @SECOND(Value)
  4809.         Value = Any number or calculated value in fractional days
  4810.         Returns the seconds corresponding to the fractional portion of
  4811.         Value. The integer portion of Value (representing days) is
  4812.         ignored.
  4813.  
  4814.         Examples:
  4815.            @SECOND(0.511)      = 50
  4816.            @SECOND(0.541)      =  2
  4817.            @SECOND(9.541)      =  2
  4818.  
  4819.     @TIME
  4820.     Syntax:  @TIME(Hr,Min,Sec)
  4821.         Hr  = A number between 0 and 23, Hours
  4822.         Min = A number between 0 and 59, Minutes
  4823.         Sec = A number between 0 and 59, Seconds
  4824.         Returns a fractional time serial number represented by Hr:Min:Sec.
  4825.         Note that in order to have a cell containing this function display
  4826.         in time format, you have to format it using /Range, Format, Date 5
  4827.         or 6.
  4828.  
  4829.  
  4830.     @TIMEVAL
  4831.     Syntax:  @TIMEVAL("HH:MM:SS")
  4832.         HH =    Value representing number of hours
  4833.         MM =    Value representing number of minutes
  4834.         SS =    Value representing number of seconds
  4835.  
  4836.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [82] 
  4837.         Convert the string argument to a real number representing the
  4838.         hour(s):minute(s):second(s) as a fraction of a day.  Note that the
  4839.         cell can be formatted to display the above VALUE in a time format.
  4840.  
  4841.         Examples:
  4842.           @TIMEVAL("1:2:3")        = 0.04309027  (Unformatted cell)
  4843.           @TIMEVAL("1:2:3")        = 1:02        (Cell formatted for time)
  4844.           @TIMEVAL("1:2:120")      = 1:04                     ''
  4845.           @TIMEVAL("1:70:120")     = 2:12                     ''
  4846.           @TIMEVAL("25:2:120")     = 1:04                     ''
  4847.  
  4848.           NOTE: The time value is calculated using the following formula:
  4849.  
  4850.                 Hour + Min/60 + Second/3600
  4851.                 --------------------------
  4852.                            24
  4853.  
  4854.  
  4855.     @TODAY
  4856.         Returns the unique number corresponding to today's date and time
  4857.         referenced to January 1, 1900.
  4858.  
  4859.         @TODAY returns the number 33543 if today is November 1, 1991.  If
  4860.         the cell were formatted as Date D-M-Y, then the date 1-Nov-91 is
  4861.         displayed.
  4862.  
  4863.         If the cell were formatted as Date 6 (H:M:S), then the time
  4864.         associated with the fractional part of the date is displayed.
  4865.  
  4866.         NOTE:   @TODAY is NOT automatically updated when a spreadsheet
  4867.                 is retrieved, even if the recalculation mode is set for
  4868.                 automatic.  You must recalc the spreadsheet by manually
  4869.                 pressing the [F9] function key or by macro command.
  4870.  
  4871.  
  4872.     @YEAR
  4873.     Syntax:  @YEAR(x)
  4874.         x = the number of days since January 1, 1900.
  4875.         Based on a unique day assigned to 'x', computes the year in which that
  4876.         day occurs.
  4877.  
  4878.         Example:
  4879.            @YEAR(33543) returns the number 91.
  4880.  
  4881.  
  4882.  
  4883.  
  4884.  
  4885.  
  4886.  
  4887.  
  4888.  
  4889.  
  4890.  
  4891.  
  4892.  
  4893.  
  4894.  
  4895.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [83] 
  4896.  
  4897.     9.   MACROS
  4898.     ~~~~~~~~~~~
  4899.     A macro is a sequence of keystrokes which may be activated by pressing
  4900.     the combination of the Alt key and a letter key or by using the [F3]
  4901.     key -macro execute.  An example macro would be the following:
  4902.  
  4903.          {RT}{RT}{DN}
  4904.  
  4905.     The words/letters in braces represent an action keystroke.  The above
  4906.     macro will move the pointer two cells to the right and one cell down.
  4907.     A macro may be placed in any cell.
  4908.  
  4909.     To activate a macro with the [ALT] key, it must have a special type of
  4910.     range name assigned to its location.  The special range name is the
  4911.     backslash [\] followed immediately by any letter from 'A' thru 'Z'.
  4912.     For example:
  4913.  
  4914.          \A
  4915.  
  4916.     This specific macro may be activated by pressing the [ALT] key and the
  4917.     letter 'A' simultaneously.  Therefore, even though the backslash is
  4918.     used to define the range name it actually represents the [alt] key.
  4919.  
  4920.     If you desire a macro to automatically execute upon retrieval of a
  4921.     spreadsheet, name your macro "\0" ( Zero).  When AS-EASY-AS retrieves
  4922.     your spreadsheet, it searches for a macro named "\0".  If one exists,
  4923.     it is automatically executed.  You can have only one auto-executing
  4924.     macro in a spreadsheet.
  4925.  
  4926.     NOTE: To edit an auto-executing macro, it may be necessary to use the
  4927.           /File Merge command to keep the macro from auto-executing as
  4928.           it would if /File Retrieve were used.
  4929.  
  4930.  
  4931.     DEFINING A MACRO
  4932.     ~~~~~~~~~~~~~~~~
  4933.     The powerful macros that are supported by AS-EASY-AS provide a
  4934.     complete programming environment for most applications.  Macros can be
  4935.     chained together to provide self running applications that do
  4936.     virtually anything that can be done manually through the command mode.
  4937.  
  4938.     Macro commands can be typed in directly from the keyboard.  This
  4939.     requires that you know the exact sequence of macro commands to perform
  4940.     the desired action ahead of time.
  4941.  
  4942.     For short macros, this method is acceptable.  However, if you have a
  4943.     long macro to create, or if you are unfamiliar with the sequence of
  4944.     commands needed, AS-EASY-AS provides an alternative method for
  4945.     creating macros.
  4946.  
  4947.     AS-EASY-AS has the ability to learn by example, it records your
  4948.     keystrokes as you perform the desired task, and writes them out to the
  4949.     sheet as macro commands.  To access this macro recording ability,
  4950.     select /Sheet, Macro, Compose.
  4951.  
  4952.  
  4953.  
  4954.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [84] 
  4955.     When you first select Compose, AS-EASY-AS starts recording all your
  4956.     keystrokes.  The macro compose buffer is capable of storing 2048
  4957.     characters. When you have completed your macro, reselect /Sheet,
  4958.     Macro, Compose a second time.
  4959.  
  4960.     AS-EASY-AS will prompt you for the cell location in which to place the
  4961.     macro commands.  Simply point to a vacant cell or type in the cell
  4962.     location and hit [ENTER].  The macro commands will be entered,
  4963.     continuing to the next rows below as necessary, writing over any
  4964.     information currently in the cells.
  4965.  
  4966.  
  4967.     EXECUTING A MACRO
  4968.     ~~~~~~~~~~~~~~~~~
  4969.     There are several ways to execute your macro.  The first step is to
  4970.     name your macro.  To define a range name, type the following:  /rnc
  4971.     which stands for /RANGE, NAME, CREATE.
  4972.  
  4973.     After you press the letter 'c'(for Create) the spreadsheet will prompt
  4974.     YOU for the name of the range.  Now type the range name and then press
  4975.     the [ENTER] key.  (Be careful, don't include any spaces in the range
  4976.     name).
  4977.  
  4978.     The next step involves typing (or pointing) the cell which the macro
  4979.     occupies. If the macro was in cell A1, then type A1 [ENTER].  The
  4980.     simplest method of executing macros is to name your macro using the
  4981.     special range name character \ followed by a single letter as
  4982.     discussed previously.
  4983.  
  4984.     Pressing the [ALT] key and the letter name of your macro
  4985.     simultaneously will execute your macro.  Naming your macro \0 (zero)
  4986.     will create a macro that will auto execute each time the spreadsheet
  4987.     is retrieved.
  4988.  
  4989.     A second execution method is to press the [F3] Macro Execute function
  4990.     key. Type in the name of your macro and hit [ENTER], and AS-EASY-AS
  4991.     will execute your macro.
  4992.  
  4993.     If you can't remember your macro name, press [F3] then [F1].  A pick
  4994.     window of all the range names will appear in the middle of your
  4995.     screen. Highlight the name of your macro and hit [ENTER] to execute
  4996.     the macro.
  4997.  
  4998.     A third method to execute your macro is by selecting /Sheet, Macro,
  4999.     Execute. You are allowed to specify a cell address, a named range,
  5000.     etc. Again, pressing [F1] after this option has been selected will
  5001.     display all named ranges in a pick window on the screen.
  5002.  
  5003.     Because of its execution speed, it may be difficult to follow your
  5004.     macro commands to determine if your macro is performing as planned.
  5005.     To assist you in your debugging efforts, AS-EASY-AS provides the
  5006.     ability to execute your macro one command at a time.
  5007.  
  5008.     /Sheet, Macro, Step toggles the macro step execution on and off.  If
  5009.     the option Yes is selected, you are asked to specify the number of
  5010.     msec of delay between macros ( 0 < D < 5000 msec).  If a delay of
  5011.     zero, (D=0), is specified, the program will pause after each macro
  5012.  
  5013.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [85] 
  5014.     command, until you press any key to continue.  The currently executing
  5015.     macro command will also be displayed at the bottom of the screen.
  5016.  
  5017.  
  5018.  
  5019.     MACRO KEYWORDS
  5020.     ~~~~~~~~~~~~~~
  5021.     All menu commands in AS-EASY-AS can be invoked from within a macro
  5022.     with the key-letter (the first letter in the command).  In addition,
  5023.     the following cursor movements have macro keywords:
  5024.  
  5025.      MACRO
  5026.      COMMAMD             MEANING
  5027.     ~~~~~~~~~            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  5028.     {LT  X}         -    Move cursor X cells to the Left
  5029.     {RT  X}         -    Move cursor X cells to the Right
  5030.     {DN  X}         -    Move cursor X cells Downward
  5031.     {UP  X}         -    Move cursor X cells Upward
  5032.     {PGUP  X}       -    Move cursor X pages Up
  5033.     {PGDN  X}       -    Move cursor X pages Down
  5034.     {PGRT  X}       -    Move the cursor X pages to the Right
  5035.     {PGLT  X}       -    Move the cursor X pages to the Left
  5036.     {DEL  X}        -    Delete X characters to the right of cursor
  5037.     {BS  X}         -    Backspace X characters to the Left of the cursor
  5038.     {INS}           -    Same cursor as the [INS] key.  Toggles between
  5039.                          Insert and Overtype modes
  5040.     {INSON}         -    Toggles the Insert mode on
  5041.     {INSOFF}        -    Toggles the Insert mode off
  5042.     {HOME}          -    Move cursor to cell A1
  5043.     {END}           -    Same as the [END] key
  5044.     {EDIT}          -    Places the current cell in the Edit mode [F2]
  5045.     {NAME}          -    Name, show matrix of names same as [F3]
  5046.     {ABS}           -    Make cell reference absolute [F4]. Toggles
  5047.                          between ABS modes.
  5048.     {GOTO cell}     -    GoTo a specified cell, [F5]
  5049.     {WINDOW}        -    If window active toggles the cursor between
  5050.                          windows otherwise toggle the cursor between
  5051.                          the current and previous cursor locations, [F6]
  5052.     {VIEW}          -    Toggle the current view between the opened
  5053.                          windows, same as [F7]
  5054.     {CALC}          -    Recalculate all cells, [F9]
  5055.     {GRAPH}         -    View the specified graph, [F10]
  5056.     {ESC X}         -    Represents the [ESC] (Escape) key (X is
  5057.                          optional).
  5058.          ~          -    Tilde (~), same as the [ENTER] key
  5059.  
  5060.     NOTES:
  5061.       The keystroke [ENTER] in a macro is represented by the
  5062.       tilde (~).
  5063.  
  5064.       All macro commands MUST be enclosed in curly braces {}.
  5065.  
  5066.       The X in the above listing is optional, i.e., {RT 5} moves the
  5067.       cursor to the right 5 cells, whereas {RT} moves the cursor
  5068.       to the right just one cell.
  5069.  
  5070.     Macros are executed from left to right in a given cell and proceed
  5071.  
  5072.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [86] 
  5073.     downwards row by row until either a blank cell is reached, the [ESC]
  5074.     key is pressed, or the {QUIT} macro keyword is executed.
  5075.  
  5076.  
  5077.  
  5078.     ADVANCED MACROS
  5079.     ~~~~~~~~~~~~~~~
  5080.     The advanced macro capabilities of AS-EASY-AS complete a powerful
  5081.     programming environment.  Using these macros, you can set up your own
  5082.     custom menus, set up programming loops, branching and execute sub-
  5083.     routines.
  5084.  
  5085.     NOTE:   All commands below may ONLY be used in an executing
  5086.             macro.
  5087.  
  5088.     {?}
  5089.         Pauses macro execution and awaits keyboard input.  Useful for
  5090.         interrupting macro to allow movement around sheet or entry of
  5091.         data. Macro execution continues only after [ENTER] or [ESC] is
  5092.         pressed.
  5093.  
  5094.         NOTE: [ENTER] and [ESC] characters will not appear in the macro
  5095.               stream.  You must provide them where required to terminate
  5096.               input in response to a prompt.
  5097.  
  5098.  
  5099.     {APPEND F#, "FileName"}
  5100.         F# - File Number (1, 2, 3, 4, or 5)
  5101.         Filename - Name of File, may include drive and path information
  5102.  
  5103.         Open FileName in Append mode. See {OPEN} command.  Subsequent
  5104.         WRITES to the file will cause text to be appended to the end of the file.
  5105.  
  5106.         NOTE:  Any file which is opened with {APPEND}, must be closed
  5107.                with the {CLOSE} macro command before exiting from AS-
  5108.                EASY-AS.  Failure to do so will result in the file information
  5109.                becoming corrupted and unusable.
  5110.  
  5111.  
  5112.     {BEEP X}
  5113.         Produces a beep sound.  This macro could be useful at the end of
  5114.         unattended macro(s) to signal the user that some task is
  5115.         completed, or to get the user's attention when a prompt for
  5116.         information is introduced. Also see {TONE X,Y}.
  5117.  
  5118.  
  5119.     {BLANK Range}
  5120.         Erases the cells in the range defined by 'Range'.  The effect is
  5121.         the same as when executing the /re command.  This method is
  5122.         sometimes more desirable than /re since it will not display the
  5123.         menus as does /re when it is used in a macro.
  5124.  
  5125.  
  5126.  
  5127.     {BORDEROFF}
  5128.         This macro command is used to turn the column and row borders off.
  5129.         It's function is the same as the /sbs menu command.  Once this
  5130.  
  5131.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [87] 
  5132.         macro is invoked, the borders of the sheet, i.e., the portion
  5133.         containing the row numbers, become invisible until a {BORDERON}
  5134.         command is invoked.
  5135.  
  5136.  
  5137.     {BORDERON}
  5138.         This macro command  cancels the {BORDEROFF} macro.  You might note
  5139.         that the screen needs to be updated, using the {UPDATE} macro
  5140.         after {BORDERON} is invoked.
  5141.  
  5142.  
  5143.     {CALL Location}  or {RangeName}
  5144.         Call the subroutine identified by 'location'.  This is different
  5145.         than the {JUMP} command.  {JUMP} transfers execution of the macro
  5146.         to a given location but 'forgets' its current position.  {CALL},
  5147.         on the other hand, transfers execution to another location.
  5148.  
  5149.         When a {RET} command is encountered, it returns execution to the
  5150.         next command following the calling cell and continues with the
  5151.         macro. Subroutines may be nested (they can call more subroutines)
  5152.         up to 20 levels deep.
  5153.  
  5154.         Any macro command sequence can be called as a subroutine.  Macro
  5155.         commands can call themselves as subroutines (i.e., they can be
  5156.         recursive).  Improperly designed recursive macros can result in
  5157.         serious problems and will cause the macro stack overflow error.
  5158.  
  5159.  
  5160.     {CLOSE F#}
  5161.         F# - File Number (1, 2, 3,...)
  5162.  
  5163.         Close disk file F#.  See {OPEN}, {READ}, {WRITE}, and {APPEND}
  5164.         macro commands.
  5165.  
  5166.         As an example, {CLOSE 1} will close disk file #1.
  5167.  
  5168.  
  5169.     {CLRSCR}
  5170.         Clears the screen, so that a messages can be written for
  5171.         presentations, etc.  The screen remains in this mode until an
  5172.         {UPDATE} macro command is executed or the macro terminates.
  5173.  
  5174.  
  5175.     CURSOR
  5176.         This variable may only be used in edit or macro modes and refers to the
  5177.         cell occupied by the current position of the cursor.
  5178.  
  5179.         Example:
  5180.           Assume that cells A1 through A100 contain the values 1., 3., 4.5,
  5181.           and 8. randomly distributed.  Let's say that you want to replace
  5182.           all occurrences of the value 8. with 1.25.
  5183.  
  5184.         The following macro would do the trick for you:
  5185.  
  5186.         Cell    Contents                             Explanation
  5187.         ~~~~    ~~~~~~~~~~~~~~~~~~~~~~               ~~~~~~~~~~~
  5188.         B1      0                                    Set a counter cell
  5189.  
  5190.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [88] 
  5191.         B2      {LET B1,0}{GOTO A1}                  Go to beginning of
  5192.                                                      range
  5193.         B3      {If CURSOR=8}{LET CURSOR,1.25}       Set the criterion
  5194.         B4      {LET B1,B1+1}                        Increase counter by
  5195.                                                      1.
  5196.         B5      {IF B1=100}{JUMP OUT}                Check if all 100 cells
  5197.                                                      have been processed (if
  5198.                                                      the counter cell reached
  5199.                                                      100). If yes, jump out of
  5200.                                                      the loop.
  5201.         B6      {DN}                                 Move the cursor down
  5202.                                                      one cell.
  5203.         B7      {JUMP BEGIN}                         Repeat the loop
  5204.         B8      {QUIT}                               Stop executing macro.
  5205.  
  5206.         **  Don't forget to define the following range names:
  5207.  
  5208.         Range Name               Cell
  5209.         ~~~~~~~~~~               ~~~~
  5210.          BEGIN                    B3
  5211.          OUT                      B8
  5212.          \A                       B2 <-Press Alt-A to start macro
  5213.  
  5214.  
  5215.     {DELAY X}
  5216.         This macro command will halt program execution for  the specified
  5217.         (X) number of thousands of a second  within a macro, ONLY while
  5218.         displaying a graph or the Sheet Status screen.  A delay of X equal
  5219.         to 0 resets the pause mechanism to wait until a key has been
  5220.         pressed.  This could be useful in displaying a graph for a given
  5221.         amount of time, before continuing execution of the macro.
  5222.  
  5223.  
  5224.     {ESCON} and {ESCOFF}
  5225.         Disables/enables the escape key which would normally permit a
  5226.         macro to be aborted.
  5227.  
  5228.     CAUTION: {ESCOFF} should be used only if other provisions for
  5229.              exiting a macro have been made.  If no such provisions
  5230.              exist, you are liable to end up in an infinite loop, with
  5231.              the only way out being to reboot your computer.
  5232.  
  5233.  
  5234.     {EXIT}
  5235.         Cancels one/top level of subroutine calls and allows macro
  5236.         programming to continue.  This macro command was built into AS-
  5237.         EASY-AS to allow the user flexibility when a forced exit out of
  5238.         subroutines and loops is desired.
  5239.  
  5240.  
  5241.     {FOR COUNTER, START, STOP, STEP}
  5242.         Counter  =  Cell location which keeps track of the number of macro
  5243.                     iterations
  5244.         Start    =  The beginning value for the counter
  5245.         Stop     =  The end value for the counter
  5246.         Step     =  The incremental value to be added to counter after
  5247.                     each iteration
  5248.  
  5249.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [89] 
  5250.         Executes the macro commands which follow until {NEXT} is
  5251.         encountered.  The counter is increased by the value of step.  If
  5252.         the new counter value does not exceed the step value, the macro
  5253.         loop is repeated again.  This continues until the counter exceeds
  5254.         the stop value at which time execution transfers to the macro
  5255.         command cell below {NEXT}.
  5256.  
  5257.         NOTES:  1.  If Stop is initially less than the Start value, the macro
  5258.                     loop will be skipped and execution transferred to the cell
  5259.                     below.
  5260.  
  5261.                 2.  If Step is set equal to 0 (zero), an infinite loop will be
  5262.                     created as the counter will never exceed the Stop value.
  5263.  
  5264.                3.   A maximum of 4 nested {FOR}{NEXT} loops may be
  5265.                     created.
  5266.  
  5267.  
  5268.     {GET CELL}
  5269.         This command accepts the next character from the keyboard and
  5270.         places it in CELL. (This occurs as soon as you depress a keyboard
  5271.         key you do not need to press [ENTER]).  For example, {GET A13}
  5272.         stops and waits until a key is pressed.  If the Key "A" is
  5273.         pressed, then "A" is placed in cell A13.
  5274.  
  5275.  
  5276.     {GOTOXY A1,A2}
  5277.         Places the character cursor at the column and row screen
  5278.         coordinate specified by A1 and A2.  A1 is the column (1..80) and
  5279.         A2 is the row (1..25) of that coordinate.   Subsequent use of the
  5280.         {WRITE} macro will place text at the current cursor position.
  5281.  
  5282.         Example:       {Gotoxy 20,12}
  5283.                        {Write "This text is in the middle of the screen"}
  5284.  
  5285.  
  5286.     {IF Condition}Action...
  5287.         If the 'condition' is met, then proceed with the identified
  5288.         'action' in the same cell, otherwise continue with the macro in
  5289.         the cell below this command.  This macro command is very similar
  5290.         to the if-then-else structure found in many programming languages.
  5291.  
  5292.         It is important to remember, however, that the "then" action must
  5293.         follow in the same cell as the IF test.
  5294.  
  5295.         Example:       {goto A1}~Macro Example~
  5296.                        {IF Test>2}{JUMP A50}
  5297.                        {calc}
  5298.  
  5299.         Explanation:  Position cursor on cell A1. Place the string 'Macro
  5300.         Example' in that cell.  If the value of the cell named 'Test' is
  5301.         greater than 2, go  to cell A50 and start executing the macro in
  5302.         that cell.  If the value of 'Test' is less than 2, then
  5303.         recalculate the spreadsheet.
  5304.  
  5305.  
  5306.  
  5307.  
  5308.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [90] 
  5309.     {INDXY m,n}
  5310.         Sets the location of the mode indicator, to line (m) and column
  5311.         (n). (This is the area displaying the messages "Ready, Macro,
  5312.         Wait, etc.). The value for "m" must be 1-24 and that for "n" must
  5313.         be 1-80.
  5314.  
  5315.     {INKEY CELL}
  5316.         Pauses execution of the macro and stores a single typed character
  5317.         in CELL. Macro execution continues after the key has been pressed.
  5318.  
  5319.  
  5320.     {INLABEL "Prompt", Location}
  5321.     {INVALUE "Prompt", Location}
  5322.         Display the text 'Prompt' on the control panel and pause for
  5323.         input.  The user can type a label (text string), or a value, and
  5324.         when [ENTER] is pressed, the label, or the value, is placed in the
  5325.         cell identified by 'Location'.
  5326.  
  5327.         Example:       {INLABEL "Enter Your Name",A5}
  5328.             Explanation:  Display the prompt 'Enter Your Name' in the
  5329.             control panel and pause.  When a user types his name and
  5330.             presses [ENTER], the name is placed in cell A5.
  5331.  
  5332.  
  5333.     {INRANGE "Prompt",Cell}
  5334.         This macro command prompts the user for a cell range.  The range
  5335.         can be defined using the pointing method (or the typing method)
  5336.         and the result is placed in cell.
  5337.  
  5338.         Example:
  5339.           The Macro {InRange " What is the Erase Range", d2} would place the
  5340.           prompt 'What is the Erase Range' in the panel area and wait for
  5341.           input.
  5342.  
  5343.           If the user presses:
  5344.  
  5345.               [HOME]
  5346.                 .      <----- (Period)
  5347.               [DOWN]
  5348.               [DOWN]
  5349.               [RIGHT]
  5350.               [ENTER]
  5351.  
  5352.           The text A1..B3, representing the highlighted range, would be
  5353.           placed in cell D2.
  5354.  
  5355.  
  5356.     {IOINIT "COMn:Baud,PA,DB,SB,LEN,DL"}
  5357.          Initialize the serial port COMn where n=1,2,3,4.
  5358.          Baud      =    Baud Rate (300, 1200, 2400, .....)
  5359.          PA        =    Parity (E, O, N, ...)
  5360.          DB        =    Data Bits (Normally 7 or 8)
  5361.          SB        =    Stop Bits (Normally 1 or 2)
  5362.          LEN       =    Maximum length of string that will be transmitted or
  5363.                         accepted as input (Default is 80)
  5364.          DL        =    Delay in units of System Cycles.
  5365.  
  5366.  
  5367.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [91] 
  5368.         This macro command is used to initialize one of the computer's
  5369.         serial ports for subsequent use of the {IOVALUE} and {IOLABEL}
  5370.         macro commands.
  5371.  
  5372.         Example:
  5373.           {IOINIT "COM2:2400,N,8,1,80,2000"}
  5374.  
  5375.           Initialize serial port 2 for 2400 baud, No parity, 8 data bits, 1
  5376.           stop bit, a maximum string length of 80, and a delay of 2000
  5377.           system cycles.
  5378.  
  5379.  
  5380.     {IOLABEL "String",Range}
  5381.         Transmit String to the initialized communications port and store
  5382.         the received information, as a label, in Range.  You may leave
  5383.         String blank ('''')if you just want to get information from the
  5384.         port without sending anything.  Conversely, use the range name NUL
  5385.         if you are just sending information to the port.
  5386.  
  5387.         Example:       {IOLABEL "ATDT12345667&@CHR(13),NUL}
  5388.             Send the dial up sequence ATDT1234567, followed by CR to
  5389.             the initialized serial port.  No information expected to come
  5390.             back to AS-EASY-AS, Range = NUL.
  5391.  
  5392.  
  5393.     {IOVALUE "String",Range}
  5394.         Transmit String to the initialized communications port and store
  5395.         the received information, as a label, in Range.  You may leave
  5396.         String blank ('''')if you just want to get information from the
  5397.         port without sending anything.  Conversely, use the range name NUL
  5398.         if you are just sending information to the port.
  5399.  
  5400.         Example:  {IOVALUE "",A2}
  5401.             Receive information from the serial port (in this case from
  5402.             the other computer), and place it in Cell A2.
  5403.  
  5404.             {IF @FIND(":?",A2,1)>0}{IOVALUE +F1,NUL}
  5405.             Check to see if the string that was received from the serial
  5406.             port, and placed in cell A2, contains the substring ":?".  If it
  5407.             does, then transmit the value in cell F1 to the serial port.
  5408.  
  5409.  
  5410.     {JUMP Location}
  5411.         This macro instructs the program to continue executing at a new
  5412.         'location'.  The 'location' can either be a cell location (A1,
  5413.         B345, AG5) or a range name that was created with the /Range, Name,
  5414.         Create command.
  5415.  
  5416.         Be careful, this command is different than the {GOTO} macro
  5417.         command. {JUMP} simply tells the program which macro to execute
  5418.         next, whereas, {GOTO} transfers the cell pointer to the specified
  5419.         cell.
  5420.  
  5421.         Example:   {goto A1}~Macro Example~
  5422.                    {JUMP A50}
  5423.  
  5424.  
  5425.  
  5426.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [92] 
  5427.         Explanation:  Go to cell A1, place the string 'Macro Example' in
  5428.         that cell and then jump to cell A50 and execute the macro in that
  5429.         cell, while the cell pointer is still at A1.
  5430.  
  5431.  
  5432.     {LET A1,EXPRESSION}
  5433.         Evaluates the formula "EXPRESSION", and places the value in A1.
  5434.         Use of this command does not require that you physically move the
  5435.         cursor to A1 before entering data, therefore, it can reduce
  5436.         moving back and forth between various portions of the worksheet.
  5437.         EXPRESSION can be any valid mathematical or logical expression.
  5438.  
  5439.         Example:  {Let A3,A3+1} increments the value in cell A3 by one.
  5440.  
  5441.         NOTE:  There is no space between the "," and "Expression".
  5442.  
  5443.  
  5444.     {MENUCALL Location}
  5445.         Transfers execution to macro menu at "Location".  Allows the user
  5446.         to make a menu selection, and then CALLS the macro identified by
  5447.         that menu selection.  When {RET} is encountered, macro execution
  5448.         continues with the command following the {MENUCALL}.
  5449.  
  5450.         See {MENUJUMP} for instructions on defining your own menu.
  5451.  
  5452.  
  5453.     {MENUJUMP Location}
  5454.         Transfers execution to the macro menu at "Location".  Allows the
  5455.         user to make a menu selection, and then executes the macro
  5456.         identified below that menu selection.
  5457.  
  5458.         The macro menu has to follow the guidelines given below:
  5459.  
  5460.          -    Two rows are used for the creation of the menu.  Each menu
  5461.               option can be up to 30 characters long.
  5462.          -    The cell to the right of the last item of the menu must be empty
  5463.               to indicate the end of the menu.
  5464.  
  5465.          -    Each selection is placed in an individual cell in the first row.
  5466.  
  5467.          -    Each cell in the second row contains the explanation of the
  5468.               command in the cell above it.  Whenever the user moves the
  5469.               cursor highlighting one of the menu options, the control panel
  5470.               displays the explanation for that menu selection.
  5471.  
  5472.         A macro menu performs identically to the standard AS-EASY-AS
  5473.         command menus.
  5474.  
  5475.  
  5476.  
  5477.         HINTS:   1.   Avoid menu entries that start with the same character
  5478.                       so that an option can be selected by typing the unique
  5479.                       first letter.
  5480.                  2.   AS-EASY-AS will assign the next unique letter in the
  5481.                       command if a duplicate occurs.
  5482.                  3.   Upper case and lower case letters are considered equal.
  5483.  
  5484.  
  5485.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [93] 
  5486.         When a user selects one of the items in the menu, AS-EASY-AS
  5487.         starts execution of the macro on the third row in the column of
  5488.         the selected menu choice.
  5489.  
  5490.  
  5491.     {MENUOFF}
  5492.         Disables the screen update of the panel and pop-up window menus.
  5493.         Invoking this command will speed the operation of macros that
  5494.         frequently update the screen.
  5495.  
  5496.  
  5497.     {MENUON}
  5498.         Restores screen update of the panel and pop-up window menus.  This
  5499.         command should be invoked at the end of a macro that used
  5500.         {MENUOFF}.
  5501.  
  5502.  
  5503.     {MENUWIDTH x}
  5504.         Specify a width of x (up to 28 characters) for the menu window.
  5505.         Once a menu width is specified, it stays in affect until a new
  5506.         {MENUWIDTH x} macro command is issued.
  5507.  
  5508.  
  5509.     {MENUXY x,y}
  5510.         Specify the x,y coordinate of the upper left corner of menu
  5511.         window.  If the period key [.] is pressed while a menu is
  5512.         displayed at x,y, the menu position will toggle between the left
  5513.         and the right side of the screen, i.e., the x coordinate above
  5514.         will be overridden, but the vertical position of the menu will not
  5515.         change until a new {MENUXY x,y} macro command is used.
  5516.  
  5517.  
  5518.     {OPEN F#,M#,"Filename"}
  5519.          F# - File Number (1, 2, 3, 4, or 5)
  5520.          M# - Mode (1, 2 or 3)
  5521.               1 - Read -  Allows the file to be read.
  5522.               2 - Write -  Opens a new file.  If the file exists, current
  5523.                            information will be erased.
  5524.               3 - Append -  Opens an existing file and places the file
  5525.                             pointer at end of file.
  5526.          Filename - Name of File, may include drive and path information
  5527.  
  5528.         Open a disk file which is to be read, written to, or appended.
  5529.         See {READ}, {WRITE}, {APPEND}, and {CLOSE} macro commands.
  5530.  
  5531.         As an example, {OPEN 1,3,"C:\DATA\TRIDATA.DTA"}{WRITE...} will
  5532.         open TRIDATA.DTA located in C:\DATA, which is to be appended.  If
  5533.         the file does not currently exist, it will be created.
  5534.  
  5535.         NOTE:  Any file which is opened with {OPEN}, must be closed with
  5536.                the {CLOSE} macro command before exiting from AS-
  5537.                EASY-AS.  Failure to do so will result in the file information
  5538.                becoming corrupted and unusable.
  5539.  
  5540.  
  5541.  
  5542.  
  5543.  
  5544.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [94] 
  5545.     {PICK Range,Outcell}
  5546.          Range   = Cell range which contains listing of labels to appear in
  5547.                    pick list.
  5548.          Outcell = Cell which will contain picked selection
  5549.  
  5550.         PICK will create a pick window comprised of the labels contained
  5551.         in the specified RANGE.  Using the cursor keys, the user can move
  5552.         through the list and highlight the desired label.  When [ENTER] is
  5553.         selected, the highlighted choice is placed in OUTCELL.
  5554.  
  5555.         PICK is useful for situations where the user is to be prompted for
  5556.         data input, and there is a limited selection of valid or desired
  5557.         responses.
  5558.  
  5559.         Example:
  5560.            {PICK A1..A10,C1}
  5561.            When an executing macro encounters this command, a pick window
  5562.            will appear in the top left of the screen which is comprised of
  5563.            the labels in the range A1..A10.  The user will select a label
  5564.            by pressing [ENTER] and the result be placed in cell C1.
  5565.  
  5566.  
  5567.     {QUIT}
  5568.         Stops execution of the macro and returns to the 'Ready' mode.
  5569.  
  5570.  
  5571.     {READ F#, CellAddress}
  5572.          F# - File Number (1, 2, 3, 4, or 5)
  5573.          CellAddress -  Worksheet cell location (column & row) where read
  5574.                         information is to be placed.
  5575.         Read one line from disk file #, from the current pointer location
  5576.         up to the carriage return, and place it in CellAddress.
  5577.         Subsequent {READ}s will continue to read in one line at a time,
  5578.         until the end of file is encountered.  At that point, execution
  5579.         will continue with the macro in the current cell, or if
  5580.         unsuccessful, the macro command in the next row. See {OPEN},
  5581.         {CLOSE}, {WRITE}, and {APPEND} macro commands.
  5582.  
  5583.         As an example, {READ 1, D10} will read a line of information from
  5584.         file #1 and place it in cell D10 of the worksheet.
  5585.  
  5586.     {RECALC Range}
  5587.         Calculates only the specified range.
  5588.  
  5589.  
  5590.     {RESTART}
  5591.         This command clears all levels of the subroutine stack and
  5592.         continues execution of the macro commands.  If {RESTART} is
  5593.         encountered, AS-EASY-AS continues with the instructions that
  5594.         follow.  Upon completion of the subroutine, it will terminate and
  5595.         WILL NOT return to the calling routine.
  5596.  
  5597.  
  5598.     {RET}
  5599.         When this command is encountered, execution is returned to the
  5600.         cell just below the last {CALL} command, i.e., to the macro that
  5601.         called the subroutine terminated with {RET}.  If no {CALL} command
  5602.  
  5603.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [95] 
  5604.         exists, and a {RET} command is encountered, a macro error occurs.
  5605.  
  5606.  
  5607.     {SCRNOFF}
  5608.         Disables the update of the screen.  Invoking this macro command
  5609.         will speed the operation of most of your macros since screen I/O
  5610.         is time consuming.  Remember to restore screen update after your
  5611.         macro is completed.
  5612.  
  5613.         NOTE:  When this macro is used, it will seem that your
  5614.                computer is not doing anything, i.e., the screen will not
  5615.                be updated until {SCRNON} and {UPDATE} macros
  5616.                are executed.
  5617.  
  5618.  
  5619.     {SCRNON}
  5620.         Enables the update of the screen.  This command should be invoked
  5621.         at the end of a macro that used {SCRNOFF}.
  5622.  
  5623.  
  5624.     {TONE  A1,A2}
  5625.         Generates a sound of frequency A1 (Hz) and duration A2 (milli-
  5626.         seconds). A1 and A2 can be values, results of a calculation or
  5627.         cell references.  This macro can also be used to cause a delay in
  5628.         macro execution without generating an audible tone, if desired.
  5629.  
  5630.          i.e. {TONE 0,5000} will create a silent delay of 5 seconds.
  5631.  
  5632.  
  5633.     {UPDATE}
  5634.         Refreshes the screen.  Useful after a {SCRNON} command.
  5635.  
  5636.  
  5637.     {WHILE Test,Action}
  5638.         Perform a subroutine call to the "Action" while the "Test" is
  5639.         true.  The subroutine must have a corresponding {RET} statement.
  5640.         Once the result of "Test" is false, continue execution of the
  5641.         macro command in the cell below.
  5642.  
  5643.  
  5644.     {WRITE "String"}
  5645.         Print the content of 'String' at the current character cursor
  5646.         screen coordinates, and leave the cursor at the end of the printed
  5647.         string.  It should be noted that this is only a temporary screen
  5648.         write.  If this was the last macro command in a sequence, it would
  5649.         disappear as soon as it was printed since the screen would be
  5650.         updated at the end of the macro sequence.
  5651.  
  5652.     {WRITE F#, "String"}
  5653.          F# - File Number (1, 2, 3,...)
  5654.          "String" -     Information to be written to the file.
  5655.  
  5656.         Writes "String" information to open disk file F#, starting from
  5657.         the current pointer location.  Subsequent {WRITE}s will continue
  5658.         to be appended to the file.
  5659.  
  5660.         If the {WRITE} fails, execution will continue with the macro
  5661.  
  5662.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [96] 
  5663.         command in the next row.  See {OPEN}, {CLOSE}, {READ}, and
  5664.         {APPEND} macro commands.
  5665.  
  5666.         As an example, {WRITE 1, "Test Data"} will write the string "Test
  5667.         Data" to file #1.
  5668.  
  5669.  
  5670.     {WRITELN "String"}
  5671.         Same as the {WRITE} macro, above, but places the cursor at the
  5672.         beginning of the next character row.
  5673.  
  5674.  
  5675.     {WRITELN F#, "String"}
  5676.         Same as the {WRITE F#, "String"} macro above, but writes String
  5677.         information to the file, starting from the current pointer
  5678.         location, as a single line, followed by carriage return and line
  5679.         feed characters.
  5680.  
  5681.  
  5682.  
  5683.  
  5684.  
  5685.  
  5686.  
  5687.  
  5688.  
  5689.  
  5690.  
  5691.  
  5692.  
  5693.  
  5694.  
  5695.  
  5696.  
  5697.  
  5698.  
  5699.  
  5700.  
  5701.  
  5702.  
  5703.  
  5704.  
  5705.  
  5706.  
  5707.  
  5708.  
  5709.  
  5710.  
  5711.  
  5712.  
  5713.  
  5714.  
  5715.  
  5716.  
  5717.  
  5718.  
  5719.  
  5720.  
  5721.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [97] 
  5722.     INDEX
  5723.     ~~~~~
  5724.  
  5725.        ABSOLUTE ADDRESS       26                F2                     18
  5726.        ABSOLUTE Fn KEY        19                F3                     18
  5727.        ARROW KEYS             13                F4                     19
  5728.        ASEASY.PRT FILE        39                F5                     19
  5729.        ASEASY.PRT FILE        40                F6                     19
  5730.        AT&T MONOCHROME        10                F7                     19
  5731.        AUTOEXEC MACRO         84                F9                     19
  5732.        AUTOLOAD               10                FORMAT                 26
  5733.                                                 FORMULAS               23
  5734.        BOX CHARACTERS         22                FORMULAS - POINTING    23
  5735.                                                 FORMULAS - TYPING      23
  5736.        CALCULATE KEY          19
  5737.        CGA MODE               11                GOALSEEKING            52
  5738.        CIRCULAR REFERENCES    30                GOTO KEY               19
  5739.        COMBINING WORKSHEETS   32                COMBINING TEXT/GRAPHICS   46
  5740.        CONDENSED PRINT        35                GRAPH FONT             43
  5741.        COPY FORMULAS          28                GRAPH FORMAT           42
  5742.        COPY VALUES            28                GRAPH MERGE            46
  5743.        CURSOR                 88                GRAPH NAME             44
  5744.        CURSOR KEY             16                GRAPH OPTIONS          43
  5745.        DATA BIN               51                GRAPH PLOT             45
  5746.        DATA COMMANDS          49                GRAPH RANGES           42
  5747.        DATA DISTRIBUTION      51                GRAPH SAVE             46
  5748.        DATA FILL              49                GRAPH TITLES           43
  5749.        DATA INPUT             49                GRAPHICS               42
  5750.        DATA INPUT FORM        53                GRAPHICS CHARACTERS    22
  5751.        DATA REGRESSION        52
  5752.        DATA SORT              50                HARDWARE                7
  5753.        DATABASE               55                HELP                   17
  5754.        DATABASE RANGE         55                HERCULES               11
  5755.        DATING A PAGE          37
  5756.        DEFAULT DIRECTORY      10                INPUT FORM             53
  5757.        DISTRIBUTION OF DATA   51                INSTALLATION            8
  5758.        DOS VERSION             7
  5759.        DOT MATRIX              7                KEYBOARD               16
  5760.        DOT MATRIX             36
  5761.        DOT MATRIX PRINTERS    42                LABEL                  20
  5762.        EDIT                   22                LASERJET               42
  5763.        EDIT CELL              18                LASERJET PRINTERS      36
  5764.        EMBEDDED CODES         38                LSF                    52
  5765.        EMS                     7
  5766.        ENHANCED GRAPHICS      10                MACRO COMMANDS         87
  5767.        ENTERING A MACRO       17                MACRO DEFINITION       84
  5768.        ENTERING AN EQUATION   18                MACRO EXECUTION        85
  5769.        ENTERING FORMULAS      21                MACRO KEY              18
  5770.        ENVIRONMENT VARIABLE   12                MACRO KEYWORDS         86
  5771.        EXIT                   33                MACRO NAME             84
  5772.        EXPANDED MEMORY         7                MACROS                 84
  5773.        EXPANDED MEMORY        11                MATHEMATICAL OPERATORS   21
  5774.        EXPORTING              31                MATRIX OPERATIONS      57
  5775.        EXTRACT CRITERION      55                MEMORY                  7
  5776.                                                 MENUS                  13
  5777.        F1                     17                MONITOR (EGA)           7
  5778.        F1                     18                MONITOR (VGA)           7
  5779.  
  5780.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [98] 
  5781.        MONITOR HERCULES        7                SAVING A FILE          30
  5782.        MONITOR MONOCHROME      7                SCREEN BLANKING        10
  5783.        MONOCHROME (B&W)       11                SET ASEASY=            12
  5784.        MOUSE                   7                SMART CURSOR           17
  5785.        MOUSE                   8                SORTING DATA           50
  5786.        MOUSE POINTING         24                SPARSE MATRIX           7
  5787.        MOVE FORMULAS          29                STRING FUNCTIONS       59
  5788.        MOVE VALUES            28
  5789.                                                 USING PRINT VIEW       41
  5790.        NAMED GRAPH            44
  5791.        NAMED GRAPH            44                VALUE                  20
  5792.        NAMED GRAPH            45                VGA MONITOR/CARD       11
  5793.        NAMED GRAPH            46                VIEW KEY               19
  5794.        NAMED GRAPH            48                VIEWS                  15
  5795.        NAMED RANGE            32                VIRTUAL MEMORY          7
  5796.        NAMED RANGE            77                VIRTUAL MEMORY         11
  5797.        NAMED RANGE            85
  5798.        NAMED RANGES           18                WINDOW KEY             19
  5799.        NAMED RANGES           25                WINDOWS                15
  5800.        NAMED RANGES           27                WINDOWS 3.0             7
  5801.        NON-TURBO KEYBOARD     11
  5802.                                                #OR# & #AND# OPERATORS  72
  5803.        OPERATING SYSTEM        7               @@                      59
  5804.                                                @ABS                    65
  5805.        PAGE BREAKS            37               @ACOS                   65
  5806.        PAGE FOOTERS           37               @ACOSH                  65
  5807.        PAGE HEADERS           37               @ASIN                   65
  5808.        PAGE LENGTH            35               @ASINH                  65
  5809.        PAGE LENGTH            35               @ATAN                   65
  5810.        PAGE NUMBERS           37               @ATANH                  65
  5811.        PIC FILE               42               @AVG                    74
  5812.        PRINT CONTROL CODES    39               @CASE                   77
  5813.        PRINT ENHANCEMENT      40               @CELL                   59
  5814.        PRINT FILE             40               @CELLPT                 59
  5815.        PRINT MARGINS          35               @CHR                    61
  5816.        PRINT MENU             34               @COLS                   77
  5817.        PRINT TO A FILE        40               @COMB                   74
  5818.        PRINT TYPE             39               @COS                    66
  5819.        PRINTER BORDERS        35               @COSH                   66
  5820.        PRINTER CODE           39               @COUNT                  74
  5821.        PRINTER CONTROL FILE   39               @CSC                    66
  5822.        PRINTER ESCAPE CODE    39               @CTERM                  68
  5823.        PRINTER SET-UP FILE    18               @CTN                    66
  5824.        PRINTER SETUP CODE     18               @DATE                   81
  5825.        PRINTER SETUP FILE     18               @DATEVAL                81
  5826.        PRINTER SETUP STRINGS   18              @DAY                    81
  5827.        PRINTERS                7               @DDB                    69
  5828.        PRINTING               34               @ERR                    73
  5829.        PRINTING TEXT/GRAPHICS   41             @EXACT                  61
  5830.                                                @EXP                    66
  5831.        RANGE                  25               @FACT                   75
  5832.        RECALCULATION          29               @FALSE                  66
  5833.        REGRESSION             52               @FIND                   61
  5834.        RELATIVE ADDRESS       26               @FV                     69
  5835.        RETRIEVING A FILE      32               @GAMMALN                66
  5836.        ROUND ABSOLUTE         11               @HOUR                   81
  5837.                                                @HTABLE                 77
  5838.  
  5839.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [99] 
  5840.       @HTERP                  78               @TIME                   82
  5841.       @IF                     72               @TIMEVAL                82
  5842.       @INDEX                  78               @TODAY                  83
  5843.       @INT                    66               @TRIM                   63
  5844.       @IRR                    69               @TRUE                   68
  5845.       @ISERR                  73               @UPPER                  63
  5846.       @ISNA                   73               @USER                   79
  5847.       @ISNUM                  72               @VAL                    64
  5848.       @ISSTR                  73               @VAR                    77
  5849.       @LEFT                   61               @VTABLE                 80
  5850.       @LENGTH                 61               @VTERP                  80
  5851.       @LENGTH                 79               @YEAR                   83
  5852.       @LINK                   79
  5853.       @LN                     67               {APPEND}                87
  5854.       @LOG                    67               {BEEP X}                87
  5855.       @LOWER                  62               {BLANK RANGE}           87
  5856.       @MAX                    75               {BORDEROFF}             87
  5857.       @MID                    62               {BORDERON}              88
  5858.       @MIN                    75               {CALL LOCATION}         88
  5859.       @MINUTE                 82               {CLOSE F#}              88
  5860.       @MOD(X,Y)               67               {CLRSCR}                88
  5861.       @MONTH                  82               {DELAY X}               89
  5862.       @N                      62               {ESCON} AND {ESCOFF}    89
  5863.       @NA                     67               {EXIT}                  89
  5864.       @NOT                    73               {FOR COUNTER.....}      89
  5865.       @NPV                    70               {GET CELL}              90
  5866.       @ORD                    62               {GOTOXY A1,A2}          90
  5867.       @PERM                   75               {IF CONDITION}...       90
  5868.       @PI                     67               {INDXY M,N}             91
  5869.       @PMT                    70               {INKEY CELL}            91
  5870.       @PROPER                 62               {INLABEL}               91
  5871.       @PV                     70               {INRANGE}               91
  5872.       @QMAX                   75               {INVALUE}               91
  5873.       @QMIN                   76               {IOINIT}                91
  5874.       @QSTD                   76               {IOLABEL}               92
  5875.       @QSUM                   76               {IOVALUE}               92
  5876.       @QVAR                   76               {JUMP LOCATION}         92
  5877.       @RAND                   67               {LET A1,EXPRESSION}     93
  5878.       @RATE                   70               {MENUCALL LOCATION}     93
  5879.       @REPEAT                 62               {MENUJUMP LOCATION}     93
  5880.       @RIGHT                  63               {MENUOFF}               94
  5881.       @ROUND(X,Y)             67               {MENUON}                94
  5882.       @ROWS                   79               {MENUWIDTH X}           94
  5883.       @S                      63               {MENUXY X,Y}            94
  5884.       @SEC                    67               {OPEN F#...}            94
  5885.       @SECOND                 82               {PICK RANGE,OUTCELL}    95
  5886.       @SIN                    67               {QUIT}                  95
  5887.       @SINH                   68               {READ F#, CELLADDRESS}  95
  5888.       @SLN                    70               {RECALC RANGE}          95
  5889.       @SQRT(X)                68               {RESTART}               95
  5890.       @STD(RANGE)             76               {RET}                   95
  5891.       @STR                    63               {SCRNOFF}               96
  5892.       @SUM                    77               {SCRNON}                96
  5893.       @SYD                    71               {TONE  A1,A2}           96
  5894.       @TAN                    68               {UPDATE}                96
  5895.       @TANH                   68               {WHILE TEST,ACTION}     96
  5896.       @TERM                   71               {WRITE "STRING"}        96
  5897.  
  5898.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.              [100] 
  5899.       {WRITE F#, "STRING"}    96
  5900.       {WRITELN "STRING"}      97
  5901.       {WRITELN F#, "STRING"}  97
  5902.       {?}                     87
  5903.  
  5904.  
  5905.  
  5906.  
  5907.  
  5908.  
  5909.  
  5910.  
  5911.  
  5912.  
  5913.  
  5914.  
  5915.  
  5916.  
  5917.  
  5918.  
  5919.  
  5920.  
  5921.  
  5922.  
  5923.  
  5924.  
  5925.  
  5926.  
  5927.  
  5928.  
  5929.  
  5930.  
  5931.  
  5932.  
  5933.  
  5934.  
  5935.  
  5936.  
  5937.  
  5938.  
  5939.  
  5940.  
  5941.  
  5942.  
  5943.  
  5944.  
  5945.  
  5946.  
  5947.  
  5948.  
  5949.  
  5950.  
  5951.  
  5952.  
  5953.  
  5954.  
  5955.  
  5956.  
  5957.     AS-EASY-AS User's Guide - Copyright 1991, TRIUS, Inc.             [101] 
  5958.  
  5959.