51testing论坛版主,专注于软件测试及测试吐槽,屌丝测试攻城师一枚。。。。。。。。。。。。。。。。。。。。。。。。。新浪微博:@没翅膀的飞鱼-------邮件交流:wzb_minitester@126.com------

VBScript之过程和函数

上一篇 / 下一篇  2012-12-15 18:31:24 / 个人分类:VBScript系列

这篇简单介绍过程及函数。

为什么要是使用过程和函数?使用过程及函数能够将脚本中的代码模块化,放入有名称的具有特定功能的代码块中。可以使我们有组织地考虑复杂的问题,提高代码的可读性和可理解性,并使创建可复用的代码成为可能。

函数就是调用时有返回值有名称的代码块,而过程是没有返回值的代码块。下面分别来说明:

过程

 作为过程的具名代码块是用Sub关键字来识别的,即包含在SubEnd Sub之间的一组语句,执行操作但不返回值。

完整语法声明过程:

[Public|Private]SubName ([Argument1],[Argument2])

     [code inside the procedure ]

End Sub

如:

Sub GreetUser
    MsgBox"Hello ,Welcome to my script"
EndSub

    以上就是一个无参数过程声明,但是如果没有代码调用这个过程的话,过程就呆着不动,什么也不做,当然这不是我们使用过程的目的,我们使用它是希望它能完成一定的功能,那么就应该在需要它完成一定功能时调用它。过程和函数是可以接收参数(就是通过参数给过程和函数传递数据),参数就是一个记录着传递给过程和函数的信息的值,过程和函数内部的代码可以访问这个值,如以下例子定义了一个带参数的过程,并且还调用了它:

OptionExplicit
GreetUser "Binbby"
Sub GreetUser(GetUserName)
    MsgBox"Hello,"& GetUserName & ",Welcome to my script"
EndSub

运行以上代码会打印出:Hello,Bill,Welcome to my script

调用过程包括两种方式(调用以上过程为例):

1. GreetUser"Binbby"

2. Call GreetUser "Binbby"

 

函数:

 函数的完整语法声明过程与过程是一样的,唯一的区别就是将关键字Sub换为Function

[Public|Private]FunctionName ([Argument1],[Argument2])

   [code inside the procedure ]

End Function

上面提高过函数与过程的不同在于函数有返回值,而指定返回值的方法是在函数内部的代码中使用函数名,如:

Function AddNumbersArg1,Arg2
    AddNumbers = Arg1 + Arg2
EndFunction

调用函数包括三种方式:

1.      lngSum = AddNumbers10,20

2.      Call  AddNumbers10,20

3.      AddNumbers 10 , 20

如以下这个例子:

OptionExplicit

DimlngSum

lngSum = AddNumbers(10,20)
‘AddNumbers 10,20

‘Call AddNumbers(10,20)
Function AddNumbers(Arg1,Arg2)
    AddNumbers = Arg1 + Arg2
    MsgBox AddNumbers
EndFunction

 

当然过程和函数也可以相互嵌套,如:

OptionExplicit
GreetUser
Sub GreetUser
   MsgBox"Hello, " & GetUserName & ". Welcome to my Script."
EndSub
Function GetUserName
  GetUserName = InputBox ("Pleaser enter your name.")
EndFunction

 

退出过程或函数:

在过程和函数内部的最后一行代码执行完之后自然就会退出,但是有时候需要立即结束一个过程或函数而不是等到代码全部运行完。这时候可以用Exit关键字,退出过程和函数,即Exit Sub或者Exit Function,如下:

Option Explicit

CallBB()

FunctionBB

  If1=1 Then

     ExitFunction

  End If

  MsgBox"test"

End Function

此脚本执行进入tt函数代码块之后判断1=1成立,则退出function,最后的msgbox “test”不会被执行.

写于2012-12-15    没翅膀的飞鱼


TAG:

 

评分:0

我来说两句

Open Toolbar