home *** CD-ROM | disk | FTP | other *** search
- Copyright Mark A. Zurier 1991
-
- 10/1/91:
-
- ScrollTA() is an Assembly Language LEM that will scroll text and attributes.
- It has the same calling sequence as Clarion's SCROLL statement, but will not
- allow you do omit parameters. This LEM may be used freely in Clarion .exe
- programs as long as there is no charge made for its use.
-
- The routine has been tested under DesqView 2.4 and works flawlessly. However,
- if you have any problems with it, please let me know as soon as possible.
-
- This LEM utilizes BIOS calls rather than direct video writes. However, the
- function is not slow (on my machine) so I see no reason to write the direct
- video version. If anybody experiences any slowness, I'd appreciate hearing,
- and I'll write finish the direct video version.
-
- The reason for the length (272 bytes) is the use of the same parameters as
- Clarion's SCROLL statement: The BIOS functions require the actual screen
- coordinates (top left and bottom right) in 0..24 and 0.79 ranges as well as
- the video attribute byte to fill the new line(s) with. Therefore, the LEM
- derives these parameters from those passed by your program. It then reads
- the screen's top row (scroll down) or bottom row (scroll up) for the attribute
- byte. I read the first column of the scroll area to get the attribute byte,
- and in this respect, the LEM is slightly different than Clarion's SCROLL which
- leaves any attributes on the new, blank line alone.
-
-
- MAP statment
- ════════════
-
- Add the following to your map:
-
- MODULE( 'ScrollTA.BIN' ),BINARY
- PROC( ScrollTA )
- END
-
- Using the Function
- ══════════════════
-
- Use ScrollTA instead of SCROLL with all five parameters:
-
- ScrollTA( ibTop, ibLeft, ibRows, ibCols, isLines )
-
- ibTop = top row of scroll area (1..25)
- ibLeft = leftmost column of scroll area (1..80)
- ibRows = # of rows in scroll area (1..25)
- ibCols = # of cols in scroll area (1..80)
- isLines = # of lines to scroll, positive scrolls up,
- negative scrolls down.
-
- If any of the parameters are out of range, they will be adjusted to the full
- screen (1,1,25,80 and 25 lines). You can blank the screen by setting the
- number of lines to 25, but you should use BLANK instead.
-
-
- Any comments or suggestions are appreciated.
-
- Mark Zurier
-
- Clarionet: Mzurier
- CIS: 71240,1222
-