OpenEdge 10.2A - Возможно ли отображение символов DOS (Chr (219) █) в Windows в обзоре? - PullRequest
0 голосов
/ 17 апреля 2019

В некоторых наших браузерах мы хотим использовать старый символ dos chr (219) █ для создания поля, такого как индикатор выполнения или гистограмма.

Наши коды и базы данных используют codepage-1254.

Настройка I

Мы попытались создать значение поля как:

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

Также мы использовали параметры запуска как:

-cpinternal IBM857

ирезультат:

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

Настройка II

Мы попытались создать значение поля как:

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

Также мы использовали параметры запуска как:

-cprcodein 1254 -cpinternal IBM857

и результат:

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

Настройка III

Мы попытались создать значение поля как:

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

Также мы использовали параметры запускакак:

-cprcodein 1254

и результат:

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

Настройка IV

Мы попытались создать значение поля как:

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

Также мы использовали параметры запуска как:

-cpinternal IBM857

и результат: ››››››››››››››››››››››››››››››››››››››››

Настройка V

Мы попытались создать значение поля как:

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

Также мы использовали параметры запуска как:

-cprcodein 1254 -cpinternal IBM857

и результат: ›››››››››››››››››››››››››››››››››

Настройка VI

Мы попытались создать значение поля как:

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

Кроме того, мы использовали параметры запуска как:

-cprcodein 1254

, и в результате получилось:следует:

████████████████████████████████████████████████████ *

Ответы [ 4 ]

1 голос
/ 17 апреля 2019

1254 по-турецки и не содержит символов, подобных тому, который вы пытаетесь отобразить.

Вы можете попробовать установить -cpterm, но я считаю, что это применимо только к выводу символьного терминала (_progres.exe), поэтомуэто, вероятно, не поможет вам с программой Windows GUI (_prowin.exe).

Другая возможность - -cpstream и определение вашего FRAME с помощью stream-io.

В противном случае, я думаю, что ваш лучший вариантэто преобразовать базу данных в UTF-8 и использовать символы, доступные в этой среде.Это также, безусловно, гораздо более надежное решение в долгосрочной перспективе.

0 голосов
/ 18 апреля 2019

Так как я не смог показать символы дос с использованием -cpinternal, - cprcodein и т. Д., В качестве обходного пути я создал новый шрифт и изменил некоторые неиспользуемые символы для определенного поля (например, `| ^) на разныетолщина █ для использования в разных случаях. this is the result

0 голосов
/ 18 апреля 2019

Если эти символы нужны только для отображения, вы можете оставить базу данных и -cprcodein с их текущими значениями и установить только -cpinternal в UTF-8. Для приложения может потребоваться некоторая переделка, в зависимости от того, насколько четко оно написано.

0 голосов
/ 17 апреля 2019

Чтобы создавать индикаторы выполнения или гистограммы, я бы рекомендовал использовать прямоугольники. Вы можете создавать их динамически, устанавливать их внешний вид, положение и размер на лету и т. Д. Вы также можете создавать вертикальные столбцы, которые вы не сможете получить с помощью заливок. См. CREATE RECTANGLE hRectangle ASSIGN ...

В прошлом я делал индикаторы выполнения с трубами (не нужно было находить какие-либо странные символы), используя жирный шрифт, чтобы результат был не слишком плохим, что-то вроде |||||||| ||||

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...