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