Talk:Terminal control/Cursor movement: Difference between revisions

From Rosetta Code
Content added Content deleted
(→‎task clarification: my thoughts)
(→‎task clarification: add comments about standard behavior, cursor placement/movement, wrapping. -- ~~~~)
Line 5: Line 5:
:As you say, it's not stated in the task. Perhaps some clarification is in order.
: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 <code>LOCATE</code> results in an error ("Illegal function call"). The graphical cursor (which serves a completely different purpose) continues on to (effectively) infinity.)
: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 <code>LOCATE</code> 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. -- [[User:Eriksiers|Erik Siers]] 11:53, 16 August 2012 (UTC)
:If there's no "standard" behavior for your chosen language... shrug. Do as you see fit. -- [[User:Eriksiers|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. -- [[User:Gerard Schildberger|Gerard Schildberger]] 18:21, 16 August 2012 (UTC)

Revision as of 18:21, 16 August 2012

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)