Есть ли способ получить прямой доступ к любому из этих массивов?
Это достаточно просто, хотя все равно потребуется «файл отображения», в котором нет форматированных полей. «Файл» будет соединением между программой и физическим устройством (или эмулятором). Вы можете определить одну большую область, содержащую любой «текст», который вы хотите, чтобы ваша программа поместила в нее. Это может даже включать атрибуты поля отображения, которые ограничивают области ввода.
Для максимального контроля подходит ключевое слово DDS USRDFN. . Но для простых вещей, таких как списки пунктов меню, можно вывести почти любое большое текстовое поле.
Выводить простой текст легко. Для таких подробных вещей, как форматирование USRDFN, необходимо детальное понимание протокола 5250.
Одной из альтернатив может быть использование API User Interface Manager (UIM). для обновления «текстовой области» ПАНЕЛИ (:ТЕКСТ) через прикладную программу USREXIT=. UIM обрабатывает все, что касается любого определения «файла отображения» и фактического ввода-вывода. UIM можно рассматривать как интерфейс HTML для 5250, и он использует очень похожий язык разметки для определения панелей.
Другой альтернативой являются API Dynamic Screen Manager (DSM). . Они обеспечивают гораздо более точное управление, чем методы UIM или DDS (хотя DDS USRDFN очень близок). Но, как и в случае с USRDFN, фактическое управление устройством потребует знания протокола 5250.
...а также отображать другую графику (изображения) непосредственно в буфере пикселей.
Для 5250 нет ни «пиксельного буфера», ни даже «пикселей». Это символьный протокол, такой как telnet. Если вам нужны изображения или «пиксели», вы предпочитаете интерфейсы браузера или, возможно, Java и NAWT, X-windows и т. д.
Теперь, учитывая, что с TCP/IP и сокетами вы можете делать практически все, что можете запрограммировать. Все, что вы можете придумать, включая загрузку/установку сторонних библиотек кода, вы можете сделать — в рамках сетевых ограничений, окружающих ваш сервер. Но на самом деле это сервер, поэтому приложения с графическим интерфейсом обычно не должны запускаться на нем. Это то же самое, что и для почти всех типов серверов. Кодируйте графический интерфейс в клиентской системе, а не на сервере. Но вы можете это сделать, если очень хотите.
person
user2338816
schedule
06.09.2016