免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 13047 | 回复: 26
打印 上一主题 下一主题

【个人整理系列之一】关于光标取值 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-21 14:10 |只看该作者 |倒序浏览
在程序内对于光标定位的取值方式以下所有的举例都是RPGLE类型)

1:INFDS中定义

FXXXXFM  CF   E             WORKSTN INFDS(INFDS)

D INFDS           DS                  
D*           DISPLAY DATA STRUCTURE   
D  QFSTA            *STATUS           
D  QFCURP               370    371B 0

C     QFCURP        IFNE      0               
C     QFCURP        DIV       256           ROW  ----行
C                          MVR                       COL  -----列
C                          ENDIF

在DSPF中,
A            ROW          3S 0H
A            COL           3S 0H

论坛徽章:
0
2 [报告]
发表于 2006-07-21 14:15 |只看该作者
2:使用RTNCSRLOC

在DSPF中定义:

A                                      RTNCSRLOC(&CSRRCD &CSRFLD )

A            CSRRCD        10A  H---记录名字段
A            CSRFLD        10A  H---字段名

取出光标所在的显示记录名和所在的字段

论坛徽章:
0
3 [报告]
发表于 2006-07-21 14:17 |只看该作者
3:RTNCSRLOC(*MOUSE &A &B)

取(鼠标)光标所在具体位置
A            A          3S 0H
A            B          3S 0H

论坛徽章:
0
4 [报告]
发表于 2006-07-21 14:18 |只看该作者
4:RTNCSRLOC(*WINDOW &A &B)

取活动窗口中光标位置

论坛徽章:
0
5 [报告]
发表于 2006-07-21 14:39 |只看该作者
总结:在平时工作中,有的时候需要

在用户交互画面中:当用户在不能的输入字段上,按某个功能键实现查询功能.

如果我们用固定的方式:比如说,F3=用户信息查询,F4:厂家基本信息查询,F5:人员使用查询,也可以满足需求.但是当有很多个时,就不提倡这种做法了.


这时,我们就需要用光标定位来实现上面的功能

一般有2种方式:

1:利用光标的行坐标和列坐标的值等于某个固定值实现
例子:
C     ROW        IFEQ      6             ---当鼠标位置的行坐标等于第6行         
C     COL        ANDGE     28           ---列坐标在28列到32列之间         
C     COL        ANDLE     32                     
C                   CALL      'XXXXX'      XXXXX   
C                   ENDIF                           


2:第2种就是利用光标返回出所在字段名

比如:在DSPF中定义的一个输入字段  USEFLD

那么如果在DSPF定义了,RTNCSRLOC(&CSRRCD &CSRFLD )

那么CSRFLD     IFEQ  'USEFLD'             当光标所在的字段名等于
                       CALL  'XXX'            XXX
                       ENDIF


PS:虽然说不一定是这种方式好,我只是想对平时工作中,对于一个事物的多个处理方法.大家参考一下.有啥写错的地方,还望指出..

下一个系列主要将如何 掌握SUBFILE的多种处理方式...

论坛徽章:
0
6 [报告]
发表于 2006-07-21 15:12 |只看该作者
路过,帮顶

论坛徽章:
0
7 [报告]
发表于 2006-07-21 16:16 |只看该作者
嘻嘻,是个好贴,一般用的比较多的是1,2种, 3,4是在dspf的DDS中定义吗?

论坛徽章:
0
8 [报告]
发表于 2006-07-21 22:03 |只看该作者
不错哦! 继续!

论坛徽章:
0
9 [报告]
发表于 2006-07-22 08:45 |只看该作者
路过,不错,顶!

论坛徽章:
0
10 [报告]
发表于 2006-07-22 08:46 |只看该作者
路过,不错,顶!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP