首页 > 网站 > 媒体动画 > 正文

Authorware开发实例:第23例 创建多栏编辑(3)--Authorware7ShowMe范例

2024-09-08 19:26:04
字体:
来源:转载
供稿:网友

在该对话框中设置特性名为“text”。

单击next->按钮,出现windows control-get property: property variable设置对话框,如图23-19所示。

图23-19  windows control-get property: property variable设置对话框

在该对话框中设置一个特性变量名,本例为“=ret_edt_1”。

单击next->按钮,出现“finish”设置对话框,如图23-20所示。

图23-20  windows control-get property: finish设置对话框

这是一个结束对话框,提示本知识对象使用了winctrls.u32外部函数。

单击done按钮,完成get text from edit 1知识对象图标的设置。该设置表示将从第一个文本输入框中取得text信息并存入ret_edt_1变量中。

get text from edit 2get text from mask 1两个设计图标也是get property知识对象,其设置对话框与get text from edit 1基本相同。

不同之处在于get text from edit 2的控制对象为“=edt_2”,其特性变量名为“=ret_edt_2”,而get text from mask 1的控制对象为“=mask_1”,其特性变量名为“=ret_msk_1”。也就是,这两个知识对象的设置将使第2个文本输入框中取得的text信息存入ret_edt_2变量中,而使第3个文本输入框中取得的text信息存入ret_msk_1变量中。

及时点评  在windows control知识对象中已设置了第1个、第2个和第3个文本输入框为控制对象,并且分别设置了它们的id名为“=edt_1”、“=edt_2”和“=mask_1”,那么在后面的set property和get property知识对象中均可用这些id名作为控制对象id变量,从而设置或获取这些控制对象的特性值。

以下的流程为一个check决策图标,其附属运算图标中的代码如下:

if charcount(ret_edt_1)&charcount(ret_edt_2)&charcount(ret_mak_1) then

validentry:=1

end if

这表示系统将检查3个文本输入框中是否均输入了信息。如果都输入了信息,if的条件为真,则使变量validentry的值等于1(该变量的初始值为0)。

check决策图标的属性设置对话框如图23-21所示。

图23-21  check决策图标属性设置对话框

由图23-21可知,决策以计算方式执行,计算表达式为“validentry=0”。这表示当3个文本输入框中存在空信息时,validentry值为0,表达式状态为真,决策进入其下面的分支,一个显示图标显示出要求用户正确输入的文字提示。如果3个文本输入框均已输入信息,则validentry的值为1,表达式状态为假,决策图标不进入分支,程序向下执行。

23.2.3  显示输入信息

用户在3个文本输入框中输入的信息显示是由buttons交互响应图标下的validentry分支完成的。

validentry是一个条件交互响应分支,其属性设置对话框如图23-22所示。

图23-22  validentry条件交互属性设置对话框

由图23-22可知,当validentry1时,条件满足。而validentry1表示3个文本输入框均输入信息。故当用户在3个文本输入框中输入信息后,单击done按钮,进入信息检查分支,使validentry变量值为1,从而使程序进入本条件交互响应分支。

条件交互响应分支的下级流程如图23-23所示。

图23-23  validentry分支的下级流程

该流程中共有6个知识对象图标。

前面3个知识对象图标都是get property知识对象,它们分别设置了从第1、第2和第3个文本输入框获取用户输入的信息并分别存入特性变量edt_1_txtedt_2_txtmsk_1_txt中。

后面3个知识对象图标都是set property知识对象,它们则分别将3个文本输入框的控制属性设为enabled,且属性值为false。这表示将使3个文本输入框呈现一种失效的灰色状态。

correct response显示图标嵌入了如下代码:

hellocapitalige(lowercase(edt_1_txt)

capitalige(lowercase(edt_2_txt)

your shoe size is(mas_1_txt)

因此,用户信息在窗口下沿显示出来。

最后一个wait等待图标输入了等待时间为10 000,所以程序会在此一直暂停等待用户新的操作。

及时点评  该条件交互响应分支虽然放在最前面,但由于开始时条件不满足,程序不会进入本分支。只有在进入第2分支中检查了3个文本输入框的信息后,使控制变量validentry值为1,才使条件响应分支条件满足,从而进入本分支显示正确信息。这是交互响应分支之间互相牵制的设计。

23.2.4  清空输入框

buttons交互响应图标下的clear form分支完成清空3个文本输入框的功能。

clear form是一个按钮交互响应分支。

进入本分支时,首先执行分支附属运算图标中的代码使控制变量validentry的值恢复为0。其下级流程如图23-24所示。

图23-24  clear form分支下级流程

该流程中运用了4set property知识对象,重新对3个文本输入框控制对象的属性进行设置。这将使得3个文本输入框清空,光标在第一个输入框内闪烁,等待用户重新输入信息。

以上便完成了整个程序流程的分析。

23.3  小结

在同一个交互响应结构中,可以同时存在几个文本输入交互响应分支,但系统仅提供一个文本输入框。有时用户需要在同一屏幕中有几个文本输入框同时存在,用户可在几个文本输入框之间切换并输入信息,这就需要创建多个文本输入框界面,也称多栏编辑界面。

创建多个文本输入框有多种方法,可应用页管理技术实现3个文本输入框的创建,而本例则是应用知识对象创建。两个程序创建的3个文本输入框运行效果与功能完全一样,但用知识对象创建的设计过程与流程就显得容易、简捷和方便得多了。

本例中主要应用了如下技术:

l         windows control知识对象应用技术

l         get property知识对象应用技术

l         set property知识对象应用技术

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表