Character encoding OpenEdge 10.2A-是否可以在浏览窗口中显示DOS字符(Chr(219)和#x2588;)?

Character encoding OpenEdge 10.2A-是否可以在浏览窗口中显示DOS字符(Chr(219)和#x2588;)?,character-encoding,openedge,progress-4gl,Character Encoding,Openedge,Progress 4gl,在一些浏览器中,我们希望使用旧dos字符chr(219)█ 以创建类似进度条或条形图的字段 我们的代码和数据库使用代码页-1254 设置一 我们已尝试将字段值创建为: myTable.myValue=fill(chr(219,"IBM857","1254"),100). myTable.myValue=fill(chr(219,"IBM857","1254"),100). myTable.myValue=fill(chr(219,"IBM857","1254"),100). myTable

在一些浏览器中,我们希望使用旧dos字符chr(219)█ 以创建类似进度条或条形图的字段

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

设置一 我们已尝试将字段值创建为:

myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857"),100).
myTable.myValue=fill(chr(219,"IBM857"),100).
myTable.myValue=fill(chr(219,"IBM857")),100).
我们还将启动参数用作:

-cpinternal IBM857
-cprcodein 1254 -cpinternal IBM857
-cprcodein 1254
-cpinternal IBM857
-cprcodein 1254 -cpinternal IBM857
-cprcodein 1254
结果是:

ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
êêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêê
场景二 我们已尝试将字段值创建为:

myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857"),100).
myTable.myValue=fill(chr(219,"IBM857"),100).
myTable.myValue=fill(chr(219,"IBM857")),100).
我们还将启动参数用作:

-cpinternal IBM857
-cprcodein 1254 -cpinternal IBM857
-cprcodein 1254
-cpinternal IBM857
-cprcodein 1254 -cpinternal IBM857
-cprcodein 1254
结果是:

ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
êêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêê
场景三 我们已尝试将字段值创建为:

myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857"),100).
myTable.myValue=fill(chr(219,"IBM857"),100).
myTable.myValue=fill(chr(219,"IBM857")),100).
我们还将启动参数用作:

-cpinternal IBM857
-cprcodein 1254 -cpinternal IBM857
-cprcodein 1254
-cpinternal IBM857
-cprcodein 1254 -cpinternal IBM857
-cprcodein 1254
结果是:

ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
êêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêê
设置四 我们已尝试将字段值创建为:

myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857"),100).
myTable.myValue=fill(chr(219,"IBM857"),100).
myTable.myValue=fill(chr(219,"IBM857")),100).
我们还将启动参数用作:

-cpinternal IBM857
-cprcodein 1254 -cpinternal IBM857
-cprcodein 1254
-cpinternal IBM857
-cprcodein 1254 -cpinternal IBM857
-cprcodein 1254
结果是: ››››››››››››››››››››››››

设置V 我们已尝试将字段值创建为:

myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857"),100).
myTable.myValue=fill(chr(219,"IBM857"),100).
myTable.myValue=fill(chr(219,"IBM857")),100).
我们还将启动参数用作:

-cpinternal IBM857
-cprcodein 1254 -cpinternal IBM857
-cprcodein 1254
-cpinternal IBM857
-cprcodein 1254 -cpinternal IBM857
-cprcodein 1254
结果是: ››››››››››››››››››››››››

设置六 我们已尝试将字段值创建为:

myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
myTable.myValue=fill(chr(219,"IBM857"),100).
myTable.myValue=fill(chr(219,"IBM857"),100).
myTable.myValue=fill(chr(219,"IBM857")),100).
我们还将启动参数用作:

-cpinternal IBM857
-cprcodein 1254 -cpinternal IBM857
-cprcodein 1254
-cpinternal IBM857
-cprcodein 1254 -cpinternal IBM857
-cprcodein 1254
结果是: 徖徖徖徖徖徖徖徖徖徖徖徖徖

因此 我们希望产生如下输出:


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

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

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

另一种可能性是-cpstream并使用stream io定义显示帧


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

为了创建进度条或条形图,我建议使用矩形。 您可以动态创建它们,动态设置它们的外观、位置和大小等。 您还可以创建垂直条,这是使用填充无法获得的。 请参见创建矩形或矩形指定


在过去,我用管道制作进度条(不需要找到任何奇怪的字符),使用粗体字体,这样效果就不会太差,比如说,如果只需要显示这些字符,您可以将数据库和-cprcodein保留为其当前值,只将-cpinternal设置为UTF-8。
可能需要对应用程序进行一些返工,具体取决于它的书写方式。

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

我确实使用矩形来生成进度条,但我需要在浏览字段中显示进度条。我尝试过管道字符(|),但它似乎不够好:)当我将-cpinternal与UTF-8一起使用时,它会产生“代码页UTF-8的排序规则表,并且在convmap.cp.(1043)中找不到排序规则名称TURKISH”错误。我原以为既然IBM857字符集中似乎有dos字符,我可以使用一些参数来显示它们。不幸的是我做不到。作为解决方案,我创建了自己的字体:)