Ludo Brands wrote:
Looking at the CmdLine component, it appears OK as a command window (i.e. accepting keyboard input etc.) but isn't so hot when the principal requirement is to display text pushed into the underlying strings storage from elsewhere: in particular, there isn't a way to force the insertion point marker to the end of what's just been output.Do you mean that when typing a command the output of the command is overwriting part of the previous output added with TCmdBox.Write or TCmdBox.WriteStream? As long as data written with TCmdBox.Write or TCmdBox.WriteStream is terminated by a linefeed (TCmdBox.Writeln('') or a#10 as last character) that doesn't happen.
No, what I mean is that I want to literally put the marker where a mechanical print head would put the next character. In addition I want to be able to (non-destructively) backspace, i.e. the insertion point (caret marker etc.) should be stepped back towards the start of the line, and a subsequent TCmdBox.Write will overwrite.
Very much like a mechanical typewriter, since that was how terminals of that vintage behaved. There's example output at http://wotho.ethz.ch/APL-1130/2741_APL_Demo.png (it's ETH, but I don't think there's a Pascal connection), I've got most of a standalone terminal emulator that behaves in the same way but haven't got the colour aspect working due to lack of a suitable component (and lack os sufficient skill/experience to write my own).
-- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
