[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