call test1(x) print "执行test1后,test2前,x="; x call test2(x) print "执行test2后,x="; x end sub
运行结果 执行test1前,x=5 执行test1后,test2前,x=5 执行test2后,x=0
参数传递方式示例2
private sub command1_click() x=5 y=5 private sub subprog (byval a,byref b) private ―传值方式”,‖传址方式” a=a*a call subprog(x,y) b=b*b print ―x=‖;x,‖y=‖;y print ―a=‖;a,‖b=‖;b end sub end sub 运行结果: 传值方式 传址方式 a=25 b=25 x=5 y=25
参数传递方式示例3
交换两个变量的值: private sub command1_click() x=10 private sub swap ( byref a , byref b) y=20 tmp=a print ―交换前:” a=b b=tmp print ―x=‖;x , ‖y=‖;y end sub call swap (x , y) print ―交换后:” print ―x=‖;x , ‖y=‖;y end sub 运行结果: 交换前: x=10 y=20 交换后: x=20 y=10
3.8函数function过程
在visual basic 中,通过function 语句创建的函数过程和通过sub 语句创建的子过程 类似。与子过程不同的是:function 过程可返回一个值到调用的过程。
允许用户自定义函数过程(又称function过程) 1.定义 function过程可返回一个值给调用程序
一般语法格式: [private | public | static] function 函数名([参数表]) [as 数据类型] 语句块 [函数名=表达式] [exit function] end function
函数过程需要返回的值由as 子句设置。
与sub过程相同 可以在“代码窗口”中直接输入来建立function过程 也可以选择“工具”菜单中的“添加过程”命令来建立function过程(选择“函 数 ” 类 型 )
调用函数过程:
调用函数时可以有两种方式。
方法一:直接调用 像使用vb内部函数一样,只需写出函数名和相应的参数即可。 例如: s = max(a, b) print max(s, c) 方法二:作为参数出现在调用过程中或函数中。 例如:
tx2=myfunc(myfunc(5))
函数过程中返回值
在函数过程内的语句块内,可以通过以下语句将值返回。 函数名 = 表达式 例如:
function h y (a as integer, b as integer) as string
h y= sqr (a ^ 2 + b ^ 2) end function
例3.19 使用function函数示例:计算5! + 10!
因为计算5!和10!都要用到阶乘n! (n!=1×2×3×…×n) 所以把计算n编成 sub过程 采用print直接在窗体上输出结果,程序代码: private sub form_click() dim y as long, s as long private function jc (n as integer) s=jc(5) dim i as integer s=s+jc(10) t= 1 print "5! + 10! ="; s for i = 1 to n end sub t=t*i 程序运行结果: 5! + 10! = 3628920 next i jc=t end function 注意参数n及t的调用情况
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29087-21.html
你说的这点地球人都知道
反掉的是自己的未来”