2015-02-08 83 views
0

我想更改子文件中字段中各个字符的颜色。AS400 RPG DSPF字符级别颜色变化

SCOTT LAWRENCE

JOHN SMITH

我喜欢展示在SCOTT CO作为在红色RED颜色和MI在SMITH和所有其他字符是绿色的。这可以实现吗?我很难在个人角色级别找到DSPATR,而不是DSPF中的字段级别。基本上,我想在一个子文件中以不同颜色显示具有值CO和MI的字段中的字符。

+1

如果使用5250显示器,则不存在可用于显示文件的字符级属性。属性在现场级别。如果需要这种详细的控制,请使用更纯粹的GUI显示技术。 – user2338816 2015-02-08 02:20:30

+0

实际上,显示文件显示在GUI屏幕上。如何使用相同的DSPF在GUI屏幕上控制字符颜色? – sbalajis 2015-02-08 02:25:43

+0

只能使用本机功能,无法使用5250 DSPF。从技术上讲,我认为,“屏幕刮板”或某种类似的技术可以模拟字符级别的控制,也许通过在记录格式中传递'隐藏'字段;但是需要将这些字段添加到记录格式中,添加RPG代码来填充这些字段,并让一些客户端解释并实现这些值对于客户端输出的任何意义。 – user2338816 2015-02-08 02:41:50

回答

0

5250显示器在SCOTT中将CO显示为RED颜色的唯一方法是在字符串中写入十六进制值,例如: 'S'+ x'28'+'CO'+ x'20 + 'TT' (X28:红,X20:正常 - 比照http://www.classanova.com/view?id=1382&p=5

这将改变颜色,但也将有任何的十六进制码1个空间: S CO TT

对于GUI,则可能有更好的选择。也许生成一个颜色变化的HTML页面可能是一个选项。

0

,如果你的“名称”字段是一个固定长度为10个字符,你会成为一个数据结构 每个字符...

DS 110名

1 1 Name1 

2 2 Name2 ... etc. 

,那么你会用您的输入名称SMITH加载NAME。 名称分解为单个字段。 使用彼此相邻的10个显示字段&定义它们的颜色。 使用您的DS字段加载屏幕字段SName1 = Name1 SName2 = Name2 显示您选择颜色的字段。 SName1 SName2 SName3 .....