|
例程名称:小闹钟
★、例程详解。
㈠、主要功能。⑴、设定闹钟铃响时间。⑵、显示剩余时间(现时间离闹钟铃响时间的间隔)。⑶、到设定的时间时闹钟铃响。
㈡、功能实现。
⑴、设定闹钟铃响时间。分别建立时、分、秒和开始这四个窗口程序集容器,分别用来存放设定闹钟铃响时间中的时、分、秒和开始计时的状态。用下面的子程序来设定闹钟铃响时间(即分别给三个变量“时”、“分”、“秒”赋值)。
子程序:_时编辑框_内容被改变
时 = 文本到数值 (时编辑框.内容)
------------------------------
子程序:_分编辑框_内容被改变
分 = 文本到数值 (分编辑框.内容)
------------------------------
子程序:_秒编辑框_内容被改变
秒 = 文本到数值 (秒编辑框.内容)
⑵、显示剩余时间。
子程序:_时钟1_周期事件
如果真 (开始)
开始计时 ()
剩余时间显示标签.标题 = 到文本 ((取时间部分 (取现行时间 (), #小时) - 时) × -1) + “时” + 到文本 ((取时间部分 (取现行时间 (), #分钟) - 分) × -1) + “分” + 到文本 ((取时间部分 (取现行时间 (), #秒) - 秒) × -1) + “秒”
如果真结束
※变量“开始”表示按下了“确认按钮”(确定闹钟铃响时间和开始计时)。“如果真 (开始)”的意义等同于“如果真 (开始=真)”。
※显示剩余时间(现时间离闹钟铃响时间的间隔)好象这样也行:
剩余时间显示标签.标题 = 到文本 (时 - 取时间部分 (取现行时间 (), #小时)) + “时” + 到文本 (分 - 取时间部分 (取现行时间 (), #分钟)) + “分” + 到文本 (秒 - 取时间部分 (取现行时间 (), #秒)) + “秒”
※我的数学基础很差,不知以上代码行不?望原作者给予解答。
⑶、到设定的时间时闹钟铃响。
子程序:_确认按钮_被单击
如果 (时 ≤ 60 且 分 ≤ 60 且 秒 ≤ 60)
如果 (时 ≥ 取时间部分 (取现行时间 (), #小时))
时编辑框.禁止 = 真
分编辑框.禁止 = 真
秒编辑框.禁止 = 真
确认按钮.禁止 = 真 ※以上使确定闹钟铃响时间的编辑框不可以输入
开始计时 () ※调用“开始计时”子程序
开始 = 真 ※表示按下了“确认”按钮,使系统开始计算剩余时间
否则
信息框 (“错误!输入时间小于当前时间!”, #确认钮, “错误!”)
※排除闹钟铃响的过期时间
如果结束
否则
信息框 (“请确认输入时间不得大于60!”, #确认钮, “错误!”)
※排除输入错误的时间
如果结束
------------------------------
子程序:开始计时
如果真 (取时间部分 (取现行时间 (), #小时) ≥ 时)
如果真 (取时间部分 (取现行时间 (), #分钟) ≥ 分)
如果真 (取时间部分 (取现行时间 (), #秒) ≥ 秒)
时编辑框.禁止 = 假
分编辑框.禁止 = 假
秒编辑框.禁止 = 假
确认按钮.禁止 = 假
开始 = 假
_启动窗口.位置 = 1
_启动窗口.总在最前 = 假
鸣叫 ()
信息框 (“请注意!您所定的时间到了!”, #确认钮, “时间到了!”)
如果真结束
如果真结束
如果真结束
返回 ()
※以上“开始计时”设定当时间到期时闹钟响铃,通过调用“鸣叫”系统处理命令(通过计算机媒体设备或者喇叭发出一个声音)来表示,或者也可以通过调用一个模拟铃声的声音资源来表示。
㈢、该小小闹钟的完整源程序如下:
窗口程序集:窗口程序集1
程序集容器:时 数据类型:整数型
程序集容器:分 数据类型:整数型
程序集容器:秒 数据类型:整数型
程序集容器:开始 数据类型:逻辑型
------------------------------
子程序:_时钟1_周期事件
当前时间标签.标题 = “当前时间为:” + 时间到文本 (取现行时间 (), )
如果真 (开始)
开始计时 ()
剩余时间显示标签.标题 = 到文本 (时 - 取时间部分 (取现行时间 (), #小时)) + “时” + 到文本 (分 - 取时间部分 (取现行时间 (), #分钟)) + “分” + 到文本 (秒 - 取时间部分 (取现行时间 (), #秒)) + “秒”
如果真结束
------------------------------
子程序:_时编辑框_内容被改变
时 = 文本到数值 (时编辑框.内容)
------------------------------
子程序:_分编辑框_内容被改变
分 = 文本到数值 (分编辑框.内容)
------------------------------
子程序:_秒编辑框_内容被改变
秒 = 文本到数值 (秒编辑框.内容)
------------------------------
子程序:_确认按钮_被单击
如果 (时 ≤ 60 且 分 ≤ 60 且 秒 ≤ 60)
如果 (时 ≥ 取时间部分 (取现行时间 (), #小时))
时编辑框.禁止 = 真
分编辑框.禁止 = 真
秒编辑框.禁止 = 真
确认按钮.禁止 = 真
开始计时 ()
开始 = 真
否则
信息框 (“错误!输入时间小于当前时间!”, #确认钮, “错误!”)
如果结束
否则
信息框 (“请确认输入时间不得大于60!”, #确认钮, “错误!”)
如果结束
------------------------------
子程序:_更改按钮_被单击
确认按钮.禁止 = 假
时编辑框.禁止 = 假
分编辑框.禁止 = 假
秒编辑框.禁止 = 假
_启动窗口.位置 = 1
_启动窗口.总在最前 = 假
------------------------------
子程序:_退出按钮_被单击
结束 ()
------------------------------
子程序:开始计时
如果真 (取时间部分 (取现行时间 (), #小时) ≥ 时)
如果真 (取时间部分 (取现行时间 (), #分钟) ≥ 分)
如果真 (取时间部分 (取现行时间 (), #秒) ≥ 秒)
时编辑框.禁止 = 假
分编辑框.禁止 = 假
秒编辑框.禁止 = 假
确认按钮.禁止 = 假
开始 = 假
_启动窗口.位置 = 1
_启动窗口.总在最前 = 假
鸣叫 ()
信息框 (“请注意!您所定的时间到了!”, #确认钮, “时间到了!”)
如果真结束
如果真结束
如果真结束
返回 ()
|
温馨提示:为了保护系统安全,使用辅助前,请务必使用影子系统。
|