在我们的一些浏览中,我们想要使用旧的dos字符chr(219)█来创建像进度条或条形图这样的字段。
我们的代码和数据库使用codepage-1254。
我们尝试创建字段值为:
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
我们还使用了启动参数:
-cpinternal IBM857
结果是:
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
我们尝试创建字段值为:
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
我们还使用了启动参数:
-cprcodein 1254 -cpinternal IBM857
结果是:
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
我们尝试创建字段值为:
myTable.myValue=fill(chr(219,"IBM857","1254"),100).
我们还使用了启动参数:
-cprcodein 1254
结果是:
êêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêê
我们尝试创建字段值为:
myTable.myValue=fill(chr(219,"IBM857"),100).
我们还使用了启动参数:
-cpinternal IBM857
结果是:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
我们尝试创建字段值为:
myTable.myValue=fill(chr(219,"IBM857"),100).
我们还使用了启动参数:
-cprcodein 1254 -cpinternal IBM857
结果是:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
我们尝试创建字段值为:
myTable.myValue=fill(chr(219,"IBM857")),100).
我们还使用了启动参数:
-cprcodein 1254
结果是:êêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêêê
我们想要产生如下输出:
██████████████████████████████████████
1254是土耳其语,不包含您要显示的字符。
您可以尝试设置-cpterm,但我相信只适用于字符终端输出(_progres.exe),因此它可能无法帮助您使用Windows GUI(_prowin.exe)程序。
另一种可能性是-upstream并使用stream-io定义您的显示FRAME。
否则,我认为您最好的选择是将数据库转换为UTF-8并使用该环境中可用的字符。从长远来看,这也是一个更加强大的解决方案。
为了创建进度条或条形图,我建议使用矩形。您可以动态创建它们,动态设置它们的外观,位置和大小等。您还可以创建垂直条,您无法通过填充来获得这些条。请参阅CREATE RECTANGLE hRectangle ASSIGN ...
在过去我用管道做了进度条(不需要找到任何奇怪的字符),使用粗体字体,结果不是太糟糕,像||||||||||||
如果仅显示这些字符,则可以将数据库和-cprcodein保留为其当前值,并将-cpinternal设置为UTF-8。应用程序可能需要进行一些返工,具体取决于它的编写方式。