OpenEdge 10.2A - 是否可以在浏览中在Windows上显示DOS字符(Chr(219)█)?

问题描述 投票:0回答:4

在我们的一些浏览中,我们想要使用旧的dos字符chr(219)█来创建像进度条或条形图这样的字段。

我们的代码和数据库使用codepage-1254。

Setting I

我们尝试创建字段值为:

myTable.myValue=fill(chr(219,"IBM857","1254"),100).

我们还使用了启动参数:

-cpinternal IBM857

结果是:

ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ

Setting II

我们尝试创建字段值为:

myTable.myValue=fill(chr(219,"IBM857","1254"),100).

我们还使用了启动参数:

-cprcodein 1254 -cpinternal IBM857

结果是:

ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ

Setting III

我们尝试创建字段值为:

myTable.myValue=fill(chr(219,"IBM857","1254"),100).

我们还使用了启动参数:

-cprcodein 1254

结果是:

êêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêê

Setting IV

我们尝试创建字段值为:

myTable.myValue=fill(chr(219,"IBM857"),100).

我们还使用了启动参数:

-cpinternal IBM857

结果是:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Setting V

我们尝试创建字段值为:

myTable.myValue=fill(chr(219,"IBM857"),100).

我们还使用了启动参数:

-cprcodein 1254 -cpinternal IBM857

结果是:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Setting VI

我们尝试创建字段值为:

myTable.myValue=fill(chr(219,"IBM857")),100).

我们还使用了启动参数:

-cprcodein 1254

结果是:êêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêê

As a result,

我们想要产生如下输出:

██████████████████████████████████████

character-encoding openedge progress-4gl
4个回答
1
投票

1254是土耳其语,不包含您要显示的字符。

您可以尝试设置-cpterm,但我相信只适用于字符终端输出(_progres.exe),因此它可能无法帮助您使用Windows GUI(_prowin.exe)程序。

另一种可能性是-upstream并使用stream-io定义您的显示FRAME。

否则,我认为您最好的选择是将数据库转换为UTF-8并使用该环境中可用的字符。从长远来看,这也是一个更加强大的解决方案。


0
投票

为了创建进度条或条形图,我建议使用矩形。您可以动态创建它们,动态设置它们的外观,位置和大小等。您还可以创建垂直条,您无法通过填充来获得这些条。请参阅CREATE RECTANGLE hRectangle ASSIGN ...

在过去我用管道做了进度条(不需要找到任何奇怪的字符),使用粗体字体,结果不是太糟糕,像||||||||||||


0
投票

如果仅显示这些字符,则可以将数据库和-cprcodein保留为其当前值,并将-cpinternal设置为UTF-8。应用程序可能需要进行一些返工,具体取决于它的编写方式。


0
投票

由于我无法使用-cpinternal, - cprcodein等显示dos字符作为解决方法,我创建了一个新字体并将特定字段(即`| ^)的一些未使用字符更改为不同厚度的█为了用于不同的情况.this is the result

© www.soinside.com 2019 - 2024. All rights reserved.