dialog module (2)屏幕上的元素与程序通信
来源:互联网 发布:知乎dota2 lol 编辑:程序博客网 时间:2024/06/03 20:18
屏幕上的元素与程序实现通信,是通过在屏幕上定义name与程序中变量同名的元素来实现的。
如下面的例子所示:
程序中定义了五个变量,fld1,fld2,fld3,fld4,action。这五个变量分别对应屏幕上的五个输入输出字段。
这五个输入输出字段的name属性分别为 fld1、fld2、fld3、fld4、action。 所以,我们在PAI中对变量action的修改就会反应到屏幕上的action字段上。而且,在PAI中可以直接从变量fld1、fld2..中得到用户在屏幕上的输入值。
另外,本例子还蕴含的知识点是,通过不同的message类型控制程序的执行流程。
比如,我们如果弹出的message是E错误类型的,那么后续的PAI是不会被执行的,在这个程序中的表现就是action的值没有被改变;如果弹出的message是W警告和S成功类型的,那么后续的PAI会被执行,在这个程序中的表现就是action的值被改变了。
REPORT ytest12.
DATA: ok_code type sy-ucomm,
save_ok type sy-ucomm.
data: fld1(20)typec,
fld2(20)typec,
fld3(20)typec,
fld4(20)typec,
action(50)typec.
CALL SCREEN 100.
*&---------------------------------------------------------------------*
*& Module CHECK1 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE check1 INPUT.
"当输入Fld1 = 'FLD1'时提示错误,而且不执行PAI
if fld1 = 'FLD1'.
message e005(YMESS)with'FLD1 error'.
endif.
"当输入fld1 = 'FLD11'时弹出窗口提示,执行PAI
if fld1 = 'FLD11'.
message i005(Ymess)with'FLD1 warning'.
endif.
"当输入fld1 = 'FLD111'时输出成功,执行PAI
if fld1 = 'FLD111'.
message s005(Ymess)with'FLD1 ok'.
endif.
ENDMODULE. " CHECK1 INPUT
*&---------------------------------------------------------------------*
*& Module CHECK2 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE check2 INPUT.
if fld3 = 'FLD3'.
message e005(ymess)with'FLD3 error'.
endif.
if fld3 = 'FLD33'.
message i005(ymess)with'FLD3 warning'.
endif.
if fld3 = 'FLD333'.
message s005(ymess)with'FLD3 OK'.
endif.
ENDMODULE. " CHECK2 INPUT
*&---------------------------------------------------------------------*
*& Module CHECK3 INPUT
*&---------------------------------------------------------------------*
* text当FLD2的第一个字符是*时,执行该module
*----------------------------------------------------------------------*
MODULE check3 INPUT.
message i005(ymess)with'FLD2* warning'.
ENDMODULE. " CHECK3 INPUT
*&---------------------------------------------------------------------*
*& Module CANCEL INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE cancel INPUT.
leave PROGRAM.
ENDMODULE. " CANCEL INPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
save_ok = ok_code.
clear ok_code.
case save_ok.
when 'EXIT'.
leave program.
endcase.
action = ''.
CONCATENATE fld1 fld2 fld3 fld4 into action .
ENDMODULE. " USER_COMMAND_0100 INPUT
参考资料:http://download.csdn.net/detail/fengyan5022/4136492
- dialog module (2)屏幕上的元素与程序通信
- dialog module (4)修改屏幕上某个或某几个元素的状态
- dialog module (5)屏幕上显示某个表的内容(Table Control)
- Dialog和软键盘在屏幕上的并存问题:
- Application与Module通信
- 让安卓的Dialog与屏幕等宽的方法
- dialog module (1)基本知识
- Java与Flex学习笔记(15)----Flex中的Application与Module间的通信
- dialog module (6)set PARAMETER 的使用
- Android支持多屏幕(7)在不同的屏幕上测试你的程序
- select元素与dialog的focus属性冲突的问题
- 浏览器屏幕上显示的块级元素居中
- FLEX实践—Application与Module通信(二)
- es6 javascript的模块module(上)
- 建立一个activity dialog 设置他在屏幕上的位置以及透明度
- android 实现由下至上弹出并位于屏幕底部的Dialog
- dialog从上往下掉的动画,屏幕往下落动画
- 怎么使程序与服务器上的oracle11g进行通信呢-安装oracle11g客户端
- CDC双缓冲防闪屏绘图总结
- dialog module (1)基本知识
- 第一次用qsort
- [C++ Exercises] Day 2012-3-13
- 《十年程序员》
- dialog module (2)屏幕上的元素与程序通信
- StringBuilder与StringBuffer和String 的区别
- delphi命令行窗口实现9*9乘法表
- SqLite的query方法,参数args中不能含null值
- YUV420SP格式图片转RGB
- GCC新手入门
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- 网页表格颜色
- qsort和sort的区别----拨云见日