很多软件都有自动关机功能,比如一些下载软件,这一功能能让你半夜踏踏实实地睡个好觉,而电脑却能按照你事先的设定自动关闭。为此笔者用Authorware编写了一段定时自动关机程序,可设定关机时间精确到秒。
程序的主流程如图1所示。
 图1
通过按钮“预设关机时间”可以进行关机时间的设定,而按钮“自动关机生效”用于控制是否启动自动关机功能。
在“初始化变量”计算图标中设置:
presetYear:=Year注:预设关机日期和时间的初值
presetMonth:=Month
presetDay:=Day
presetHour:=Hour
presetMinute:=Minute
presetSec:=Sec
autoFlag:=FALSE注:自动关机标志变量初值为假
在显示图标“显示信息”中输入如图2所示的文本信息,同时在属性对话框中选中“Update Displayed Variables”以便随时更新显示变量的值。
 图2
在交互结构的条件响应分支中,设置响应条件为:
presetYear=Year && presetMonth=Month && presetDay=Day && presetHour=Hour && presetMinute=Minute && presetSec=Sec && autoFlag=TRUE
在下挂的计算图标中置入:
Quit(3)
即一旦上述条件成立,将关闭计算机(在能实行软关机的计算机中有效)。
在按钮响应分支“自动关机生效”的计算图标中置入:
autoFlag:=~autoFlag
按钮的形状选择为CheckBox,在响应属性的Active if域输入:
Within@"预设关机时间"
即进入“预设关机时间”按钮交互分支时,该按钮处于无效状态。交互图标“自动关机控制”下挂的三个分支的响应范围均选中Perpetual(永久)。
 图3
群组图标“预设关机时间”的设计流程(及其分支流程,如图3),在“设置时间”交互图标中放置预先作好的底图(图4),并在需要输入的空白处分别置入预设的日期或时间变量,比如:{presetDay}等,同时在交互图标的属性对话框中分别选中“Update Displayed Variables”和“Prevent Automatic Erase”,即随时更新变量的值并防止显示内容被自动擦除。每一个热区响应的热区设定为相应的空白区域,下挂的组图标的设计基本类似,比如组图标“日”的程序流程如图3所示,而组图标“设置完成”和“ESC”为空(只是一个结构)。
 图4
至此,程序设计基本完成,需要注意的是只有打包之后自动关机功能才能起作用。
|