{**********************************************************************}
{ Scroll using arrow keys and quit if Escape is pressed }
{**********************************************************************}
procedure smooth_vertical;
const
KEY_ESC = $1B;
KEY_UP = 72;
KEY_DOWN = 80;
KEY_ENTER = $0D;
var
y : word;
key : char;
i : integer;
begin
y := 0;
key := ReadKey;
i := integer(key);
while i <> KEY_ENTER do begin
case i of
KEY_UP : if y > 0 then y := y-1; { Scroll up }
KEY_DOWN: y := y+1;
end;
vertical_scroll(y); { Scroll down }
key := ReadKey;
i := integer(key);
end;
vertical_scroll(0);
end;