[fpc-pascal]ocrt question
Rainer Hantsch
rainer at hantsch.co.at
Mon Jun 30 07:55:25 CEST 2003
Hi!
In your situation, I would insert a "virtual screen" between your application
and execution of ncurses calls. All write opertions should also be stored into
an array hereby, and when reading, use this array instead of a real read from
ncurses.
This will be the only way to get around the re-mapping of ncurses.
Another way will be some more tricky:
o Write a translation function which works with a dynamic list. This list
is initially empty, so there will be no translation.
o On program start, write all characters in a loop (always only one character)
into position 1/1 on the sreen, then read it back. If the result is
different, the original and the read-back value are added to the list of
the translation function.
o After that, proceed as usual with your program, but feed every read-back
from screen through the translation routine.
This way your program should automatically "learn" the translation of ncurses
and can reverse it, as long as there is noextreme conversion. Keep in mind
that ncurses is able to translate a graphical character, i.e. a horizontal
bar, into a normal minus character. In this case, _every_ minus character from
read-back, including true minuses!!!, would be translated back into a
graphical horizintal bar!
mfg
Ing. Rainer Hantsch
--
.---------------------------------------------------------------------.
| \\|// Ing. Rainer HANTSCH - Hardware + Software |
| (o o) Forget Windoze! -- We focus on L-I-N-U-X... |
|--oOOo-(_)-oOOo------------------------------------------------------|
| Ing. Rainer HANTSCH | mail: office at hantsch.co.at |
| Khunngasse 21/20 | www: http://www.hantsch.co.at |
| A-1030 Vienna | tel: +43-1-79885380 fax: +43-1-798853818 |
| ** A u s t r i a ** | handy: +43-664-9194382 UID-Nr: ATU 11134002 |
'---------------------------------------------------------------------'
More information about the fpc-pascal
mailing list