zoukankan      html  css  js  c++  java
  • 第 3 章 VBScript流程控制

    学习导航

    1. if...then...else...end if
    2. select case...select end
    3. for...next
    4. do while ... while wend

    3.1 认识流程控制结构

    我们上一章所用的范例都是一些相当简单的程序。所谓的“简单”就是指程序执行只有一个由上而下的方向,而不会转弯或跳行,但实际上平常所应用的程序并不会这么简单,一般的程序都会依据不同的情况而换行,因为这样的程序才能应付各种不同的情况,这时就需要流程控制结构来帮组设计师控制程序执行的方向。流程控制结构通常要借助逻辑数据的帮助才能运行,流程控制结构共有6种,我们一一来介绍。

    3.2 if的第一种格式:如果...就...(单一选择)

    if 条件 then 程序代码

    这是if指令最简单的格式“单一选择”,其中的“条件”是一个表达式,它所计算的结构必须是一个逻辑数据,如果“条件”的计算结果是“True”,那么就会执行Then后面的“程序代码”;如果“条件”的计算结果是“False”,那么就会跳过整个if语句,而不会执行Then后面的“程序代码”。Then后面的“程序代码”如果跟Then不是同一行或是程序代码有很多行,那就要在最后加上end if以结束if条件语句。

    <script language="vbs">
        score=70
        if score>=60 then msgbox "及格!"
    </script>

    3.3 if的第二种格式:如果...就...否则...(双向选择)

    if 条件 then

      程序代码一

    else

      程序代码二

    end if 

    <script language="vbscript">
        score=InputBox("请输入计算机成绩:","输入成绩")
        if score>=60 then
            msg="及格!"
        else
            msg="不及格!"
        end if
        msgbox "您的计算机成绩" & msg
    </script>

    3.4 输入函数InputBox用法

    变量=InputBox("显示信息","窗口标题")

    InputBox函数可以提供对话框让用户输入信息,并将用户输入的信息存入等号左边的变量中;

    3.5 if的第三种格式:多向选择

    if 条件 then

      程序代码一

    elseif

      程序代码二

    elseif

      程序代码三

      ......

    ......

    else

      程序代码N

    end if

    <script language="vbs">
        score=InputBox("请输入计算机成绩:","输入成绩")
        if score>=90 then
            msg="优等"
        elseif score<90 and score>=80 then
            msg="甲等"
        elseif score<80 and score>=70 then
            msg="乙等"
        elseif score<70 and score>=60 then
            msg="丙等"
        else
            msg="丁等"
        end if
        msgbox "您的计算机成绩为" & msg
    </script>

    3.6 select...case

    这种流程控制结构可以根据一个变量的值而有不同的执行方向。

    select case 变量

      case 值一

          程序代码一

      case 值二

          程序代码二

      case 值三

          程序代码三

      ...

      case else

          程序代码N

    end select

    <script language="vbs">
        no=InputBox("请输入一个1-5之间的数字:","汉译英")
        select case no
            case 1
                msg="ONE"
            case 2
                msg="TWO"
            case 3
                msg="THREE"
            case 4
                msg="FOUR"
            case else
                msg="FIVE"
        end select
        msgbox no & "的英文为" & msg
    </script>

    3.7 for-next (计数循环

    计算机最擅长的功能就是重复执行某项功能,如果每执行一次就要写一次程序代码的话,大部分的程序必然非常的庞大,“循环”指令就是用来解决重复执行的问题。

    for 变量起始值 to 终止值 [step 步长]

    <script language="vbs">
        total=0
        for i=1 to 10
            total=total+i
        next
        msgbox "1加到10的总和为" & total
    </script>
    <script language="vbs">
        total=0
        for i=2 to 100 step 2
            total=total+i
        next
        msgbox "2+4+6+…+100=" & total
    </script>
    <script language="vbs">
        '用循环显示九九表
        document.write "<table border='4'>"
        for i=1 to 9
            total="<tr>"
            for j=1 to 9
                total=total & "<td>" & i & "*" & i & "=" & i*j & "</td>"
            Next
            total=total & "</tr>"
            document.write total
        Next
        document.write "</table>"
    </script>

    注:document.write 是浏览器中的一个方法,在浏览器中有许多对象的属性和方法可供设计人员使用,浏览器将自己本身的各部分,包括窗口、属性、标记等分成各种对象,而每个对象又提供不同的属性和方法。

    <script language="vbs">
        dim a(99)
        for i=0 to 99
            a(i)=i+1
            document.write a(i) & "<br />"
        next
    </script>
    <script language="vbs">
        dim score(3)
        score(0)=90
        score(1)=86
        score(2)=99
        score(3)=54
        '用循环打印每一位学生的成绩
        for i=0 to 3
            msg=msg & "" & i+1 & "个学生分数为" & score(i) & vbcrlf
        next
        msgbox msg
    </script>

    3.8 条件式循环

    do while…loop 循环

    格式: do while 条件

          程序代码

        loop

    这中循环在执行到do while时,会检查”条件”的返回值,若返回值为”True”,就执行”程序代码”,碰到loop时又回到do while再检查”条件”的成立与否.若”条件”的返回值为”False”,则跳到loop的下一个指令(即离开循环).此处的”条件”弹性很大,只要”条件”为”False”时就会结束循环,不必限制循环执行的次数,使用范围比for…next大很多.

    <script language="vbs">
        '英文单词测试,不管大小写都正确
        ans=inputbox("请输入”快乐”的英文")
        do while ucase(ans)<>"HAPPY"
            msg="不正确" & vbcrlf & "请重新输入”快乐”的英文"
            ans=inputbox(msg)
        loop
        msgbox "太棒了!您答对了"
    </script>

    注:ucase()函数可将括号内的字符串全部转换为大写字母

    3.9 Do Until…Loop 循环

    格式: Do Until 条件

               程序代码

            Loop

    Until 循环与While循环不同点就在于,Until是测试”条件”是否不成立,也就是是否为”False”,若是”False”则执行循环内的”程序代码”,反之则跳出循环.

    <script language="vbs">
         '英文单词测试,不管大小写都正确
        ans=inputbox("请输入”快乐”的英文")
        do until ucase(ans)="HAPPY"
            msg="不正确" & vbcrlf & "请重新输入”快乐”的英文"
            ans=inputbox(msg)
        loop
        msgbox "太棒了!您答对了"
    </script>

    3.10 While…Wend循环

    这种循环和Do…Loop完全一样.

    <script language="vbs">
        '英文单词测试,不管大小写都正确
        ans=inputbox("请输入”快乐”的英文")
        while ucase(ans)<>"HAPPY"
        msg="不正确" & vbcrlf & "请重新输入”快乐”的英文"
        ans=inputbox(msg)
        wend
        msgbox "太棒了!您答对了"
    </script>
  • 相关阅读:
    linux基础命令一
    Mac安装vue cli或者electron时 npm i 报错
    记MacOS抹盘后--使用U盘安装MacOS实录
    腾讯云申请SSL证书与Nginx配置Https
    Windows Server 2016 安装虚拟机版黑群晖
    FreeNas搭建踩坑指南(三)
    FreeNas搭建踩坑指南(二)
    FreeNas搭建踩坑指南(一)
    Apache2配置多域名站点及支持https
    ubuntu server 16.04 开启root密码登录
  • 原文地址:https://www.cnblogs.com/zfc2201/p/5578940.html
Copyright © 2011-2022 走看看