Graphics as/400:显示图形的其他方式?

Graphics as/400:显示图形的其他方式?,graphics,ibm-midrange,display,rpg,Graphics,Ibm Midrange,Display,Rpg,我知道存在允许在as/400上编程显示图形的DDS文件,但还有其他方法吗 具体来说,我想做的是直接操纵终端缓冲区,以便能够显示文本以外的任何内容。 例如,终端的外观如下所示: 比如说,在内存中,将有一个二维字符数组:文本菜单的文本[20][80],低于这个值,将有一个大小为[200][800]的像素缓冲数组 有没有办法直接访问这两个阵列中的任何一个? 我希望能够完全用C语言创建一个可显示的菜单,而不需要显示文件,还可以直接在像素缓冲区中显示其他类型的图形(图像)。在ILE C/C++中有一种方法

我知道存在允许在as/400上编程显示图形的DDS文件,但还有其他方法吗

具体来说,我想做的是直接操纵终端缓冲区,以便能够显示文本以外的任何内容。 例如,终端的外观如下所示:

比如说,在内存中,将有一个二维字符数组:文本菜单的文本[20][80],低于这个值,将有一个大小为[200][800]的像素缓冲数组

有没有办法直接访问这两个阵列中的任何一个?
我希望能够完全用C语言创建一个可显示的菜单,而不需要显示文件,还可以直接在像素缓冲区中显示其他类型的图形(图像)。

在ILE C/C++中有一种方法可以做到这一点。这是非常有趣的调查,因为我还没有尝试过自己

我唯一能找到的(第183页+)是5.1中的,但是你可以交叉引用以前使用的函数(可能是第vii/7页),看看它们是否仍然使用相同的函数

希望这有帮助

有没有办法直接访问这两个阵列中的任何一个

这很简单,不过仍然需要一个没有格式化字段的“显示文件”。“文件”将是程序和物理设备(或模拟器)之间的连接。您可以定义一个大区域,其中包含您希望程序放入的任何“文本”。这甚至可以包括分隔输入区域的显示字段属性

对于most控制,最合适的方法是。但对于菜单项列表这样的简单内容,几乎任何大型文本字段都可以输出到

输出简单文本很容易。对于像USRDFN格式化这样的详细内容,需要详细了解5250协议

一种替代方法是通过其USREXIT=应用程序更新面板的“文本区域”(:text)。UIM处理任何“显示文件”定义和实际I/O所涉及的一切。UIM可以看作是5250的HTML接口,并使用非常类似的标记语言来定义面板

另一个选择是。这些方法比UIM或DDS方法提供更精细的控制(尽管DDS USRDFN非常接近)。但与USRDFN一样,实际的设备控制需要5250协议知识

…并直接在屏幕上显示其他类型的图形(图像) 像素缓冲区

5250没有“像素缓冲区”,甚至没有“像素”。这是一个基于字符的协议,就像telnet一样。如果你想要图像或“像素”,你就要进入浏览器界面,或者Java和NAWT,或者X-windows,等等


现在,假设有了TCP/IP和套接字,您基本上可以做任何可以编程的事情。无论您知道如何做,包括下载/安装第三方代码库,您都可以在服务器周围的网络限制范围内完成。但实际上它是一个服务器,所以GUI类的应用程序一般不应该在它上面运行。这与几乎所有类型的服务器相同。在客户端系统而不是服务器上编写GUI。但是如果你真的想做的话,你可以做。

我不知道你为什么要做这个

现在,简单地以HTML形式生成输出并通过集成的ApacheWeb服务器提供输出会容易得多

但如果你真的想通过5250制作图形,至少理论上是可以做到的。在平台上20多年来,我从未见过它

但早在1994年,IBM就在OS/400中添加了对的支持。“GDDM是一种 显示、打印或打印图片。演示图形例程是 显示、打印或绘制业务图表的方式。”

支持仍然在操作系统中。但是,IBM i Access for Windows或最新发布的客户端IBM Access client Solutions(ACS)中不提供客户端支持。看来独立的


要完全控制字符缓冲区,请查看。DSM API是“一组屏幕I/O接口,为Integrated Language Environment®(ILE)高级语言创建和管理屏幕提供了一种动态方式。由于DSM接口是可绑定的,因此只能由ILE程序访问。”

您是具有命令行访问权限的开发人员吗?如果是这样,如果输入STRPTL命令并用F4提示它,会发生什么情况?是否安装了命令?@user2338816是的,我有命令行访问权限。我使用的as400是V6R1M0版本。它没有安装STRPTL命令。不清楚“图形”是什么意思,尤其是在C语言中。现在,它可能是通过Java实现的浏览器UI。如果需要C语言,您可能需要一个X窗口显示,所以请考虑下载/安装。但如果你能编辑你的问题,你可能会解释更多你真正需要的。@user2338816我做了,让它更清楚了。谢谢,我的问题确实还没有完全解决。我已经使用GDDM进行打印和显示。不过,对于显示,您需要一个具有图形功能的5250终端或模拟器。我所知道的最后一个使用5250图形的仿真器是通过SNA的旧IBMDOS仿真器。(也许颜色3279可以用?)当然,没有什么能阻止人们写一本现代的。IIRC,GDDM已经在操作系统中原生了几个版本,不需要安装单独的选项或产品。@user2338816。。。是的,我做了一个小演示…看起来ACS和iAW都不支持GDDM。但PCOMM看起来确实有可能。