Board logo

标题: [已解决]VBS中一个变量的使用 [打印本页]

作者: newxso    时间: 2008-9-27 20:03     标题: [已解决]VBS中一个变量的使用

  1. dim ctr
  2. ctr = 0
  3. do
  4. if ctr = 3 then
  5. Set Shutdown=WScript.CreateObject("Shell.Application")
  6. Shutdown.ShutdownWindows
  7. exit do
  8. else
  9. ctr = ctr+1
  10. WScript.Sleep (1000*60*60)
  11. set Wmp = CreateObject("WMPlayer.ocx")
  12. Wmp.Url = "1hour.mp3"
  13. do Until Wmp.PlayState = 1
  14. Wsh.Sleep 1000
  15. loop
  16. end if
  17. loop
复制代码
以上代码每一小时播放一次提醒,分别顺序播 1hour.mp3、2hour.mp3、3hour.mp3 ,三小时后停止播放并启用关机程序。请问如何把 ctr 应用到 Wmp.Url = "1hour.mp3" 句中来代替其中的数字 1 呢?我试过 Wmp.Url = "ctr&hour.mp3"  这种形式均不能。

[ 本帖最后由 newxso 于 2008-9-28 06:58 编辑 ]
作者: zqz0012005    时间: 2008-9-27 22:58

逻辑结构有问题!
根据下面的代码自己分析
  1. ctr = 0
  2. do
  3.     ctr = ctr+1
  4.     if ctr = 3 then
  5.         Set Shutdown=WScript.CreateObject("Shell.Application")
  6.         Shutdown.ShutdownWindows
  7.         exit do
  8.     else
  9.         WScript.Sleep (1000*60*60)
  10.         set Wmp = CreateObject("WMPlayer.ocx")
  11.         Wmp.Url = ctr & "hour.mp3"
  12.         do Until Wmp.PlayState = 1
  13.             Wsh.Sleep 1000
  14.         loop
  15.     end if
  16. loop
复制代码
用while...wend语句更简洁
  1. ctr = 0
  2. while ctr < 3
  3.     ctr = ctr + 1
  4.     WScript.Sleep 1000*60*60
  5.     set Wmp = CreateObject("WMPlayer.ocx")
  6.     Wmp.Url = ctr & "hour.mp3"
  7.     do Until Wmp.PlayState = 1
  8.         Wsh.Sleep 1000
  9.     loop
  10. wend
  11. CreateObject("Shell.Application").ShutdownWindows
复制代码

作者: newxso    时间: 2008-9-28 06:45

终于明白了,多谢版主帮忙。看来要好好学一下VBS基础。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2