调用过程,调用过程有诸多技巧,它们与过程的类型、位置以及在应用程序中的使用方式有关。下面说明如何调用 Sub 过程和 Function 过程。
创新互联建站专注于郸城网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供郸城营销型网站建设,郸城网站制作、郸城网页设计、郸城网站官网定制、成都微信小程序服务,打造郸城网络公司原创品牌,更为您提供郸城网站排名全网营销落地服务。
调用 Sub 过程
与 Sub 过程不同,在表达式中,Sub 过程不能用其名字调用。调用 Sub 过程的是一个独立的语句。Sub 过程还有一点与函数不一样,它不会用名字返回一个值。但是,与 Function过程一样,Sub 过程也可以修改传递给它们的任何变量的值。
调用 Sub 过程有两种方法:
'以下两个语句都调用了名为 MyProc 的 Sub 过程。
Call MyProc (FirstArgument, SecondArgument)
MyProc FirstArgument, SecondArgument
注意,当使用 Call 语法时,参数必须在括号内。若省略 Call 关键字,则也必须省略参数两边的括号
调用函数过程
通常,调用自行编写的函数过程的方法和调用 Visual Basic 内部函数过程(例如 Abs)的方法一样;即在表达式中写上它的名字。
'下面的语句都调用函数 ToDec。
Print 10 * ToDec
X = ToDec
If ToDec = 10 Then Debug.Print "Out of Range"
X = AnotherFunction ( 10 * ToDec)
就像调用 Sub 过程那样,也能调用函数。下面的语句都调用同一个函数:
Call Year (Now)
Year Now
当用这种方法调用函数时,Visual Basic 放弃返回值。
调用其它模块中的过程
在工程中的任何地方都能调用其它模块中的公用过程。可能需要指定这样的模块,它包含正在调用的过程。调用其它模块中的过程的各种技巧,取决于该过程是在窗体模块中、类模块中还是标准模块中。
窗体中的过程
所有窗体模块的外部调用必须指向包含此过程的窗体模块。如果在窗体模块 Form1 包含 SomeSub 过程,则可使用下面的语句调用 Form1 中的过程:
Call Form1.SomeSub(arguments)
类模块中的过程
与窗体中调用过程类似,在类模块中调用过程要调用与过程一致并且指向类实例的变量。例如,DemoClass 是类 Class1 的实例:
Dim DemoClass as New Class1
DemoClass.SomeSub
但是不同于窗体的是,在引用一个类的实例时,不能用类名作限定符。必须首先声明类的实例为对象变量(在这个例子中是 DemoClass )并用变量名引用它。
标准模块中的过程
如果过程名是唯一的,则不必在调用时加模块名。无论是在模块内,还是在模块外调用,结果总会引用这个唯一过程。如果过程仅出现在一个地方,这个过程就是唯一的。
如果两个以上的模块都包含同名的过程,那就有必要用模块名来限定了。在同一模块内调用一个公共过程就会运行该模块内的过程。例如,对于 Module1 和 Module2 中名为 CommonName 的过程,从 Module2 中调用 CommonName 则运行 Module2 中的 CommonName 过程,而不是 Module1 中的 CommonName 过程。
从其它模块调用公共过程名时必须指定那个模块。例如,若在 Module1 中调用 Module2 中的 CommonName 过程,要用下面的语句:
Module2.CommonName (arguments)
Public 用于声明对所有模块中的所有其它过程都可以使用的过程。
Private 用于声明只能在包含该声明的模块中使用的过程。
public function createstringarr() as string()
return new string(){"d1","d2","d3","d4"}
end function
不好说,我就说下我的想法!有数据库的!
1:先想清楚,(包括先设想下页面,涉及的功能等)
2:编写文档
3:设计数据库,编写代码
4:
调试程序
,生成,查错
5:部署安装。
可以看到PC()函数是这样定义的
Public Sub pc(ByVal a%, ByRef d%, ByRef b%).
ByVal是传递值 源数据不会被修改,你可以把这个值当作自己的局部变量来使用;ByRef是传递地址,源数据可能被修改,你对这个变量的操作将对你传入的那个变量产生影响,就像指针的感觉.
------------------------------------------------
而a,b,c初始化分别为2,3,4
a = 2 : b = 3 : c = 4
当调用PC()函数时
Call pc(a, b, c) ,此时,相当于call pc(2,3,4)
由于PC函数定义的时候,d,c是传递地址,可以改变,所以此时d=3,b=4,a不变,还是为2
所以执行以下计算的时候,
a = a + 1 =2+1=3(注意,执行这句操作的时候,在PC函数里面a的值改变了为3,影响PC函数中涉及到a的计算)
b = b + 2 =4+2=6
c = a + d =3+3=6
------------------------
最后按钮事件里面还有一个输出,
由于a在PC()函数里面是值传递,所以不会受到影响,故a=2;
b为一个局部变量,不影响,故b=3;
c=6
--------------
调试程序的时候看的有点乱了,也不知道我这样分析有没有错,你自己也看看吧,互相学习