Entry
TSE: Screen: Text: Read: Scroll:Down: How to automatically scroll down while reading text on screen?
May 24th, 2006 18:35
Knud van Eeden,
----------------------------------------------------------------------
--- Knud van Eeden --- 25 August 2020 - 07:46 pm ---------------------
TSE: Screen: Text: Read: Scroll:Down: How to automatically scroll down
while reading text on screen?
---
Read any text in TSE, while the screen automatically scrolls down.
E.g. when you want to avoid this flashy advertisements on the Internet
which blink beside your eye while reading, you could then copy/paste
that ASCII text and read it in TSE instead.
---
Automatically that text scrolls down before your eyes, without having
to touch the keyboard or mouse.
---
You can also use it to measure or train your reading speed, the default
is that after 1000 milliseconds, or 1 second the display scrolls one
line down. Thus that means 3600 lines per hour, or about the equivalent
of 70 book pages per hour (given 50 lines of equivalent length per page
in a book).
---
It will also reduce greatly the amount of keypresses or mouse clicks to
scroll the pages down.
---
It might help you to easier and more relaxed read your text, and show
you parts which you usually might skip over, as you scroll by this text
automatically.
---
If you sometimes want to scroll faster, slower, up or down,
then just press the arrow keys.
---
---
To get the idea, you could run the following simple macro (no reaction
to arrow keys) which periodically scrolls down after 4000 milliseconds
(to be adjusted if necessary).
--- cut here: begin --------------------------------------------------
PROC Main()
REPEAT
REPEAT
UpdateDisplay()
ScrollDown()
Down()
UNTIL WaitForKeyPressed( 4000 )
UNTIL KeyPressed()
END
<F12> Main()
--- cut here: end ----------------------------------------------------
===
A more involved example macro:
Press
<arrow down> to scroll down
<arrow up> to scroll up
<arrow left> to decrease scroll velocity
<arrow right> to increase scroll velocity
<enter> to hold the current position
any other key to quit
===
--- cut here: begin --------------------------------------------------
// library: screen: goto: down: automatic (filenamemacro=gotoscda.s)
[kn, ri, th, 25-08-2020 22:56:33]
PROC PROCScreenGotoDownAutomatic( INTEGER timeI, INTEGER
timeDifferenceI, INTEGER timeMinimumI, INTEGER linePageTotalI )
// e.g. PROC Main()
// e.g. PROCScreenGotoDownAutomatic( 4000, 100, 0, 50 )
// e.g. END
// e.g.
// e.g. <F12> Main()
INTEGER keyQuitB = FALSE
STRING directionS[255] = "down"
STRING keyS[255] = ""
//
REPEAT
//
REPEAT
UpdateDisplay()
CASE directionS
WHEN "down"
ScrollDown()
WHEN "up"
ScrollUp()
WHEN "hold"
// do nothing
ENDCASE
UNTIL WaitForKeyPressed( timeI )
//
keyS = KeyName( GetKey() )
//
// suppose 50 lines per page, then if 4000 milliseconds per line,
then in 1 hour or 3600 seconds you can read 3600 seconds / ( (4000 /
1000) seconds per line) . (50 lines per page) ) = 3600 / ( 4000 /
1000 ) / 50 = 3600 * 20 / 4000 = 72000 / 4000. In general you can read
3600000 / pagesTotalI / timeI pages
Message( timeI, " ", "(", 3600 * 1000 / ( linePageTotalI *
timeI ), " ", "pages per hour)" )
//
CASE keyS
WHEN "CursorUp"
directionS = "up"
keyQuitB = FALSE
WHEN "CursorDown"
directionS = "down"
keyQuitB = FALSE
WHEN "CursorLeft"
timeI = timeI + timeDifferenceI
keyQuitB = FALSE
WHEN "CursorRight"
timeI = timeI - timeDifferenceI
keyQuitB = FALSE
WHEN "Enter"
directionS = "hold"
keyQuitB = FALSE
OTHERWISE
keyQuitB = TRUE
ENDCASE
//
IF timeI <= timeMinimumI
timeI = timeMinimumI
ENDIF
//
UNTIL keyQuitB
END
--- cut here: end ----------------------------------------------------
===
Tested successfully on
Microsoft Windows XP Professional (service pack 2),
running
TSE v4.4
---
---
Internet: see also:
---
Screen: Read: Scroll: Down: Automatically: Link: Overview: Can you
give an overview of links?
http://www.faqts.com/knowledge_base/view.phtml/aid/41136/fid/868
----------------------------------------------------------------------