VBS中Sub与Function的区别[资料]
来源:互联网 发布:邮件群发软件下载 编辑:程序博客网 时间:2024/05/18 03:13
VBS中Sub与Function的区别[资料]
在VBscript中,有两种procedure:Subprocedure与Function procedure。
一、SubProcedures
VBScript的 Sub Procedure以 Sub 开始,以 End Sub 结束,中间是VBScript语句。Subprocedure完成一系列的动作,但是不产生返回值。 Sub Procedure也可以携带参数(如常量、变量、或表达式)。如果 Sub Procedure不携带参数,则Sub语句也必须带有一对空括号。
下面的这个 Sub Procedure例子使用了两个内建VBScript 函数 MsgBox 以及 InputBox 。InputBox用来弹出提示框,提示用户输入相关信息;MsgBox用以显示计算结果。计算功能由用户自建的 Function Procedure来实现,相关信息在接下来的内容中另行讨论。
复制内容到剪贴板
代码: SubConvertTemp()
temp = InputBox("Please enter the temperature in degrees F.",1)
MsgBox "The temperature is " & Celsius(temp)& " degrees C."
EndSub
二、
Function Procedures
Function Procedure以Function开始,以End Function结束,中间是VBScript语句。 Function Procedure与 Sub Procedure相似,但是 Function Procedure可以返回值。 Function Procedure也可以携带参数(常量、变量、表达式)。如果 Function Procedure不携带参数,Function语句也必须带有一对空括号。 Function Procedure在语句中,通过赋值语句将值赋给Funciton的名称,由此 Function Procedure得到返回值。返回值的数据类型总是 Variant 类型。
在下面的例子中,用户定义的Function Celsius 将华氏温度换算为摄氏度。当在 Sub procedure ConvertTemp 中用Celsius(temp)调用这个Function时,将参数“Temp”传到Function中(注意:此时参数Temp已经有明确的数据了)。然后在Function中,进行换算工作,并将换算结果赋给Function名称“Celsius”,由此换算结果就成了Function的返回值,返回给调用它的Subprocedure,并通过Message语句显示出来。
复制内容到剪贴板
代码:
SubConvertTemp()
temp = InputBox("Please enter the temperature in degrees F.",1)
MsgBox "The temperature is " & Celsius(temp)& " degrees C."
EndSub
FunctionCelsius(fDegrees)
Celsius = (fDegrees - 32) * 5 / 9
EndFunction
三、将数据传入或传出Procedure
Procedure只能通过参数获得数据。参数名可以是任何有效的变量名称。用户可以用Sub语句或Function语句创建Procedure,无论是用哪种方式创建,Procedure名称后面都必须带有一对括号。所有的参数包括在这一对括号之中,用逗号分隔。
在下面的例子中,“fDegrees”是一个参数,它将值传入Function“Celsius”。
复制内容到剪贴板
代码:Function Celsius(fDegrees)
Celsius = (fDegrees - 32) * 5 / 9
EndFunction
要想从procedure获取返回值,必需使用Funcitonprocedure。要记住:只有Function procedure有返回值,Subprocedure没有返回值。 三、如何在脚本中使用SubProcedure或Function Procedure
Function 总是放置于变量赋值语句的右侧,或放置于表达式中。如
复制内容到剪贴板
代码:
Temp=Celsius(fDegrees)
或
MsgBox"The Celsius temperature is " & Celsius(fDegrees)& " degrees."
在调用 Subprocedure 时,在procedure名字后带上所有必须的参数,参数之间用逗号隔开。Call语句不是必须的,但是如果使用Call语句来调用它,procedure名字后面的参数必须用括号括起来。
下面的例子表达了两种不同的调用方法:一个使用Call语句来调用,另一个没有使用Call语句。两种方法的是殊道同归。
复制内容到剪贴板
代码:
CallMyProc(firstarg, secondarg)
MyProcfirstarg, secondarg
注意:在使用Call语句调用SubProcedure时,参数必须用括号括起来。
引文来源 VBS中Sub与Function的区别
在VBscript中,有两种procedure:Subprocedure与Function procedure。
复制内容到剪贴板
代码:
Function Procedures
复制内容到剪贴板
代码:
复制内容到剪贴板
代码:Function Celsius(fDegrees)
复制内容到剪贴板
代码:
下面的例子表达了两种不同的调用方法:一个使用Call语句来调用,另一个没有使用Call语句。两种方法的是殊道同归。
复制内容到剪贴板
代码:
引文来源
0 0
- VBS中Sub与Function的区别[资料]
- VBS中Sub与Function的区别[资料]
- VBS中Sub与Function的区别[资料]
- VBS中Sub与Function的区别
- asp中sub与function的区别
- sub 与 function 的区别
- (QTP)vbscript中Function与Sub的区别
- QTP 中 Function和SUB的区别
- asp中sub和function的区别
- sub和function的区别
- VBS基础篇 - 过程(sub 与 Function)
- asp问题关于调用function与Sub的区别
- ASP中SUB和FUNCTION区别
- jQuery中$(function()与(function($)的区别
- jQuery中 $(function() 与 (function($) 的区别
- VB中鸡肋的Sub/Function区分
- Sub 与 Function 在VB程序设计中的区别
- jQuery中$(function()与(function($)等的区别详细讲解
- P96 5.4.3
- LoadRunner英文 面试问题(附答案)
- LoadRunner英文 面试问题(附答案)
- JAVA编程中关于类型转换的问题
- LoadRunner英文 面试问题(附答案)
- VBS中Sub与Function的区别[资料]
- untiy 技能系统及编辑器
- VBS中Sub与Function的区别[资料]
- VBS中Sub与Function的区别[资料]
- 分享测试自动化的19个教训
- mysql 导数据,不用 load file 的解决方法
- Oracle 删除表中记录 如何释放表及表空间大小
- 分享测试自动化的19个教训
- 分享测试自动化的19个教训