[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] vbs实现闹钟及计时器

本帖最后由 pcl_test 于 2016-9-3 13:37 编辑

vbs闹钟
求一vbs闹钟
功能如下
1、运行后弹出对话框,输入闹钟时间和提示信息。
2、输入时间最好分为两种,一种是直接输入闹钟时间,另一种是输入等待时间,最好是用一个前缀符号来表示
比如输入 1308 表示13点08分 启动闹钟
输入 #0105 表示一个小时零5分钟后 启动闹钟
3、闹钟启动后,显示提示信息,并带有提示音
4、窗口显示15秒,按“确定”关闭,按“否”或不理会窗口则自动隐藏窗口并在1分钟后继续提醒,10次后自动关闭不再提醒。

谢版主回复,请问 WScript.Sleep 延时准确吗?比如我想延时 2个小时,误差有多大?
自己看教程写了个把时间拆开成数字再循环获取当前时间,用 if 对比,虽能达到目的,可cup占用太厉害了。。
还有 WScript.Sleep 延时 1分钟 是多少? WScript.Sleep (6000) 吗?

TOP

谢谢,再次感谢,代码已基本能看懂了

TOP

::一晚没睡,看教程,百度。。。写了改改了写总算写出自己满意的闹钟了。。再次感谢各位给我的帮助
::vbs 的wscript.sleep延时还真准,我测试2个小时分秒不差。
  1. Dim ws,a,a1,b1,b2,c1,c2,var,t,ts
  2. set ws=createobject("wscript.shell")
  3. t=time
  4. t1=int(timer)
  5. a=inputbox("输入等待时间(分钟)"&Chr(13)&Chr(13)&_
  6.            "如 78 表示1小时零18分钟后启动闹钟","闹钟","5"_
  7. )
  8. if a=false then Wscript.Quit           '判断若点了关闭按钮则退出
  9. ts=inputbox("输入提示信息","提示","提示")
  10. if a=false then Wscript.Quit           '判断若点了关闭按钮则退出
  11. a1=int(a*60)        '将分钟换算成秒
  12. c1=int(a/60)        '将输入的分钟转换为小时
  13. c2=int(a mod 60)    '转换后剩余的分钟
  14. '计算当前时间加上输入分钟的时间
  15. b2=(c2+minute(t)) mod 60
  16. if c2+minute(t)>=60 then c1=c1+1
  17. b1=c1+hour(t)       'b1、b2供显示用
  18. b2="0"&b2           'b1、b2供显示用
  19. b2=right(b2,2)      'b1、b2供显示用
  20. msgbox "启动时间 "&b1&":"&b2
  21. t2=int(a1-(timer-t1))
  22. wscript.sleep 1000*t2 '1000 为 1秒
  23. var=c1 & " 小时零 " & c2 &" 分钟"
  24. set ws=WScript.CreateObject("WScript.Shell")
  25. For i = 1 to 3 step 1
  26. ws.run "cmd /c @echo ",0,true
  27. f=ws.popup ("输入的时间        "&var&chr(13)&_
  28.     "换算成              "&a1&" 秒"&chr(13)&_
  29.     "起始时间           "&t&chr(13)&_
  30.     "结束时间           "&time&chr(13)&_
  31.     "正确启动时间     "&b1&":"&b2,15,"时间到 "&ts,4+32) '将15改成0为不自动关闭
  32. If (f = 6 ) Then Wscript.Quit
  33. wscript.sleep 1000*10
  34. Next
复制代码

TOP

返回列表