zoukankan      html  css  js  c++  java
  • VBS基础篇

    VBS基础篇 - VBScript过程

     

      在 VBScript 中,过程被分为两类:Sub 过程和 Function 过程。

     Sub过程

    Sub 过程是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句。如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ()。实例代码如下:

    1
    2
    3
    4
    Call GetName() '调用Sub过程
    Sub GetName()
        MsgBox "我是Sirrah" '输出字符串
    End Sub

     Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。实例代码如下:

    1
    2
    3
    4
    Call GetName("我是sirrah") '调用Sub
    Sub GetName(name)
        MsgBox name '输出字符串
    End Sub

     Sub过程是没有返回值的哦!不然运行报错误的哦!!!实例代码如下:

    1
    2
    3
    4
    getName "Sirrah" '调用过程
    Sub getName(name)
        getName = name '设置返回值
    End Sub

     运行上面的脚本,将会出现下图所示的错误哦,请一定注意过程是不可以有返回值的 

      Function 过程

    Function 过程是包含在 Function 和 End Function 语句之间的一组 VBScript 语句。Function 过程与 Sub 过程类似,如果 Function 过程无任何参数,则 Function 语句必须包含空括号 ()。实例代码如下:

    1
    2
    3
    4
    Call GetName() '调用Function
    Function GetName()
        MsgBox "我是Sirrah" '输出字符串
    End Function

     Function 过程可以使用参数(由调用过程传递的常数、变量或表达式)。实例代码如下:

    1
    2
    3
    4
    Call GetName("我是sirrah") '调用Function
    Function GetName(name)
        MsgBox name '输出字符串
    End Function

     Function 是有返回值的,通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是Variant。实例代码如下:

    1
    2
    3
    4
    getName "Sirrah" '调用Function
    Function getName(name)
        getName = name '设置返回值
    End Function

     如何调用过程

    调用 Function 过程时,函数名必须用在变量赋值语句的右端或表达式中。

    调用 Sub 过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。不需使用 Call 语句,但如果使用了此语句,则必须将所有参数包含在括号之中。

      下面的示例显示了调用过程的两种方式。一种使用 Call 语句;另一种则不使用。两种方式效果相同。

    1
    2
    3
    4
    5
    getName "Sirrah" '调用过程的第一种写法
    Call getName("Candy") '调用过程的第二种写法
    Sub getName(name)
        MsgBox "我是"&name
    End Sub


       切记Sub与Function的区别:

    Sub没有返回值,而Function有返回值。

    Sub不能放在表达式中,而Function可以。

  • 相关阅读:
    [BZOJ-1007&洛谷P3194][HNOI2008]水平可见直线--【半平面交(单调栈)】
    [BZOJ-1006&洛谷P3196][HNOI2008]神奇的国度--【图的染色-最大势MCS算法】
    [BZOJ-1005&洛谷P2624][HNOI2008]明明的烦恼-【Purfer序列】py+java
    [BZOJ1211 & 洛谷P2290] [HNOI2004]树的计数-【Purfer序列】py+Java
    【BZOJ-1004&洛谷P1446】[HNOI2008]Cards-置换群(burnside引理|DP)
    POJ-2409 Let it Bead 【置换群-Polya定理】
    Dijkstra--POJ 2502 Subway(求出所有路径再求最短路径)
    二分--LIGHTOJ 1088查找区间(水题)
    二分--1043
    二分---LIGHTOJ 1062
  • 原文地址:https://www.cnblogs.com/jinjiangongzuoshi/p/3834672.html
Copyright © 2011-2022 走看看