aga*_*anm 2 graphics rpg ibm-midrange display
我知道存在DDS文件,该文件允许对as / 400上的显示图形进行编程,但是还有另一种方法吗?
具体来说,我想做的是直接操作终端缓冲区以显示除文本以外的任何内容。例如,终端如下所示:
假设,在内存中,将有一个二维字符数组:用于文本菜单的text [20] [80],而在其下方,将有一个大小为[200] [800]的像素缓冲区数组。
有没有办法直接访问这些数组中的任何一个?我希望能够完全用C创建一个可显示菜单,而不需要显示文件,并且还可以直接在像素缓冲区中显示其他类型的图形(图像)。
有没有办法直接访问这些数组中的任何一个?
这很容易,尽管仍然需要没有格式字段的“显示文件”。“文件”将是程序与物理设备(或仿真器)之间的连接。您可以定义一个大区域,其中包含您希望程序放入其中的任何“文本”。这甚至可以包括界定输入区域的显示字段属性。
为了获得最大的控制权,DDS USRDFN关键字是适当的。但是对于诸如菜单项列表之类的简单内容,几乎任何大文本字段都可以输出到。
输出简单文本很容易。对于USRDFN格式之类的详细内容,需要对5250协议有详细的了解。
一种替代方法是使用用户界面管理器(UIM)API通过其USREXIT =应用程序更新面板的“文本区域”(:TEXT)。UIM可以处理所有“显示文件”定义和实际I / O。UIM可以看作是5250的HTML界面,并使用非常相似的标记语言来定义PANEL。
另一个选择是动态屏幕管理器(DSM)API。与UIM或DDS方法相比,它们提供了更好的控制(尽管DDS USRDFN非常接近)。但是与USRDFN一样,实际的设备控制将需要5250协议知识。
...并直接在像素缓冲区中显示其他类型的图形(图像)。
没有用于5250的“像素缓冲区”,甚至没有“像素”。这是一个基于字符的协议,例如telnet。如果您要查找图像或“像素”,那么您将进入浏览器界面,或者可能是Java和NAWT或X-windows等。
现在,只要有了TCP / IP和套接字,您就可以执行任何您可以编写的程序。无论您能做什么,包括下载/安装第三方代码库,都可以在服务器周围的网络限制内完成。但是实际上它是一台服务器,因此通常不应该在其上运行GUI类型的应用程序。几乎与所有类型的服务器相同。在客户端系统而不是服务器上对GUI进行编码。但是,如果您确实愿意,可以这样做。