欢迎来到天天文库
浏览记录
ID:43869746
大小:500.49 KB
页数:34页
时间:2019-10-16
《第4章交互式界面设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第四章交互式界面设计CICS主要用来开发交互式应用系统。典型的交互就是用户从终端上输入信息,应用程序从终端屏幕上获取相应信息,然后根据用八的请求进行处理,戢后将处理的结杲送回终端屏幕进行显示。因此交互式系统的关键就是如何从用八终端上获取信息,以及如何将信息发送到用户终端屏幕上指定的位置进行显示。CICS提供了两个基本的API接口命令来完成这二个任务,一个是RECEIVE命令,一个是SEND命令。在第三章我们已经了解这两个命令的基本用法。本章将继续介绍如何用这两个命令进行交互式界面设计。4.1终端用户交互在主机系统上用
2、户要与系统进行交互,必须通过终端界面来实现。在CICS屮,怎样才能方便、有效地定义终端界面,以实现与用户的良好的交互性呢?在第三章的例子程序里面我们用到了CICS提供的两个基本的终端输入输出命令:SEND命令RECEIVE命令我们回顾一下第三章里这两个命令的使用:EXECCICSRECEIVEINTO(INAREA)LENGTH(INL)RESP(RCVERR)END-EXEC.EXECCICSSENDCONTROLCURSOR(1760)END-EXECEXECCICSSENDFROM(MSGI)LENGTH(40
3、)END-EXEC上面三个CICS语句中第一句是使用RECEIVE命令从用户终端获取信息,默认是从终端屏幕左上角开始获取LENGTH所指定的长度的信息,没有提供从终端某行莫列开始直接获取信息的途径,如果需要从终端某行莫列开始直接获取信息的话,最好的办法是将终端上所有信息先接收进来,然后再在程序里编写代码把需要的信息提取出来,非常不方便。因此,RECEIVE命令的这种用法主要适合简单的信息获取,如获取事务提交时带的“命令行参数”。而第二个和第三个CICS命令则是用来在用户终端制定的位置输出信息。笫二句的作用是先将光标定
4、位到1760(即23行第1列)处,接下来第三句则是在光标当前位置,23行笫1列,将MSGI的信息显示。我们发现SEND命令不能直接在指定的行列处输出信息,必须先用单独的命令将光标定位到指定行列处,然后再在光标所在的位置进行输出。这同样的非常不方便。所以如果想用前血SEND和RECEIVE命令的基本用法来做一个交互式菜单程序的话,用于设计输入输出的代码量将很大。而且一旦菜单界面调整,比如增加、减少菜单项,屏幕布局调整等等,这些调整实际应用开发过程中经常要做。而每一次跟界面相关的调整需要修改大量的代码。这就如同DOS年代
5、编写交互式程序一样,稈序员大部分精力消耗在界面的设计和调整上了,这样整个应用的开发效率和质量肯定不会太好。出现这种情况的根本原因在于这种开发模式下,界面设计和程序逻辑完全混合在一起。因此CICS就试图将界面设计和程序逻辑分开,这就是CICS的基本映像支持(BasicMappingSupport)M统的主要任务了。BMS提出了屏幕映像(MAP)的概念,屏幕映像就像一个对象一样,它将用户终端的屏幕进行格式化,描述了屏幕的各种布局,用户可输入的区域,应用程序可输入输出的区域等等与界面相关的内容,这以前需要大量的SEND命令
6、才能完成。同时作为一个对象,它具有很多属性,而这些属性可以在用户的程序里而可以访问,程序员可以通过控制这些属性来控制屏幕映像。CICS依然用SEND和RECEIVE两个基本命令来完成对屏幕映像的使用,只不过参数有些不同了。主要有SENDMAP和RECEIVEMAP这两种用法,这两个命令在程序和终端之间进行格式化数据流的传输,以完成对•终端界面格式和功能的定义。它们的功能分別是:(1)SENDMAP命令在应用程序中,通过运用SENDMAP可将定义好的屏幕映像发送到用户终端上去,而不需要用很多普通SEND命令,先定位光标
7、,然后发送信息的方法。这大大减少了程序员对界面处理的编码量。(2)RECEIVEMAP在应用程序中,通过应用RECEIVEMAP将用户在终端上己格式化了的屏幕上输入的信息接收到应用程序的变量里,然后进行处理。我们讲解了如何在程序和终端之间进行格式化数据流的传输。那么现在关键是这种格式化的数据流又是如何进行定义的呢?CICS提供了BMS(BasicMappingSupport),通过BMS,就可以在全屏范围内定义数据的格式和功能,以供程序引用和控制。4.2MAP及MAPSET概念BMS(BasicMappingSupp
8、ort)基本屏幕映像支持。屏幕映像是根据需求进行定义的。CICS提供了应用生成程序CSP(CrossSystemProduct)和屏幕映像生成程序SDF-II(ScreenDefinitionFacility-II)o通过这两个程序,生成一个具有"屏幕绘画(screenpainting)v功能的模型。然后用一些相关的公用例行程序将该模型进行适当
此文档下载收益归作者所有