home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / bus / mvcwm3.do < prev    next >
Text File  |  2006-10-19  |  14KB  |  476 lines

  1. CLUB 100 Library - 415/939-1246 BBS,    937-5039 NEWSLETTER, 932-8856 VOICE
  2.  
  3.        Documentation for MiniVC.WM3  
  4.            Version 3  01/15/84
  5.  
  6.            A Modular Approach
  7.        by Woods Martin[70235,232]
  8.  
  9.  - Original by Terry Dettman[70076,260]
  10.  - Enhanced by Don Hergert[72235,32]
  11.                Gary Bender[70375,1070]
  12.                Chris Young[70136,62]
  13.                Joel Hassel[73126,1104]
  14.  
  15. The complete MiniVC.WM3 (.BA) program
  16. less remarks 0-9 is 8550 bytes long.
  17. Optional modules EXTF(466b), XFER(164b),
  18. REPL(1021b), INDE(649b), SIZE(173b) and
  19. EDIT(344b) can be deleted if not needed,
  20. reducing size to as little as 5733 bytes
  21. (see remarks in lines 1-6 for lines to
  22. be deleted).
  23.  
  24. The most obvious change in MiniVC.WM
  25. is that function keys are not used in
  26. order to gain the benefits of command
  27. and entry type-ahead and a properly
  28. blinking cursor with no zapped memory
  29. caused by nested interupts.  Instead,
  30. command keys are defined that are
  31. subsets of those used by the big sheets
  32. to avoid confusion.
  33.  
  34.            NEW FEATURES
  35. Column max (CM), Row max (RM), single
  36. or double precision can be selected
  37. under program control (Option: SIZE).
  38.  
  39. Replication is both absolute and
  40. relative, selectable by reference,
  41. through both source and target ranges.
  42. (Option: REPL)
  43.  
  44. Insert or Delete (Option: INDE w/REPL)
  45.  
  46. Data Transfer (Option: XFER)
  47.  
  48. Element Editing (Option: EDIT)
  49.  
  50. Immediate commands:
  51.  > GOTO
  52.  ! Recalc
  53.  # Convert formula to numeral
  54.  
  55. The core program provides arithmetical
  56. operators and these functions: @ABS,
  57. @INT, @SQRT, @ROUND, @SUM(A0,I0) and
  58. @AVG(D1,D14) using column letters.
  59.  
  60. Option: EXTF adds @MIN, @MAX, @MOD,
  61. @FIX, @PI, plus trigonometric and
  62. relational functions.
  63.  
  64. Column width is increased to nine.
  65.  
  66. Both global and local value element
  67. formatting can be controlled, from
  68. integer through seven decimal places
  69. plus scientific.  Large numbers will
  70. not corrupt the display because shift
  71. to scientific notation is automatic.
  72.  
  73. Full error trapping is provided with
  74. the offending expression marked in
  75. calculation errors.
  76.  
  77. Entry of labels or values is
  78. terminated by any of the ARROW keys
  79. followed by subsequent cursor movement
  80. in addition to termination by ENTER.
  81.  
  82. Model size, Global format and recalc
  83. order are stored with each model.
  84.  
  85. Model file size is held to a minimum
  86. by deleting unnecessary spaces.  The
  87. file structure is NOT compatible with
  88. Terry, DON or Gary type files.
  89.  
  90.         RUNNING MiniVC.WM
  91. Normally the caps lock key should be
  92. released to allow lower case entry of
  93. labels.  Conversion to upper case is
  94. automatic when required. 
  95.  
  96. 1.  Line 10 clears string space for
  97. 3000 bytes net and assigns column max
  98. (CM) to T and row max (RM) to 20 for
  99. 420 elements and precision to single.
  100. EDIT 10 to change these defaults.
  101.  
  102. Option: SIZE will display:
  103.  
  104. wm2 CM=T RM= 20 P=S <OK=ENT or NEW CM?
  105.  
  106. Pressing ENTER accepts these defaults
  107. or a new CM column max can be entered.
  108. RM is recalculated and a choice of
  109. single or double precision requested.
  110. The new parameters are displayed for
  111. acceptance or additional changes.
  112.  
  113. The program notes the highest Column
  114. and Row accessed and stores this data
  115. with each model file.  If the CM or
  116. RM values are reduced below model
  117. size, that fact will be reported on
  118. the next attempt to load the model and
  119. a restart will be done. 
  120.  
  121. 2.  Startup - The blank model will
  122. appear with the Memory message:
  123.  
  124. wm2 CM=T RM= 20 P=S G0 col nnnnnM 3000S
  125.  
  126. This will remain on the screen briefly
  127. and can be invoked at any time by the
  128. /M command.  In addition to Col max,
  129. Row max and precision, "G0" indicates
  130. Global integer format (0 dec places),
  131. "col" means recalculate by columns has
  132. been selected, "nnnnnM" shows nnnnn
  133. bytes of memory unused and "3000S" is
  134. the available string space (it will be
  135. more if optional features are deleted).
  136.  
  137. 3.  When ready for data entry, the
  138. Command Line at the top of the screen
  139. displays the contents of the current
  140. element whose coordinates are displayed
  141. in the box on the second line.  ENTER
  142. causes the current element to be 
  143. recalculated.  Pressing one of the
  144. ARROW keys causes movement in the
  145. desired direction within sheet size.
  146. Any other key starts element data
  147. entry which is terminated with ENTER
  148. or one of the ARROW keys.  BKSP or ESC
  149. will restore original element contents
  150. prior to termination.
  151.  
  152. The Command Line is also used for
  153. queries and messages from the program. 
  154.  
  155. 4.  Data entry:  Before starting on a
  156. new model, you can set a Global value
  157. format using the [/GF] command.  If
  158. all entries are dollars, for example,
  159. you will not have to define element
  160. formats after each entry. 
  161.  
  162.   Value
  163.       If the first character is a
  164.       numeral or    .  +  -  (  or  @
  165.       the element will be marked as a 
  166.       value.  Any letters in a value
  167.       entry will be converted to upper 
  168.       case.
  169.  
  170.   Label
  171.       Any other first character (which
  172.       includes space) will mark the
  173.       element as a label.  Spaces and
  174.       all displayable characters are
  175.       valid in labels but be careful
  176.       with graphics because your
  177.       printer may not handle them
  178.       properly. (An element can be
  179.       forced to be label regardless of
  180.       first character by preceding the
  181.       entry with a double quote ["].)
  182.  
  183.   Corrections
  184.       Before terminating, the ESC key
  185.       will delete the entire entry and
  186.       the BKSP key will delete the
  187.       last character typed.
  188.  
  189.       After terminating, the cursor
  190.       will blink over the first
  191.       character in the element on the
  192.       Command Line.  ARROWs, ENTER or
  193.       other Immediate Commands will
  194.       leave the element intact.  Any
  195.       other key will start a new entry.
  196.  
  197.   Terminating entry
  198.       ENTER terminates and leaves the
  199.       cursor over the current element. 
  200.       Any ARROW key terminates and
  201.       then moves the cursor as desired.
  202.  
  203. 5.  Immediate Commands: 
  204.       ARROWs  ENTER  >  !  #  /
  205.  
  206.   ARROWs
  207.       Move the cursor to the next
  208.       element in the selected
  209.       direction.  If sheet limits are
  210.       reached, the tone will sound.
  211.  
  212.    <shift left ARROW> -- Moves cursor
  213.        to leftmost element on the
  214.        screen.  If already there, it
  215.        moves the cursor 4 elements
  216.        or one screen to the left.
  217.  
  218.    <control left ARROW> -- Moves
  219.        cursor to column "A".
  220.  
  221.    <shift right ARROW> -- Moves cursor
  222.        to rightmost element on the
  223.        screen.  If already there, it
  224.        moves the cursor 4 elements
  225.        or one screen to the right.
  226.  
  227.    <control right ARROW> -- Moves
  228.        cursor to rightmost column of
  229.        current model. 
  230.  
  231.    <shift up ARROW> -- Moves cursor to
  232.        the top of the screen. If
  233.        already there, it moves the
  234.        cursor up 6 rows or one screen.
  235.  
  236.    <control up ARROW> -- Moves cursor
  237.        to row 0.
  238.  
  239.    <shift down ARROW> -- Moves cursor
  240.        to the bottom of the screen. If
  241.        already there, it moves the
  242.        cursor down 6 rows or one screen.
  243.  
  244.    <control down ARROW> -- Moves
  245.        cursor to bottom row of current
  246.        model.
  247.  
  248.   ENTER
  249.       If current element is a value, it
  250.       will be recalculated.
  251.  
  252.   >  GOTO:_
  253.       Type column and row, ENTER. 
  254.  
  255.   !  Recalc by Cols [Rows]
  256.       Reevaluation will take place by
  257.       rows or columns (see [/GO]) with
  258.       progress displayed.  The
  259.       equation evaluator is skipped
  260.       for numerical entries and only
  261.       the portion of the sheet that
  262.       has been accessed is scanned. 
  263.  
  264.   #
  265.       Convert formula in current
  266.       element to numeric value. 
  267.  
  268.   /  (slash command - see 6.)
  269.  
  270. 6.  Slash Commands:  Pressing the
  271.       slash [ / ] key causes the
  272.       Command Line to display: 
  273.  
  274.  cmd: Ed In De Re Bl Fm Gl Pr St Cl Me
  275.   (Ed In De Re with OPTIONAL modules)
  276.  
  277.       Pressing the corresponding first
  278.       letter causes the same action as
  279.       with other spreadsheets.  Any
  280.       other key will abort. 
  281.  
  282.   E  Editing elements (Option: EDIT)
  283.       "edt" appears in the line 2 box.
  284.       The element displayed on the
  285.       Command Line can be edited as
  286.       in TEXT with ARROW, BKSP, CTRL,
  287.       SHIFT, and DEL keys.  ESC aborts
  288.       and ENTER accepts the changes.
  289.  
  290.   I  Insert: Col Row _ (Option: INDE)
  291.       C or R inserts column or row  at
  292.       current element.
  293.  
  294.   D  Delete: Col Row _ (Option: INDE)
  295.       C or R deletes column or row at
  296.       current element.
  297.  
  298.     INSERT-DELETE limitations:  Only
  299.     col references to the right of or
  300.     row references below the current
  301.     element are adjusted by commands.
  302.  
  303.   R  Source: CR _      (Option: REPL)
  304.       Replicate command. 
  305.       
  306.       Type Source begin element <ENTER>
  307.       Type Source  end  element <ENTER>
  308.       Type Target begin element <ENTER>
  309.       Type Target  end  element <ENTER>
  310.         (End elements must not be less
  311.          than beginning.  Diagonal
  312.          replication is illegal.)
  313.       
  314.       Source begin defaults to current
  315.       element; end defaults to begin.
  316.       Any references in an element
  317.       being replicated to another
  318.       element such as +C5 will result
  319.       in this display:
  320.               +C5<rep R N _
  321.       Entering N will replicate the
  322.       reference "as is" in the new
  323.       element.  Entering R will cause
  324.       a relative offset to be added
  325.       to the row or column reference.
  326.  
  327.   B  Blank _
  328.       ENTER or ARROWs will blank and
  329.       zero element.  Pressing any other
  330.       key leaves element unchanged. 
  331.  
  332.   F  Format: Decimal 0-7 or S _
  333.       Sets value format of current
  334.       element to integer or up to 7
  335.       decimal places or scientific
  336.       notation.  Any value which will
  337.       not fit in current format will
  338.       automatically shift to scientific
  339.       notation.  (See Global format.)
  340.  
  341.   G  Global: O F _
  342.  
  343.     O Recalc Order: R C _
  344.       Selects recalculation order by
  345.       Rows or by Columns (default). 
  346.  
  347.    F  Format: Decimal 0-7 or S _
  348.       Sets default format for all
  349.       value elements - override with
  350.       [/F]. 
  351.       
  352.       Global commands are stored with
  353.       the model for later use. 
  354.  
  355.   P Print: Printer, Device _
  356.       (First use [ > ] to position
  357.       cursor at upper left of section
  358.       to be printed.  If printer ignores
  359.       bit 8, setup control characters
  360.       can be entered in an element by
  361.       typing graphic of value 128 plus
  362.       value of control character.)
  363.       
  364.       If [ P ] is pressed the parallel
  365.       port LPT: will be used, if [ D ]
  366.       then
  367.  
  368.     Spec: _
  369.       will appear.  Type standard
  370.       COM:, MDM:, CAS: or ???:file
  371.       spec.  If RAM: or no device is
  372.       entered, the action will abort
  373.       to avoid the RAM print using
  374.       bug. 
  375.  
  376.     Lower right _
  377.       Type the desired column(letter)
  378.       and row(number) for printing to
  379.       end. 
  380.  
  381.   S  Store: # L S Q _
  382.      (# is OPTIONAL with XFER)
  383.  
  384.     # Data: L S _      (Option: XFER)
  385.       First position current element at
  386.       upper left of model section to be
  387.       loaded or saved.  Enter lower
  388.       right of section when requested.
  389.  
  390.     L Load File:_
  391.       The menu of RAM files is
  392.       displayed. Type the model name
  393.       desired (Files from other
  394.       devices are OK). The model is
  395.       loaded and then calculated. 
  396.  
  397.     S Save File:_
  398.       Type filespec (default is RAM
  399.       but other devices can be used). 
  400.  
  401.     Q Quit: Confirm=Y Abort= <ENT>_
  402.       Y will cause return to Menu. 
  403.       Any other key will abort. 
  404.  
  405.   C  Clear:  Confirm=Y Abort= <ENT>_
  406.       Y clears memory and starts a new
  407.       sheet.  Any other key aborts. 
  408.  
  409.   M
  410.       Refreshes screen and causes
  411.       Memory line to print showing
  412.       free memory and parameter 
  413.       values - see Paragraph 2.
  414.  
  415. 7.  Math operators:  + - * / ^
  416.  
  417. 8.  Math @Functions (standard): 
  418.  
  419.     @ABS(n), @INT(n), @SQRT(n)
  420.       
  421.     @SUM(Cx,Cy) - summation.  Note that
  422.       columns are letters and rows are
  423.       numerals.  A comma is used to
  424.       separate starting and ending
  425.       arguments. 
  426.       
  427.       Limitation - Only the single
  428.       pair of coordinates is legal and
  429.       @SUM functions cannot be nested.
  430.       Diagonal summing is illegal. 
  431.  
  432.     @AVG(Cx,Cy) - average.  Returns
  433.       the average of the value elements
  434.       within the range specified.  The
  435.       same limitations apply. 
  436.       
  437.     @ROUND(n) - rounding
  438.               if A6 = 4646.4646
  439.       +A6*@ROUND(3)  returns 4646.465
  440.       +A6*@ROUND(2)  returns 4646.460
  441.       +A6*@ROUND(1)  returns 4646.500
  442.       +A6*@ROUND(-1) returns 4650.000
  443.       +A6*@ROUND(-2) returns 4600.000
  444.  
  445.   OPTIONAL @functions (Option: EXTF)
  446.  
  447.     @MIN(x,y) @MAX(x,y) - returns
  448.       minimum or maximum of x or y. 
  449.  
  450.     @MOD(x,y) - returns remainder of x
  451.       divided by y. 
  452.  
  453.     @PI(0) - returns 3.1415926536
  454.       (if double precision used)
  455.       Dummy argument (0) is required. 
  456.  
  457.     @FIX(x) - truncates decimal.
  458.  
  459.     @EXP(x) @LN(x)  @SIN(x) @COS(x)
  460.     @TAN(x) @ATAN(x)
  461.       Trig functions require angles to
  462.       be in radians. 
  463.  
  464.   OPTIONAL Relational @functions 
  465.     (Option: EXTF)
  466.       
  467.       @<(x,y)  if x<y  = 1 else = 0    
  468.       @<=(x,y) if x<=y = 1 else = 0    
  469.       @>(x,y)  if x>y  = 1 else = 0
  470.       @>=(x,y) if x>=y = 1 else = 0
  471.       @=(x,y)  if x=y  = 1 else = 0
  472.       @<>(x,y) if x<>y = 1 else = 0  
  473.  
  474. 9.  Errors - complete error reporting
  475. and recover
  476.