在VB中,如果没有返回值,则定义成一个过程:Sub 。如果有返回值,则定义成函数:Function 。定义一个全局过程,在模块中如下申明(可以带形参,也可以不带,没有返回值): Public sub MySub() 'Your Code End Sub定义一个全局函数,在模块中如下申明(可以带形参,也可以不带,但一定要有返回值):: Public Function MyFunction() as String 'Your Code MyFunction = 你的返回值 '最后必须有这一句 End Function调用过程: Private sub Commnad1_click() call Mysub() end sub 调用函数: Private sub Commnad1_click() dim str1 as String str1 = MyFunction() end sub
过程和函数其实是包含于的关系。 Function的返回值是可以丢弃的。比如Function A(Var as Integer) as Boolean Print #1, Var If Var=1 Then A=True End Function可以这样调用 A其实,只有Basic和其他没几种语言对函数和过程进行了区分。在C中,没有(或者说没必要有)过程的概念。
//调用: void main() { TestPro("Test..."); // 输出 Test... int iTest = Testfun(100); printf(iTest); // 输出 100 }VB : '过程: sub TestPro(str as String) Msgbox(str) end sub
'函数: function Testfun(iNum as Integer) as Integer Testfun = iNum End function ' 调用 sub form_load() Dim iTest as Integer TestPro("Test...") iTest = Testfun(100) end sub
void FunName()
{
……
}
Public sub MySub()
'Your Code
End Sub定义一个全局函数,在模块中如下申明(可以带形参,也可以不带,但一定要有返回值)::
Public Function MyFunction() as String
'Your Code
MyFunction = 你的返回值 '最后必须有这一句
End Function调用过程:
Private sub Commnad1_click()
call Mysub()
end sub
调用函数:
Private sub Commnad1_click()
dim str1 as String
str1 = MyFunction()
end sub
Function的返回值是可以丢弃的。比如Function A(Var as Integer) as Boolean
Print #1, Var
If Var=1 Then A=True
End Function可以这样调用
A其实,只有Basic和其他没几种语言对函数和过程进行了区分。在C中,没有(或者说没必要有)过程的概念。
void TestPro(char str)
{
printf(str);
} // 函数
Testfun(int iNum)
{
return iNum;
}
//调用: void main()
{
TestPro("Test..."); // 输出 Test...
int iTest = Testfun(100);
printf(iTest); // 输出 100
}VB :
'过程: sub TestPro(str as String)
Msgbox(str)
end sub
'函数: function Testfun(iNum as Integer) as Integer
Testfun = iNum
End function ' 调用
sub form_load()
Dim iTest as Integer
TestPro("Test...")
iTest = Testfun(100)
end sub