工作之余,写了个通过程序操作显示文件对模拟用户信息进行管理的例子,旨在写程序的过程中学习,现与大家分享,经验有限,望勿见笑!
一、先上图,程序实现Source List如下:

二、程序只是简单地实现通过显示文件对文件单笔记录的增加、修改、删除、显示功能,其中模式切换分别通过功能键F5\F6\F7\F8实现,效果如图:
增加操作模式:

修改模式如图:

删除模式如图:

显示模式如图:

三、程序实现过程中,复习要点如下:
RPGLE:
1、编译伪指令的使用:/DEFINE、/COPY、/FREE……/END-FREE自由格式等;
2、预定义数组的使用:关键字CTDATA DIM(N) PERRCD(M);
3、内置函数的使用:%XLATE、%SCAN、%LEN、%TRIM、%SUBST等;
4、日期格式检查:*ISO TEST(D) X 20;
5、基于AES算法的加密解密API:EncryptData/DecryptData(注:我把这哥俩封装在了同一原型,通过RETURN返回加密或解密后的值);
6、对定义的文件进行增改时,对相关字段进行控制,如日期有效性、用户姓名用小写字母形式写入文件、Email地址进行简单的有效性检查、密码校验等;
7、PF\LF\DSPF\MENU\MODULE\SRVPGM\PGM的创建和编译方法学习。
DSPF:
1、窗体的使用和控制:WINDOW;
2、按钮\多项选择\单项选择的使用:PSHBTNFLD\SNGCHCFLD\MLTCHCFLD
3、字段属性的控制:NON DISPLAY-DSPATR(ND)、颜色等;
4、MENU的实现。
其中密码字段加密之后记入文件效果如下:

四、程序编码完成后通过编译生成可执行目标的参考命令如下:
CRTPF FILE(MYOBJLIB/USUSRDTAP) SRCFILE(MYSRCLIB/QUSRSRC) REUSEDLT(*YES)
CRTLF FILE(MYOBJLIB/USUSRDTAL1) SRCFILE(MYSRCLIB/QUSRSRC)
CRTDSPF FILE(MYOBJLIB/USUSRDSPR@) SRCFILE(MYSRCLIB/QUSRSRC)
CRTRPGMOD MODULE(MYOBJLIB/USUSRRPGRI) SRCFILE(MYSRCLIB/QUSRSRC) SRCMBR(USUSRRPGRI)
CRTRPGMOD MODULE(MYOBJLIB/USUSRRPGRP) SRCFILE(MYSRCLIB/QUSRSRC) SRCMBR(USUSRRPGRP)
CRTSRVPGM SRVPGM(MYOBJLIB/USUSRSRVGM) MODULE(MYOBJLIB/USUSRAESRI) EXPORT(*ALL) SRCFILE(MYSRCLIB/QUSRSRC) SRCMBR(USUSRSRVBD)
CRTPGM PGM(MYOBJLIB/USUSRRPGRP) MODULE(MYOBJLIB/USUSRRPGRP) BNDSRVPGM(MYOBJLIB/USUSRSRVGM)
通过GO USRMNU进入菜单选择选项'1'发起进行文件管理界面;也可直接CALL USUSRRPGRP发起。
GO USRMNU如图:

五、小结:
本例只是简单地对文件进行单项记录管理,显示文件的使用中,其SUBFILE的使用更常见,还是就是通过重定向显示文件OVRDSPF来实现子文件的自动刷新功能(多运用于作业管理菜单,需要实时对作业状态进行监控), 显示文件的下拉列表功能MNUBAR\PULDWN RECORD等等,有待进一步学习和考究。
六、附程序源码:
source.rar
阅读(875) | 评论(0) | 转发(0) |