免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5386 | 回复: 13

超難問題:請問ILE RPG中如何把多個字符串連接起來? [复制链接]

论坛徽章:
0
发表于 2007-09-24 09:40 |显示全部楼层
C                   Eval      A = %TRIM(A1)+%TRIM(A2)+%TRIM(A3)+...+%TRIM(A99)

請問像這樣的表達式我怎麼寫比較簡潔?難道我要從A1寫到A99嗎?變量都是有規律的遞增,如何在RPGLE編程中使用動態變量來拼湊表達式?

[ 本帖最后由 forgot2000 于 2007-9-25 17:45 编辑 ]

论坛徽章:
0
发表于 2007-09-24 14:41 |显示全部楼层
你可以用数据结构啊

论坛徽章:
0
发表于 2007-09-25 17:20 |显示全部楼层
不明白,請問有哪位好心的兄弟給出個簡單的例子嗎?謝謝!

论坛徽章:
0
发表于 2007-09-26 08:39 |显示全部楼层
定义个数组,然后做个循环,对数组操作
数组定义(rpgle)
D                 DS                           
D NNI2_RAK                       3    DIM(3)   
D NNI2_RAK1               1      3              
D NNI2_RAK2               4      6              
D NNI2_RAK3               7      9

论坛徽章:
0
发表于 2007-09-26 16:56 |显示全部楼层
樓上的朋友,那麼定義的時候還不是要寫那麼多,更麻煩了。我的程序中的A1,A2,A3是在外部DDS文件中已經有的定義,在程序中不需要再重復定義,如果用數組處理,那麼我又要從A1定義到A99,不是更麻煩了嗎?

论坛徽章:
0
发表于 2007-09-26 17:21 |显示全部楼层
用循环来作。如果你的字段名字是A01,A02.....A99就可以。
定义一个99元素的数组。(我们用的RPG3).
E       VAL      99             10   (假设99个字段的长度,类型一致。都是10位长的字符)
I                 DS                  
I                                            1    3  NAME
I                                             1   1  NAM1(存放“A')
I                                              2  30 NAM2(存放‘01-99’的值。变化的)
C     1       DO     99         WX          20
C             Z-ADDWX         NAM2
C              MOVELNAME    VAL,WX
C   Eval      A= %TRIM(VAL,WX)
C              ENDDO


如果字段名没有规律。那就没啥好办法了。

论坛徽章:
0
发表于 2007-09-26 17:43 |显示全部楼层
RPG不支持指针,不像C语言对这类操作特别容易。

我这里提供一种实现策略。

把N条文本放入一个字段的PF文件中。然后再用RGP实现就很容易。假设,这个PF的纪录名为R,字段名为A。汇集总字段变量为@A。

/free

     Read R;
     Dow not %eof;
            @A =  @A + %Trim(A);
          Read R;
      Enddo;
/end-free

[ 本帖最后由 passthru 于 2007-9-26 19:39 编辑 ]

论坛徽章:
0
发表于 2007-09-27 09:20 |显示全部楼层

很好!

七楼的不错。

论坛徽章:
0
发表于 2007-09-27 09:23 |显示全部楼层
RPG4支持指针的。

论坛徽章:
0
发表于 2007-09-27 10:45 |显示全部楼层
原帖由 李海隽 于 2007-9-27 09:23 发表
RPG4支持指针的。

我指的是C语言中放置变量的地址指针,或数组中的变量指针。而RPG中的这类指针都没有。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP