我需要在rpgle程序中显示显示文件中文件字段值的十六进制值

问题描述 投票:0回答:1

我需要使用 RPGLE 读取文件,然后在显示文件中显示该文件的某些字段的十六进制值。

有人可以告诉我如何在rpgle程序中获取字段的十六进制值并将其显示在显示文件中吗?

如有任何建议,我们将不胜感激

ibm-midrange rpgle rpg
1个回答
0
投票

RPG IV 没有任何内置的 HEX() 函数...

但是,SQL 可以

dcl-s myCharString varchar(100);
dcl-s myHexString varchar(200);

exec sql
  values hex(:myCharString) into :myHexString;

您可以选择使用 MI 将十六进制转换为字符 (CVTHC)* 指令,使用像这样的原型...

dcl-pr CharToHex ExtProc('cvthc');
   hexResult    Char(65534)  Options(*VarSize);
   charInput    Char(32767)  Options(*VarSize);
   charNibbles  Int(10)  Value;
End-Pr;

dcl-s myCharString varchar(100);
dcl-s myHexString varchar(200);

CharToHex ( myHexString : myCharString : %len(myCharString) * 2 );

*注意这个名字是反直觉的,相反的操作是Convert Character to Hex (CVTCH)。

这是 Jon Paris 撰写的一篇好文章,在 RPG 中练习安全十六进制,介绍了 MI 功能。

© www.soinside.com 2019 - 2024. All rights reserved.