Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8465
  • 博文数量: 5
  • 博客积分: 206
  • 博客等级: 入伍新兵
  • 技术积分: 60
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-24 22:39
文章分类

全部博文(5)

文章存档

2011年(5)

我的朋友

分类:

2011-03-05 10:13:45

(摘自网友niuhua77的回复贴,摘抄以备忘,勿怪)
 
数组分类:
1.Compile time array(编译期数组);
2.Prerun-time array(运行前数组);
3.Run-time array(运行期数组)。

1.编译期数组:
E                    ARR1    1  20 80
这种定义数组的方法就是编译期数组。注意此种数组在1的那个位置(Entries per Record)上必须有值,表示一行中有几个数组元素。
这种数组初始化的方法就是在程序的结尾处显示的赋值,以**开头,或为分隔符.
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.

2.运行期数组:  
E                 ARR2      200 15   
这种定义方法是运行期数组,注意,这种定义方法和编译期数组的定义方法比较像,但是有一点不同,就是运行期数组没有那个“1”,即每行包括元素的数量。所以,运行期数组那个位置必须不能填写任何值。

运行期数组初始化由程序完成。也可以通过I表进行初始化,通过I表初始化又分为全局初始化和局部初始化。
 
例:
F*****************************************************************
E* Head Title Array                                              
E                    HDS         5  8                            
E                    CDT         5  8 0                          
I*****************************************************************
I* USER DATA AREA                                     
I* HDS(05)                                            
I            DS                                       
I                                        1  40 HDS    
I                                        1   8 HDS01  
I                                        9  16 HDS02  
I                                       17  24 HDS03  
I                                       25  32 HDS04  
I                                       33  40 HDS05  
I*****************************************************************
                                                      

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

再说I表,I表有4种功能,用的比较多的就是定义DS。定义的DS主要是拆分字段和合并字段,所以一个DS可能只给最上面的一个总的字段赋值了,下面的子字段也就都赋值了,这就是字段的拆分,合并也是同一个道理。
I表还有个功能就是定义常量了,   比如 I   ’dsljaldsald'           c            FIELDA    这样FIELEDA就被赋值了。
I表的其他2个功能和外部描述文件,程序描述文件有关,我就不太清楚了.
阅读(739) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-27 14:01:03

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com