[Lazarus] RE : Displaying text with colour and insertion point
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Wed May 16 20:59:07 CEST 2012
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]
More information about the Lazarus