home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d594 / analyrimsrc.lha / AnalyRimSrc / AnaRimSrcDoc.Zoo / analypagingmode.doc < prev    next >
Text File  |  1991-09-30  |  7KB  |  163 lines

  1. 3 Dimensional Variables
  2.  
  3. AnalytiCalc will partially support treating its worksheet as a
  4. 3 dimensional volume in which variable names can be specified as
  5. existing on a particular "page" of the sheet by adding %nnn or
  6. %c to the cell name. In this case, a trailing number will treat 
  7. the variable as being on page nnn. Pages start at page zero (0)
  8. and go up. An accumulator letter can be used instead of a number
  9. if computable page addresses are needed. Thus a valid cell might
  10. be
  11.    B12%3
  12.     Column 2 (B) row 12 in page 3
  13.    P#2#5%2
  14.     Cell 2 columns right and 5 rows down from current cell,
  15.       in page 2
  16.    C12%D
  17.     Column 3 (C) row 12 in the page pointed at by contents
  18.         of accumulator D (so that if D contains 2, it
  19.         will be in page 2).
  20.  
  21.   These pages are actually aliases for areas of the spreadsheet,
  22. so that you get from one page to the next by adding ROWDELT to
  23. the row number and COLDELT to the column number. (The address
  24. wrapping mentioned in the AnalytiCalc manual takes place
  25. subsequently.) Thus, if ROWDELT is 100 and COLDELT is 0,
  26. you get to page 1 from page 0 by going down 100 rows.
  27.   This behavior is controlled by commands:
  28.  
  29. MDDc,r    Disables all this functionality. 3D form cell names will
  30.     not be recognized and things will look like it does not
  31.     exist. The c,r allows specification of COLDELT and ROWDELT
  32.     optionally however.
  33. MDNc,r    Turns off 3D functionality, but 3D cell names will be
  34.     understood and treated as legal if seen. Relocated cell
  35.     names will be handled as non-3D cells and the display
  36.     will show the "normal" (huge 2D) surface. (No 3D)
  37.     This is the default startup mode.
  38. MDEc,r    Turns 3D functionality ON (Enable) but still will treat
  39.     cell names as 2D forms when relocated.
  40. MDFc,r    Turns on 3D functionality and FORCES it. Thus, cells
  41.     whose addresses are in pages higher than 0 will be
  42.     translated on relocation to paged forms.
  43.  
  44.   When sheets are saved, unless MDD mode is turned on a record
  45. of the current COLDELT and ROWDELT values (set in the MD commands
  46. above and defaulting to 0 at startup) will be saved so that
  47. these settings can be restored on spreadsheet load. If MDD
  48. mode is on the record is neither saved nor recognized on load.
  49.    Note that MDF mode forces 3D forms in relocation so that GPR
  50. commands (which relocate cells on load) will transform them to
  51. 3D. In MDN mode the cells would be translated to 2D forms on a 
  52. GPR load.
  53.  
  54.    Ranges in depth can be used like ranges in rows or columns,
  55. BUT the cell names must be separated by } instead of : to get
  56. this to work. This flags that the range is a page range.
  57.  
  58.    Thus a depth range would be specified by something like
  59.     C4%2}C4%6
  60.   to specify the C4 cell of pages 2 through 6 inclusive.
  61.  
  62.   This is done differently from specifying simply C4%2:C4%6
  63. because these cells are also aliased to other areas of the
  64. sheet. In particular, suppose one has executed the command
  65.  
  66.   MDF0,5
  67.  
  68. so that pages are 5 rows long and have no column offset.
  69.  
  70. Now cell C1%0 is just cell C1 (as always). But cell C1%1 is
  71. also cell C6 (5 rows down), and cell C1%2 is cell C11 (10 rows
  72. down), and cell C1%3 is cell C16 (15 rows down). (These are
  73. IN THIS EXAMPLE!)
  74.  
  75.    Now if one were to have a range C1%1:C1%3, and if the range
  76. symbol were the same, this could mean either a range that
  77. includes C1%1, C1%2, and C1%3 only, or one that includes all
  78. the cells from C1%1 (same as C6) to C1%3 (same as C16), so
  79. it would be equivalent to C6:C16. You are free to intermix
  80. addressing styles in general, which causes the ambiguity.
  81.    Therefore for page ranges, you MUST use the page style
  82. addresses and you MUST ALSO use the } symbol to indicate
  83. that this is a page range, not a row or column range. Therefore
  84. the page range that includes C1%1 to C1%3 is expressed
  85.    C1%1}C1%3
  86. and is unambiguous.
  87.  
  88.    Note that using aliases in page ranges will either not work
  89. or will give bogus results. Also, page ranges must be exactly
  90. aligned. That is, a range like C1%1}D1%3 would be illegal, and
  91. would be treated as meaning C1%1}C1%3 instead.
  92.  
  93.    It is not expected that these restrictions will be much of
  94. a problem in actual use. The display is necessarily (with 1990's
  95. technology, anyway) two dimensional, so some anisotropy in
  96. handling a higher dimensional object is to be expected.  If you
  97. choose to think of the sheet in terms of a sheaf of pages, you
  98. will ordinarily use page addresses in ranges. These work in functions
  99. and in copy commands.
  100.  
  101.  
  102.    MAPPING to Screen
  103.  
  104.    You can map the pages to screen if desired in either of two
  105. modes, allowing inspection of the pages juxtaposed as desired.
  106.    This is done with modifications of the OA and OR (Origin Absolute
  107. and Origin Relative) commands, which remap the whole screen (OA) or
  108. the part of the screen down and right from the cursor. The commands
  109. are:
  110.  
  111.   OAMR  or ORMR  - Map depth by rows
  112.  
  113.    This command resets the mapping so that each lower row on the
  114. screen represents a row from the next lower page of the spreadsheet.
  115. The starting cell given in the command determines the first row's
  116. coordinates.
  117.    The mapping resulting from a command OAMR A1 would then look
  118. something like this:
  119.  
  120.     A1    B1    C1    D1
  121.     A1%1    B1%1    C1%1    D1%1
  122.     A1%2    B1%2    C1%2    D1%2
  123.     A1%3    B1%3    C1%3    D1%3
  124.  
  125.   so that each row is one page deeper in the physical sheet.
  126.  
  127.    OAMC or ORMC  - Map depth by columns
  128.  
  129.     This command resets the mapping so that each column further
  130. to the right represents a column from the next lower page of the
  131. spreadsheet. As before the starting cell determines the first row's
  132. coordinates.
  133.  
  134.     The mapping resulting from a command OAMC A1 would then look
  135. something like this:
  136.  
  137.     A1    A1%1    A1%2    A1%3
  138.     A2    A2%2    A2%2    A2%3
  139.     A3    A3%1    A3%2    A3%3
  140.     A4    A4%1    A4%2    A4%3
  141.  
  142.    If these commands are followed by a D command, the system will
  143. attempt to preserve such existing mappings as exist to the extent
  144. possible, so that, for example, if the first column in the
  145. OAMC A1 example above were A1,A2,B5,B6, the relative mappings
  146. would be preserved. Pre-existing mappings in the horizontal
  147. dimension in that case would however be lost.
  148.  
  149.     It should be observed that auto screen remapping for scrolling
  150. purposes should probably be disabled while using such mappings as these
  151. (just use the NS command) so that they will not be totally replaced
  152. every time your cursor ventures too far. You can define keypad commands
  153. to move around if you like.
  154.  
  155.     Glenn Everhart
  156.     3/22/1990
  157.  
  158. Last minute addition:
  159. The VE commnd works like the V command, but does not repaint the
  160. screen. Instead it just undoes the effect of a VM command. It is
  161. for use in command files.
  162.   This makes V25-01B of AnalytiCalc.
  163.