home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / clarion / library / scrlta / scrollta.doc < prev   
Text File  |  1991-10-01  |  2KB  |  63 lines

  1. Copyright Mark A. Zurier 1991
  2.  
  3. 10/1/91:
  4.  
  5. ScrollTA() is an Assembly Language LEM that will scroll text and attributes.
  6. It has the same calling sequence as Clarion's SCROLL statement, but will not
  7. allow you do omit parameters. This LEM may be used freely in Clarion .exe
  8. programs as long as there is no charge made for its use.
  9.  
  10. The routine has been tested under DesqView 2.4 and works flawlessly.  However,
  11. if you have any problems with it, please let me know as soon as possible.
  12.  
  13. This LEM utilizes BIOS calls rather than direct video writes.  However, the
  14. function is not slow (on my machine) so I see no reason to write the direct
  15. video version.    If anybody experiences any slowness, I'd appreciate hearing,
  16. and I'll write finish the direct video version.
  17.  
  18. The reason for the length (272 bytes) is the use of the same parameters as
  19. Clarion's SCROLL statement:  The BIOS functions require the actual screen
  20. coordinates (top left and bottom right) in 0..24 and 0.79 ranges as well as
  21. the video attribute byte to fill the new line(s) with.    Therefore, the LEM
  22. derives these parameters from those passed by your program.  It then reads
  23. the screen's top row (scroll down) or bottom row (scroll up) for the attribute
  24. byte.  I read the first column of the scroll area to get the attribute byte,
  25. and in this respect, the LEM is slightly different than Clarion's SCROLL which
  26. leaves any attributes on the new, blank line alone.
  27.  
  28.  
  29. MAP statment
  30. ════════════
  31.  
  32. Add the following to your map:
  33.  
  34.            MODULE( 'ScrollTA.BIN' ),BINARY
  35.          PROC( ScrollTA )
  36.            END
  37.  
  38. Using the Function
  39. ══════════════════
  40.  
  41. Use ScrollTA instead of SCROLL with all five parameters:
  42.  
  43.           ScrollTA( ibTop, ibLeft, ibRows, ibCols, isLines )
  44.  
  45.         ibTop    = top row of scroll area (1..25)
  46.         ibLeft    = leftmost column of scroll area (1..80)
  47.         ibRows    = # of rows in scroll area (1..25)
  48.         ibCols    = # of cols in scroll area (1..80)
  49.         isLines = # of lines to scroll, positive scrolls up,
  50.                         negative scrolls down.
  51.  
  52. If any of the parameters are out of range, they will be adjusted to the full
  53. screen (1,1,25,80 and 25 lines).  You can blank the screen by setting the
  54. number of lines to 25, but you should use BLANK instead.
  55.  
  56.  
  57. Any comments or suggestions are appreciated.
  58.  
  59. Mark Zurier
  60.  
  61. Clarionet:  Mzurier
  62. CIS:  71240,1222
  63.