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

[问题求助] 关于vbs的循环结构和数据类型的问题

大家好,我刚刚接触VBS。我看了一下这个网站发的视频,我发现里面介绍的循环结构都有一个特点,四种结构都有“起始”、“终止”,然后把循环的内容夹在中间,对吧?这使得循环的内容只能固定在“起始”和“终止”之间,似乎没有“DOS批处理”中的“goto”命令简单、容易理解。嗯,比如说这段批处理:
  1. @echo off
  2. :1
  3. cls
  4. Set /p pf= 请输入X的值
  5. set x=%pf%
  6. if %x% geq 899778 (
  7. goto 3
  8. )
  9. if %x% geq 1 (
  10. goto 2
  11. )
  12. :3
  13. echo 输入值非法,请重新输入
  14. pause
  15. goto 1
  16. :2
  17. set y=0
  18. set /a y=%x%+1
  19. set /a y=%x%*%y%
  20. set /a y=%y%/2
  21. echo x!=%y%
  22. pause
  23. goto 1
复制代码
用vbs大概就是这样了:
  1. dim i
  2. i = inputbox("请输入X的值")
  3. if i >= 1 then
  4. i = 0.5*i*(i+1) : msgbox "X!=" & i
  5. else
  6. msgbox "X的值必须大于等于0"
  7. end if
复制代码
可是我不知道msgbox "X的值必须大于等于0"之后该怎么回到i = inputbox("请输入X的值")
还有这条 = inputbox("请输入X的值"),如果输入的是非数字字符,会出现数据类型错误:

我不想出现这个东西,我想让它发现输入的是非数字字符的时候跳转到我的某一段代码中去
麻烦大家帮我看看

额,我去查了IsNumeric(expression),看不太懂....

TOP

回复 5# apang


    嗯,是这个效果,你的书写习惯跟我不同,差点没看懂,呵呵。
你是用“do......loop",不过,你这个方法,如果篇幅很长,或者中间夹有不循环的代码,就麻烦了吧?

TOP

返回列表