Talk:Terminal control/Cursor movement

From Rosetta Code
Revision as of 18:21, 16 August 2012 by rosettacode>Gerard Schildberger (→‎task clarification: add comments about standard behavior, cursor placement/movement, wrapping. -- ~~~~)

task clarification

It's not stated, but I assume if the curson is at a terminal screen edge, and we want to move it past the edge, that it is assumed that we are to move to the cursor to the other side of the screen (that is, wrap it)? -- Gerard Schildberger 09:30, 16 August 2012 (UTC)

As you say, it's not stated in the task. Perhaps some clarification is in order.
Personally, I would do whatever is typical for your language of choice. (For example, this isn't a problem for BASIC, normally -- in MS BASIC, an attempt to place the text cursor off the screen using LOCATE results in an error ("Illegal function call"). The graphical cursor (which serves a completely different purpose) continues on to (effectively) infinity.)
If there's no "standard" behavior for your chosen language... shrug. Do as you see fit. -- Erik Siers 11:53, 16 August 2012 (UTC)
Well, actually, the CURSOR bif in PC/REXX (and Personnal REXX) interpreter doesn't move the cursor, it places it. Any movement on the REXX program's part is actually performed by arithmetic and then CURSOR just places (or moves, it you prefer) the cursor to the location specified. I saw no reason to incourage a program failure by ensuring a SYNTAX error (illegal function call) in the REXX program, so I took it upon myself to do what I would expect a smart terminal to do, that is: wrap. -- Gerard Schildberger 18:21, 16 August 2012 (UTC)