第三章:P163 1、你所用的图形软件是属于子程序库、专业语言和交互命令,还是这三种形式的混合形式,或是其他的形 式。你认为你所用的图形软件的成功和不足之处是什么?有哪些改进意见? )使用的图形软件采用C语言作为主语言,属于子程序库、专用语言和交互命令混合 (2)成功之处:使用方便、便于扩充、便于用户加入用户自己编写的源程序或目标代码:不足之处是格式 随所用主语言格式而定,修改源程序比较麻烦 (3)实现与其他语言(非主语言)的兼容运行,交互式修改运行结果,而不需要人为地查看、修改源程序。 2、面向应用程序的接口通常有哪几种形式?你认为哪一种形式更方便应用和扩充应用功能? 面向应用程序的接口有子程序库、专用语言和交互命令三种形式 交互任务是用户最关注的事,交互技术是完成交互任务的手段,故交互命令是用户接口中应用最普遍 效率最高的一种形式,对交互设备、交互任务、交互技术以及控制方式等的综合处理是完成交互命令和实 现交互命令的依据。总的来说,交互命令更方便应用和扩充应用功能。 3、请列出你所用的交互系统中所涉及到的交互任务和交互技术,是否有本章书中没有提及的交互任务和交 互技术?若有,能否对其进行分解,使之和本章书中介绍的交互任务和交互技术相匹配。 就目前有用过的交互任务和交互技术而言,均在本章范围内 (1)交互任务:区域选择、文本输入、定路径和控制 (2)交互技术:选择技术、定位技术、定路径技术、文本技术、徒手画技术和拖动技术 6、常见的交互任务有哪几种?你认为哪一种交互任务最难完成 常见的交互任务有8种 定位、选择、文本、定向、定路径、定量、三维交互任务、组合交互任务 其中三维交互任务和组合交互任务最难完成,因为三维交互任务涉及定位、选择和旋转,用户难以区分屏 幕上游标选择到对象的深度值和其他显示对象的深度值。 组合交互任务主要包含对话框、构造和动态控制三种,其实现前面几种的结合,是动态的,故其完成 难度最大 7、常见的交互技术有哪几种?你认为哪一种交互技术最容易使用? 交互技术指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。它包括机器通过输 出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息及提示请示等, 人通过输入设备给机器输入有关信息,回答问题等。人机交互技术是计算机用户界面设计中的重要内容之 它与认知学、人机工程学、心理学等学科领域有密切的联系。 常见的交互技术有:选择技术、定位技术、定向技术、定路径技术、定量技术、文本技术、橡皮筋技术、 徒手画技术、拖动技术:其中定量技术最容易使用。 11、交互式用户接口常见的工作方式有几种?你认为哪一种较实用? 用户接口工具箱使你能够为你的应用程序建立复杂的用户接口。用户接口可以包括窗口、对话、菜单条 附件(域、列表框,等等)、标记和公用对话(文件选择对话、信息对话,等等)。用户接口工具箱包括各 种公用对话,例如选择一个文件或显示错误信息的对话。为了使用一个公用的对话,只需简单地实例化它, 设置合适的参数,以及把它连接到你的应用程序中。 固定域输入输出方式 问答方式 表处理方式
第三章:P163 1、你所用的图形软件是属于子程序库、专业语言和交互命令,还是这三种形式的混合形式,或是其他的形 式。你认为你所用的图形软件的成功和不足之处是什么?有哪些改进意见? (1)使用的图形软件采用 C 语言作为主语言,属于子程序库、专用语言和交互命令混合; (2)成功之处:使用方便、便于扩充、便于用户加入用户自己编写的源程序或目标代码;不足之处是格式 随所用主语言格式而定,修改源程序比较麻烦; (3)实现与其他语言(非主语言)的兼容运行,交互式修改运行结果,而不需要人为地查看、修改源程序。 2、面向应用程序的接口通常有哪几种形式?你认为哪一种形式更方便应用和扩充应用功能? 面向应用程序的接口有子程序库、专用语言和交互命令三种形式; 交互任务是用户最关注的事,交互技术是完成交互任务的手段,故交互命令是用户接口中应用最普遍、 效率最高的一种形式,对交互设备、交互任务、交互技术以及控制方式等的综合处理是完成交互命令和实 现交互命令的依据。总的来说,交互命令更方便应用和扩充应用功能。 3、请列出你所用的交互系统中所涉及到的交互任务和交互技术,是否有本章书中没有提及的交互任务和交 互技术?若有,能否对其进行分解,使之和本章书中介绍的交互任务和交互技术相匹配。 就目前有用过的交互任务和交互技术而言,均在本章范围内; (1)交互任务:区域选择、文本输入、定路径和控制 (2)交互技术:选择技术、定位技术、定路径技术、文本技术、徒手画技术和拖动技术。 6、常见的交互任务有哪几种?你认为哪一种交互任务最难完成? 常见的交互任务有 8 种 定位、选择、文本、定向、定路径、定量、三维交互任务、组合交互任务 其中三维交互任务和组合交互任务最难完成,因为三维交互任务涉及定位、选择和旋转,用户难以区分屏 幕上游标选择到对象的深度值和其他显示对象的深度值。 组合交互任务主要包含对话框、构造和动态控制三种,其实现前面几种的结合,是动态的,故其完成 难度最大。 7、常见的交互技术有哪几种?你认为哪一种交互技术最容易使用? 交互技术指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。它包括机器通过输 出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息及提示请示等, 人通过输入设备给机器输入有关信息,回答问题等。人机交互技术是计算机用户界面设计中的重要内容之 一。它与认知学、人机工程学、心理学等学科领域有密切的联系。 常见的交互技术有:选择技术、定位技术、定向技术、定路径技术、定量技术、文本技术、橡皮筋技术、 徒手画技术、拖动技术;其中定量技术最容易使用。 11、交互式用户接口常见的工作方式有几种?你认为哪一种较实用? 用户接口工具箱使你能够为你的应用程序建立复杂的用户接口。用户接口可以包括窗口、对话、菜单条、 附件(域、列表框,等等)、标记和公用对话(文件选择对话、信息对话,等等)。用户接口工具箱包括各 种公用对话,例如选择一个文件或显示错误信息的对话。为了使用一个公用的对话,只需简单地实例化它, 设置合适的参数,以及把它连接到你的应用程序中。 固定域输入输出方式 问答方式 表处理方式
命令语言 菜单方式 图形符号方式 12、请用菜单驱动方式、数据表格驱动方式和事件驱动方式完成同一个实际的交互任务。并比较它们之间 的难易程度和工作量 事件驱动的真实工作过程 数据表格驱动方式 程序和表格关联,用表格(如 EXCEL)的形式将变量传递到程序中进行一系列操作,或再用表格输出, 不同于消息驱动的 WINDOWS程序机制。使用表格驱动建立菜单,可以很方便很简单地管理自定义菜单, 节约开发与维护成本 《太平洋保险终端系统》交易界面实现了参数化的配置方式,系统使用屏幕定义文件和表格定义文件 来定义交易屏幕,表格定义文件定义了表格的基本属性和表格的列,屏幕定义文件定义了屏幕的基本属性 和屏幕上的栏位和表格的位置。屏幕和表格定义文件都需要引用数据字典里面的栏位定义。 界面驱动包括屏幕驱动和表格驱动,其功能包括设置栏位缺省值和缺省属性(是否可输入、是否必输 入、是否绑定下拉菜单pkst),响应各种系统事件(屏幕前后事件、栏位前后事件、最后栏位后事件等), 响应热键(ESC、DEL、 PAGEUP、 PAGEDOWN、CTRLⅩX等),动态改变屏幕属性(多页显示的翻页、拆 分屏幕等),发起二段式交易等等。屏幕驱动和表格驱动是提供给开发人员的统一接口,开发人员通过实 现该接口的方式开发功能模块 事件驱动方式 1、启动应用程序,装载和显示窗体,产生 Form load和 Form show事件 2、窗体或窗体上的控件接收事件,事件可由用户引发(例如键盘或鼠标操作),可由系统引发(例如定时 器事件),也可由代码间接引发(例如当代码装载其他窗体时产生的Load事件) 3、如果在相应的事件过程中存在代码,就执行代码 4、应用程序等待下一次事件 例:获取和修改计算机名字的方法 1.)插入一个新模块,在其中添加如下代码: 声明 Get Computer Name Declare Function GetComputer Name Lib m kernel 32" Alias Get Computer NameA"(Byval lpBuffer As String, n Size As Long)As Long 声明 Set ComputerName Declare Function Set Computer Name Lib kernel 32 m Alias m Set NameA"(Byval lp Computer Name As String)As Long 定义一个获取计算机名字的函数 Public Function GetCName(CName)As Boolean
命令语言 菜单方式 图形符号方式 12、请用菜单驱动方式、数据表格驱动方式和事件驱动方式完成同一个实际的交互任务。并比较它们之间 的难易程度和工作量。 事件驱动的真实工作过程 数据表格驱动方式: 程序和表格关联,用表格(如 EXCEL)的形式将变量传递到程序中进行一系列操作,或再用表格输出, 不同于消息驱动的 WINDOWS 程序机制。使用表格驱动建立菜单,可以很方便很简单地管理自定义菜单, 节约开发与维护成本。 《太平洋保险终端系统》交易界面实现了参数化的配置方式,系统使用屏幕定义文件和表格定义文件 来定义交易屏幕,表格定义文件定义了表格的基本属性和表格的列,屏幕定义文件定义了屏幕的基本属性 和屏幕上的栏位和表格的位置。屏幕和表格定义文件都需要引用数据字典里面的栏位定义。 界面驱动包括屏幕驱动和表格驱动,其功能包括设置栏位缺省值和缺省属性(是否可输入、是否必输 入、是否绑定下拉菜单 pklist),响应各种系统事件(屏幕前后事件、栏位前后事件、最后栏位后事件等), 响应热键(ESC、DEL、PAGEUP、PAGEDOWN、CTRL_XX 等),动态改变屏幕属性(多页显示的翻页、拆 分屏幕等),发起二段式交易等等。屏幕驱动和表格驱动是提供给开发人员的统一接口,开发人员通过实 现该接口的方式开发功能模块。 事件驱动方式: 1、启动应用程序,装载和显示窗体,产生 Form_Load 和 Form_Show 事件 2、窗体或窗体上的控件接收事件,事件可由用户引发(例如键盘或鼠标操作),可由系统引发(例如定时 器事件),也可由代码间接引发(例如当代码装载其他窗体时产生的 Load 事件) 3、如果在相应的事件过程中存在代码,就执行代码 4、应用程序等待下一次事件 例:.获取和修改计算机名字的方法 1.)插入一个新模块,在其中添加如下代码: ′声明 GetComputerName Declare Function GetComputerName Lib〃kernel 32〃Alias〃 GetComputerNameA〃(Byval lpBuffer As String,nSize As Long)As Long ′声明 SetComputerName Declare Function SetComputerName Lib〃kernel 32〃Alias 〃 SetComputerNameA〃(Byval lp ComputerName As String)As Long ′定义一个获取计算机名字的函数 Public Function GetCName (CName) As Boolean
Dim sComputerName As String'计算机的名字 Dim COmputer Name As Long 计算机名字的长度 Dim REsult as long Get Computer Name的返回值 Dim rv as boolean GetCName返回值,若为TRUE则表示操作成功 IComputerNameLen=256 cOmputer Name=Space(COmputer NameLen) IResult-Get Computer Name(cOmputer Name, ICompputer NameLen If rEsult (>0 Then Cname=Left $(sComputer Name, I Computer NameLen) RV=True Else Rv=False GetcNameRV End Function 定义一个修改计算机名字的函数 Public Function SetCName(CName )As boolean Dim lresult as long Dim rv as boolean IResult-SetComputer Name(CName If REsult(〉0Then R=True修改成功 Else rv=false End lf Setcname=rv End function 2).在窗体中添加一命令按钮 Command1,双击该按钮并在其中添加如下代码: Sub Commandl-Click O DIM CN AS String gEt CName(CN Print "This Computer Name is: ",CN CN=〃 MYCOMPUTER〃 -SetCName(CN) Print Now the Computer name is: ", CN End sul 1)对于完成同一个实际的任务来说,一般而言菜单驱动方式较数据表格驱动方式和事件驱动方式容易 2)相对于用户的工作量来说,菜单驱动方式较数据表格驱动方式和事件驱动方式的工作量大
Dim sComputerName As String ’计算机的名字 Dim lComputerName As Long ’计算机名字的长度 Dim lResult As Long ’GetComputerName 的返回值 Dim RV As Boolean ′GetCName 返回值,若为 TRUE 则表示操作成功 lComputerNameLen=256 sComputerName=Space (lComputerNameLen) lResult=GetComputerName (sComputerName,lCompputerNameLen) If lResult 〈〉0 Then Cname=Left$ (sComputerName,lComputerNameLen) RV=True Else RV=False End If GetCName=RV End Function ′定义一个修改计算机名字的函数 Public Function SetCName (CName ) As Boolean Dim lResult As Long Dim RV As Boolean lResult=SetComputerName (CName) If lResult 〈〉0 Then RV=True′修改成功 Else RV=False End If SetCName=RV End Function 2).在窗体中添加一命令按钮 Command1,双击该按钮并在其中添加如下代码: Sub Command1-Click () DIM CN AS String x=GetCName (CN) Print 〃This Computer Name is:〃,CN CN=〃MYCOMPUTER〃 x=SetCName (CN ) Print 〃Now the Computer name is :〃,CN End Sub 1)对于完成同一个实际的任务来说,一般而言菜单驱动方式较数据表格驱动方式和事件驱动方式容易 2)相对于用户的工作量来说,菜单驱动方式较数据表格驱动方式和事件驱动方式的工作量大