Keyboard 是否可以在COBOL中捕获退格键或左右箭头键?
我想使用Keyboard 是否可以在COBOL中捕获退格键或左右箭头键?,keyboard,cobol,Keyboard,Cobol,我想使用ACCEPT语句捕获箭头击键。我现在有这个: ACCEPT MY-DUMMY CONTROL KEY IN MY-KEYSTROKE 这对上下箭头有效。但是,对于左箭头和右箭头,它不起作用,因为运行时使用这些键在输入字段中导航 是否有任何方法可以捕获这些击键,并防止主机使用它们 编译器:ACUCOBOL-GT(我还不知道是哪个版本或发行版) 操作系统:Windows 10 除了公认的答案外: 可以在异常键前添加异常代码,以区分左箭头和右箭头击键 SET ENVIRONME
ACCEPT
语句捕获箭头击键。我现在有这个:
ACCEPT MY-DUMMY
CONTROL KEY IN MY-KEYSTROKE
这对上下箭头有效。但是,对于左箭头和右箭头,它不起作用,因为运行时使用这些键在输入字段中导航
是否有任何方法可以捕获这些击键,并防止主机使用它们
- 编译器:ACUCOBOL-GT(我还不知道是哪个版本或发行版)
- 操作系统:Windows 10
除了公认的答案外: 可以在异常键前添加异常代码,以区分左箭头和右箭头击键
SET ENVIRONMENT "KEYSTROKE" TO "EXCEPTION=054,Left kl"
SET ENVIRONMENT "KEYSTROKE" TO "EXCEPTION=055,Right kr"
SET ENVIRONMENT "KEYSTROKE" TO "EXCEPTION=201,BkSp ZB"
ACCEPT DUMMY
CONTROL KEY IN MY-KEYSTROKE
EVALUATE (MY-KEYSTROKE)
WHEN 054
PERFORM DO-SOMETHING
END-EVALUATE
对于ACUCOBOL(引自)
默认情况下,左箭头和右箭头充当编辑键,上箭头和下箭头同时充当编辑键和异常键。如果需要,可以在运行时更改箭头的行为以在不同模式之间切换。您可以通过设置环境
动词和相应的按键
设置来执行此操作
另见
顺便说一句:“更新的”ACUCOBOL版本(读作“未完全过时”)支持
接受省略的您使用的编译器和版本是什么?哪个操作系统?回答:是的,它是。。。如果你想知道怎么做。。这在很大程度上取决于所使用的编译器,您必须选择不同的路径。ACUCOBOL允许您设置映射到功能键的击键,如果您使用光标值,也应该将其返回。其他供应商有不同的扩展。如果你只需要一次按键就可以访问C库,那么调用'getch'
(如果系统使用诅咒)可能是更好的选择。我在答案中添加了异常键。谢谢你的更新。
SET ENVIRONMENT "KEYSTROKE" TO "EXCEPTION=055,Left kl"
SET ENVIRONMENT "KEYSTROKE" TO "EXCEPTION=056,Right kr"
ACCEPT OMITTED CONTROL KEY IN MY-KEYSTROKE
SET ENVIRONMENT "KEYSTROKE" TO "EDIT=Left kl"
SET ENVIRONMENT "KEYSTROKE" TO "EDIT=Right kr"