AS400 怎样实现F1=Help的功能(2)
下面给大家一小小的例子来看怎样使用PANAL GROUP.
1) 创建新的 PANEL GROUP 源程序 CRTSRCPF YOU_LIB/QPNLSRC
2)用SEU 打进去下面的源程序:source member: MY_DSPFHT, 类型: PNLGRP 内容:
NLGRP TXTMODE=SBCS.
:HELP NAME='MY_REC1' WIDTH=74.
:H1.BAA101 This is the hading of my Screen Level Help
:H3.Over View
.
This is the first paragraph of the help text for my screen. What ever you
type here will be shown when F1=Help is entered, when cursor is not
positioned to any fields with field-lever help defined.
.
And this is the second paragraph of the help text.
.
The third paragraph of the screen level help.
.
:LINES.
Help lines can be entered as follows:
help line 1
help line 2
help line 3
help line 4
:ELINES.
.
:EHELP.
:HELP NAME='MY_REC1/MY_FLD1'.
:H3.This is the field level help. When cursor is positioned to the field
and F1=Help key is pressed, the message here will be shown on the screen.
:EHELP.
:EPNLGRP.
用OPTION 14来编译这个源程序,生成 PANAL GROUP OBJECT MY_DSPFHT.
再打入样板DSPF源程序如下:SOURCE MEMBER:MY_DSPF, SOURCE TYPE: DSPF
A DSPSIZ(24 80 *DS3)
A ALTHELP(CA01)
A HLPTITLE(' ')
A HELP
A**************************************************************************
A R MY_REC1
A H HLPARA(*NONE)
A HLPPNLGRP('MY_REC1' -
A MY_DSPFHT)
A H HLPARA(10 2 10 39)
A HLPPNLGRP('MY_REC1/MY_FLD1' -
A MY_DSPFHT)
A 10 2'THIS IS MY FIELD'
A MY_FLD1 10A B 10 30
编译成功后用 SDA OPTION 3. Test display files 测试,光标放在没有字段的地方,按F1=Help键,看屏幕上出现什么,
再吧光标方在可输入的字段上,按F1=Help键,再看屏幕上出现了什么。
大家想一想,是不是比不愿意看书学习,喜欢凭小聪明搞点“小发明”的某老鸟自创的“古董光标坐标法+弹出窗口屏幕程序法”容易得多呢?
请把 改成 :P
附上某老鸟的“古董光标坐标法+弹出窗口程序法”的连接
http://blog.chinaunix.net/u1/46034/showart.php?id=362360
[ 本帖最后由 franliu 于 2009-11-29 18:35 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
这个就不理解了。虽然报错,但是是10的错误,没有影响测试结果。可是我也没有在PNL里边加任何的中文,所以还是觉得怪怪的。
另外,SUBFILE能够用这个方法么?我刚刚在SUBFILE里边找不到PNLHLP
我那个例子是纯英文的。你用CCSID=37就不会报错了。
也是937
哦。我是问你那个qpnlsrc文件的ccsid呢。
FILE的为937,没有源程序,是在TEST FILE里边测试的
你那源程序文件的ccsid和你的作业的ccsid分别是什么?
Message . . . . : A CCSID conversion error occured when message CPX5A0C was
*MSGID: CPD5BCB SEVERITY: 10 SEQNBR: 0 TAG NBR: 0
这是编译PNL时发生的,但是不影响程序,我想问下,这个会引起什么影响么?
*MSGID: CPD5A8E SEVERITY: 30 SEQNBR: 0 TAG NBR: 0
Message . . . . : Text found before first tag in panel group.
在标签后面前面在输入文本了。
*MSGID: CPD5A8C SEVERITY: 30 SEQNBR: 100 TAG NBR: 2
Message . . . . : Text found after PNLGRP tag.
在标签后面不可以在输入文本了。
这个panal group源程序有点像xml, 每段文本就是被头和尾quote起来的。
你copy-paste我的源代码不就行了?
我照着你的内容输入一遍,编译PNLGRP时报错。为什么啊。
*MSGID: CPD5A8E SEVERITY: 30 SEQNBR: 0 TAG NBR: 0
Message . . . . : Text found before first tag in panel group.
*MSGID: CPD5A8C SEVERITY: 30 SEQNBR: 100 TAG NBR: 2
Message . . . . : Text found after PNLGRP tag.