免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: sy_huang
打印 上一主题 下一主题

rpg 3中E表常数数组是怎样赋值的呢! [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-10-01 21:36 |只看该作者
你可以参考 RPG REFERENCE这本书啊,我觉得关于E表(也就是数组)和I表写的比较清楚。

下面我说一下我个人的理解,我也刚刚接触400,仅供参考。

数组应该有三种表示方法:编译期数组,运行期数组,还有前运行期数组。

编译期数组: E                    ARR1    1  20 80
这种定义数组的方法就是编译期数组。注意此种数组在1的那个位置上必须有值,表示一行中有几个数组元素。
这种数组初始化的方法就是在程序的结尾处显示的赋值,就像这样一样
0387.01 **   C
0387.02 THE DRAWING IS INVALID.
0387.13 THE DATE IS INVALID.
0387.14 THE FIELD CAN NOT BE BLANK.
0387.15 THE FIELD MUST BE BLANK.
0387.16 THE DRAWING NO.WAS CANCELED.
0388.00      C*****
数组的前我个元素分别是这5条记录,其余的记录都是空格,如果是数字型的话,就是0.

运行期数组:  E                 ARR2      200 15   这种定义方法是运行期数组,注意,这种定义方法和编译期数组的定义方法比较像,但是有一点不同,就是运行期数组没有那个“1”,即每行包括元素的数量。所以,运行期数组那个位置必须不能填写任何值。
运行期数组初始化由程序完成。也可以通过I表进行初始化,通过I表初始化又分为全局初始化和局部初始化。具体请参考REFERENCE,我手头没书,记得不太清了。

最后的就是前编译期数组了,这个要和F表配合使用,在F表中声明为T类型(P,S,F,T...),为数组声明一个关联的文件,然后在E表中引入这个文件。此种数组赋值是通过数组文件赋值的。

再说I表,I表有4种功能,用的比较多的就是定义DS。定义的DS主要是拆分字段和合并字段,所以一个DS可能只给最上面的一个总的字段赋值了,下面的子字段也就都赋值了,这就是字段的拆分,合并也是同一个道理。
I表还有个功能就是定义常量了,   比如 I   ’dsljaldsald'           c            FIELDA    这样FIELEDA就被赋值了。
I表的其他2个功能和外部描述文件,程序描述文件有关,我就不太清楚了


我也是初学,以上意见仅供参考,如有错误,敬请指教
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP