home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / EFFO / forum7.lzh / C / VC / vc.hlp < prev   
Text File  |  1988-10-03  |  6KB  |  210 lines

  1. vc - spreadsheet calculator ("visicalc-like")
  2.  
  3. DESCRIPTION
  4.  
  5. is a calculator that is based on rectangular tables, in much the same style
  6. as VisiCalc or T/Maker.  When it is invoked it presents you with an empty
  7. table organised as rows and columns of entries.  Each entry may have a label
  8. string associated with it and an expression.  The expression may be a
  9. constant or it may compute something based on other entries.
  10.  
  11. When VC is running, the screen is divided into three regions: the top
  12. line is for entering commands, the second line is for messages from
  13. VC, and the rest form a window looking at the table.  VC has two
  14. cursors: an entry cursor (indicated by a '<' on the screen) an a character
  15. cursor (indicated by the terminals hardware cursor).  The entry and
  16. character cursors are often the same, they will differ when a long command
  17. is being typed in the top line.
  18.  
  19. The following single control character commands are recognized no matter
  20. where the character cursor is.
  21.  
  22.   ^N
  23. Move the entry cursor to the next row.
  24.  
  25.   ^P
  26. Move the entry cursor to the previous row.
  27.  
  28.   ^F
  29. Move the entry cursor forward one column.
  30.  
  31.   ^B
  32. Move the entry cursor backward one column.
  33.  
  34.   ^C
  35. Exit from VC.  If you were editing a named file, and you modified
  36. it, then it will ask about saving before exiting.
  37.  
  38.   ^G
  39. Abort the current long command.
  40.  
  41.   ^H
  42. Backspace one character.
  43.  
  44.   ^K
  45. Forward one character
  46.  
  47.   ^D
  48. Delete one character
  49.  
  50.   ^I
  51. Toggle insert (overwrite) mode.
  52. The character in the upper left corner shows the mode ("-" for insert).
  53.  
  54.   ^L
  55. Propogate values around the screen.  A complicated set of rows
  56. and columns may require more than one ^L to stabilize.
  57.  
  58.   ^R
  59. Redraw the screen.
  60.  
  61.   ^J
  62. Creates a new row immediatly following the current row.  It is initialized
  63. to be a copy of the current row, with all variable references moved down one
  64. row.  If an expression is to be duplicated with ^J the moving down of a
  65. variable reference may be avoided by using the "fixed" operator.
  66.  
  67.   ^V
  68. Types, in the long command line, the name of the entry being pointed at by
  69. the entry cursor.  This is used when typing in expressions to refer to
  70. entries in the table.
  71.  
  72.   ^U n
  73. Sets the numeric argument to the following command to n.  Commands
  74. like ^F and ^B use the numeric argument as the number of times to perform
  75. the operation.  If you aren't entering a long command then the ^U is
  76. unnecessary: repetition count arguments may be entered just as a string of
  77. digits.
  78.  
  79.  
  80. The following commands are only valid when the character and entry cursors
  81. are the same.  That is, when no long command is being entered.  Most of them
  82. introduce a new long command.
  83.  
  84.   =
  85. Prompts for an expression which will be evaluated dynamically to produce a
  86. value for the entry pointed at by the entry cursor.  This may be used in
  87. conjunction with ^V to make one entries value be dependent on anothers.
  88.  
  89.   C
  90. Clears the current entry as if there were none.
  91.  
  92.   ?
  93. Types a brief helpful message.
  94.  
  95.   """
  96. Enter a label for the current entry.
  97.  
  98.   e
  99. Edit the value associated with the current entry.  This is identical to '='
  100. except that the command line starts out containing the old value or
  101. expression associated with the entry.
  102.  
  103.   E
  104. Edit the string associated with the current entry.  This is the same as
  105. either "leftstring", "rightstring", or "label", with the additional
  106. fact that the command line starts out with the old string.
  107.  
  108.   <
  109. Associate a string with this entry that will be flushed left against the
  110. left edge of the entry.
  111.  
  112.   >
  113. Associates a string with this entry that will be flushed right against the
  114. right edge of the entry.
  115.  
  116.   g
  117. Get a new database from a named file.
  118.  
  119.   p
  120. Put the current database onto a named file.
  121.  
  122.   w
  123. Write a listing of the current database in a form that matches its
  124. appearance on the screen.  This differs from the "put" command in that
  125. "put"s files are intended to be reloaded with "get", while "write" produces
  126. a file for people to look at.
  127.  
  128.   T
  129. Write a listing of the current database to a file, but put ":"s between
  130. each field.  This  is useful for tables that will be further formatted
  131. by the "tbl" preprocessor of nroff.
  132.  
  133.   f
  134. Sets the output format to be used for printing the numbers in each entry in
  135. the current column.  Type in two numbers which will be the width in
  136. characters of a column and the number of digits which will follow the
  137. decimal point.
  138.  
  139.   r
  140. Create a new row by moving the row containing the entry cursor, and all
  141. following, down one.  The new row will be empty.
  142.  
  143.   c
  144. Create a new column by moving the column containing the entry cursor, and
  145. all following, right one.  The new column will be empty.
  146.  
  147.   d
  148. Delete this row.
  149.  
  150.   D
  151. Delete this column.
  152.  
  153.  
  154.   C
  155. Clear this entry.
  156.  
  157.  
  158. Expressions that are used with the '=' and 'e' commands have a fairly
  159. conventional syntax.  Terms may be variable names (from the ^V command),
  160. parenthesised expressions, negated terms, and constants.  The +/ term sums
  161. values in rectangular regions of the table (the notation +/ is reminiscent
  162. of apl's additive reduction.)  Terms may be combined using many binary
  163. operators.  Their precedences (from highest to lowest) are: *,/; +,-;
  164. <,=,>,<=,>=; &; |; ?.
  165.  
  166.  
  167.     exec("progname",arg1,...,argn)
  168. Start a shell with "progname" and arg1 through argn as arguments.
  169. The args can be arbitrary vc expressions.  The output of progname is
  170. converted to a floating point number and the result is returned as the
  171. value of exec.
  172.  
  173.  
  174. e+e             Addition.
  175. e-e                Subtraction.
  176. e*e                Multiplication.
  177. e/e                Division.
  178. +/v:v            Sum all valid (nonblank) entries in the region whose
  179.                 two corners are defined by the two variable (entry)
  180.                 names given.
  181.  
  182. e?e:e            Conditional: If the first expression is true then the
  183.                 value of the second is returned, otherwise the value 
  184.                 of the third is.
  185.  
  186. <,=,>,<=,>=        Relationals: true iff the indicated relation holds.
  187. &,|                Boolean connectives.
  188.  
  189. abs, acos asin, atan, ceil, cos, exp, floor, hypot, ln, log, sin, sqrt, tan
  190.                 The functions of the C-Math-Library
  191.  
  192. To make a variable not change automatically when a row is duplicated with
  193. ^J, put the word "fixed" in front of it.  I.e. r2c1*fixed r3c1 
  194.  
  195.  
  196. SEE ALSO
  197. ========
  198. bc(1), dc(1), the VisiCalc or T/Maker manuals.
  199.  
  200. BUGS
  201. ====
  202. There should be a */ operator.
  203.  
  204. Expression reevaluation is done in the same top-to-bottom, left-to-right
  205. manner as is done in other spreadsheet calculators.  This is silly.  A
  206. proper following of the dependency graph with (perhaps) recourse to
  207. relaxation should be implemented.
  208.  
  209. At most 100 rows and 40 columns.
  210.