1

谁能解释一下?有解决办法吗?RHEL/CentOS 上的 Informix 4GL RDS 7.50.UC3

$ fglpc test
$ fglgo test

   1 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   2 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   3 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   4 +++┌────────────────────┐+++++++++X+++++++++X
   5 +++│exit?               │+++++++++X+++++++++X
   6 +++│                    │+++++++++X+++++++++X
   7 +++│                    │+++++++++X+++++++++X
   8 +++│                    │+++++++++X+++++++++X
   9 +++└────────────────────┘+++++++++X+++++++++X
  10 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
  11 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
…    
$ export CLIENT_LOCALE=en_US.utf8
$ fglgo test

   1 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   2 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   3 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   4 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   5 ++++exit?               X+++++++++X+++++++++X
   6 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   7 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   8 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   9 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
  10 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
  11 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
  …

这是代码

$ cat test.4gl

main
  define
    i smallint,
    b char(75),
    c char
  let b = "++++X+++++++++X+++++++++X+++++++++X+++++++++X"
  for i = 1 to 24
    display i using "#### ", b clipped at i,1
  end for
  open window test_win at 5,10 with 4 rows, 20 columns
    attributes(border)
  prompt "exit?" for char c
  close window test_win
end main
4

1 回答 1

1

糟糕,这是我从 OpenServer 5 上的 4GL 4.0 继承的旧自定义 termcap

$ export TERMCAP=/opt/informix/etc/termcap
$ fglgo test
   1 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   2 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   3 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
   4 ++++--------------------++++++++++X+++++++++X
   5 +++|exit?               |+++++++++X+++++++++X
   6 +++|                    |+++++++++X+++++++++X
   7 +++|                    |+++++++++X+++++++++X
   8 +++|                    |+++++++++X+++++++++X
   9 ++++--------------------++++++++++X+++++++++X
  10 ++++X+++++++++X+++++++++X+++++++++X+++++++++X
  11 ++++X+++++++++X+++++++++X+++++++++X+++++++++X

哦亲爱的。

$ echo $TERM
ansi
$ cat evil-termcap

# Minimal ANSI for Telix.  8 Oct 96
#
lx|ansi-t|Telix in ANSI-BBS mode:\
        :al=\E[L:am:bs:cd=\E[J:ce=\E[K:cl=\E[2J\E[H:cm=\E[%i%d;%dH:co#80:\
        :dc=\E[P:dl=\E[M:do=\E[B:bt=\E[Z:ei=:ho=\E[H:ic=\E[@:im=:li#25:\
        :nd=\E[C:pt:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:up=\E[A:\
        :kb=^h:ku=\E[A:kd=\E[B:kl=\E[D:kr=\E[C:eo:\
        :k0=\E[M:k1=\E[N:k2=\E[O:k3=\E[P:k4=\E[Q:k5=\E[R:\
        :k6=\E[S:k7=\E[T:k8=\E[U:k9=\E[V:\
        :kA=\E[W:kB=\E[X:\
        :mb=\E[5m:me=\E[m:\
        :gb=\332\300\277\331\304\263:

#     Ansi Terminal - In Black AND White
#     based on ansi-t,
#     adds scrolling (sf,sr)
#     and INFORMIX capabilities (GS,GE,GV,GH,etc)
#
lb|ansib|Ansi standard crt:\
        :sf=\E[S:sr=\E[T:\
        :GS=\E[12m:GE=\E[10m:GV=\63:GH=D:\
        :GC=E:GL=\64:GR=C:RT=^J:G1=?:G2=Z:G3=@:G4=Y:GU=A:GD=B:\
        :CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:\
        :WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\
        :HM=\E[H:EN=\E[F:PU=\E[I:PD=\E[G:\
        :ZA=\E[0%?%p2%t;7%;%?%p3%t;5%;%?%p4%t;4%;m:\
        :tc=ansi-t:

#
#     Ansi Terminal - In Colour
#     based on ansib (b/w) - adds INFORMIX colour handling proglet
li|ansi|Ansi standard crt:\
        :ZA=\E[0m\E[%?%p1%{0}%=%t%{7}%e%p1%{1}%=%t%{3}%e%p1%{2}%=%t%{5}%e%p1%{3}%=%t%{1}%e%p1%{4}%=%t%{6}%e%p1%{5}%=%t%{2}%e%p1%{6}%=%t%{4}%e%p1%{7}%=%t%{0}%;%?%p2%t%Pa%?%ga%{6}%=%t34m%e%ga%{7}%=%t30m%e%ga%{1}%=%t1m\E[33m%e%ga%{2}%=%t30m%e%ga%{5}%=%t37m%{1}%Pa%e37m%;%ga%{40}%+\E[%2d%e40m%{30}%+\E[%2d%;m%?%p3%t\E[5m%;%?%p4%t\E[4m%;:\
        :tc=ansib:
于 2012-04-17T09:35:43.077 回答