From Recital Documentation Wiki
Jump to: navigation, search


Scroll designated screen area


@ <expN>,<expN2> TO <expN3>,<expN4> SCROLL

[UP | DOWN | LEFT | RIGHT [BY <expN>]]


See Also

@...BOX, @...CLEAR, @...GET, @...FILL, @...MENU, @...PROMPT, @...SAY, @...TO, HSCROLL(), MAXCOL(), MAXROW(), SCROLL, SCROLL()


The @...SCROLL command shifts the contents of a specified region of the screen up, or down, or to the left or right. If a window is active, the coordinates are used relative to the origin of that window.

<expN>,<expN2> TO <expN3>,<expN4>

The top left corner is specified at <expN>,<expN2> and the bottom right corner at <expN3>,<expN4>.


You may optionally specify a direction, UP, DOWN, LEFT or RIGHT in which to move contents in the specified area. If no direction is specified, the @...SCROLL command moves characters UP. You may also specify the number of rows or columns by which to scroll the characters with the optional BY <expN> clause. If you have specified LEFT or RIGHT as a direction, the BY <expN> clause refers to the number of columns. If you have specified UP or DOWN, the BY <expN> clause refers to the number of rows. If the BY <expN> clause is not specified, the @...SCROLL command moves characters one row or column. Negative numbers reverse the direction of scrolling.


The WRAP keyword causes scrolled characters to move onto the opposite row or column if they are scrolled beyond the designated area of the screen.


Define window scroll from 03,05 to 15,75
activate window scroll
@ 0,0 say replicate ("0",50)
@ 1,0 say replicate ("1",50)
@ 2,0 say replicate ("@",50)
@ 3,0 say replicate ("#",50)
@ 4,0 say replicate ("$",50)
for i = 1 to 5
    @ 0,0 to 4,60 scroll
    sleep 1
release windows