罗小叉吧 关注:111贴子:19,093
  • 7回复贴,共1

VBS系列课程--21

只看楼主收藏回复

原文地址:
http://blog.sina.com.cn/s/blog_68d342d90100ljqj.html


1楼2010-09-17 21:27回复
    上节课讲了VBS中的条件语句- -if…then…else,这节课再来讲一个条件语句- -select…case语句。
    If语句适用于选项不多的情况下,那样我们我们可以用嵌套if就可以搞定了,但是,如果选项变成了10个、20个、30个的时候,如果我们还用if…then…elseif…then这样,未免太麻烦,并且程序的思路也不清晰,阅读源代码的时候也很费劲,并且能平白增加很多写代码的工作量,而这个时候,就到了我们这节课要讲的语句- -select…case出场的时候了。
    简而言之,select…case用于多项选择的情况下。
    格式:
    Select case 条件表达式
    Case 条件表达式的值1
    语句1
    Case 条件表达式的值2
    语句2

    Case else
    语句n
    End select
    我来说一下上面的语句的意思:
    也就是说,先给出一个条件, 但是不给这个条件赋值,也就是说这个条件的值是可变的,下面再一个一个的给出这个条件可能取的值,哪一个给出的值对了就执行它后边的语句,比如上边,如果我“Case(条件表达式的值2)”这个值是前边给出的条件的值,那么就执行语句2,就是这样。
    如果所有的值都不能满足这个条件,那么脚本将执行case else后的语句。
    下面我们来写一个脚本,来看看这种语句的用法:
    ------------------------vbs_18.htm------------------------
    <html>
    <head>
    <title>VBS系列课程--select...case条件语句应用示例</title>
    <script language="vbscript" for="button1" event="onclick">
    dim a,msg
    a=form1.text1.value
    select case a
    case "1"
    msg="谷歌"
    case "2"
    msg="百度"
    case "3"
    msg="雅虎"
    case "4"
    msg="搜搜"
    case "5"
    msg="易查"
    case else
    msg="其他"
    end select
    msgbox "你经常使用的是"&msg&"搜索引擎!",vbokonly+vbinformation,"调查一下"
    </script>
    </head>
    <body>
    <form name="form1">
    下面是现在比较流行的搜索引擎:
    <ol>
    <li>谷歌</li>
    <li>百度</li>
    <li>搜搜</li>
    <li>雅虎</li>
    <li>易查</li>
    <li>其他</li>
    </ol>
    你经常用的是(数字):
    <input type="text" name="text1">
    <br>
    <br>
    <input type="button" name="button1" value="显示结果">
    </form>
    </body>
    </html>
    来看一下脚本的执行效果:

    输入2,点击“显示结果”:

    OK,脚本运行成功,关于select case的东西,要讲的也就这些了,下节课再见。


    2楼2010-09-17 21:28
    回复
      这么快就出21!!!强悍


      3楼2010-09-17 22:48
      回复
        回复:3楼
        今天发奋了。


        4楼2010-09-17 23:42
        回复


          5楼2010-09-17 23:50
          回复
            回复:5楼
            呵呵


            6楼2010-09-18 11:05
            回复
              回复:7楼
              呃...


              8楼2010-09-18 12:38
              回复