分享

VB中Sub子过程与函数的调用

 hdzgx 2017-10-22

    在做学生管理系统中,遇到了太多太多的问题,发现了VB的学习是多么的不牢固,即使当初耗费了大量的时间。从现在开始,将把自己遇到的那些模糊或者不懂的知识总结出来,查漏补缺,欢迎大家提出批评指正!

    VB中的调用主要针对Sub子过程和自定义函数的调用。不论是Sub子过程还是函数过程,都是将一段完整的功能独立出来,建立一个过程。在主调程序中通过调用过程,将需要计算的参数(实参)传递给过程;在过程中求得结果后再讲结果返回到主调程序,从而实现程序的功能,并使程序结构更为清晰、简洁。

    一、Sub子过程的调用

    在程序中要调用Sub子过程的方法有如下两种:

    Call 过程名 (实参列表)  或   过程名  [实参列表] 

    调用Sub子程序的程序段称为主调程序。在主调程序中调用Sub子过程时,将使程序流程自动转向被调用的Sub子过程。在过程执行完最后一行语句 End Sub 之后,程序流程将自动返回到主调程序语句的下一行继续进行,如下图所示:

                   

    在调用过程的的语句中,不仅要求实参个数与被调用过程形参个数一致,而且要求实参表的参数类型、参数顺序与被调用过程形参表的参数完全一致。

    二、自定义函数的调用形式如下:

           函数名  (实参列表)

        实参列表有变量名、数组名、数组元素名、常熟或表达式组成,在调用时,实参和形参的数据类型、顺序、个数必须一一对应。如下图所示:

                

    函数调用只能出现在表达式中,其功能是求得到函数的返回值。


    从上面两张图中可以看出,Sub子过程和函数过程在传递需要计算的参数时(实参a、b传递给形参x、y),两者并没有什么不同。但在返回结果方面,因为函数过程可以通过函数名返回结果,因此,在函数过程中一般只需要设置接收计算参数的形参即可(图2的形参为x、y);Sub子过程却有所不同,由于Sub子过程名只代表名字,没有返回值,所以必须另外设置专门的形参用于返回结果(图1的形参为z1、z2)。

    那么,在解决一个问题时,是使用Sub子过程还是使用函数过程呢?从原则上来说,解决一个问题,既可以使用Sub子过程,也可以使用函数过程。如果是需要过程只有一个返回值,一般习惯使用函数过程,通过函数名来返回结果;如果不是为了求一个值,而是完成一些操作,或者需要返回多个值,则使用Sub子过程比较方便,此时,可以通过设置与返回值个数相符的形参个数来得到返回结果。

    补充:多窗体间数据的访问与传递

                ①直接访问其他窗体的控件属性

                    在一个窗体中可以直接访问另一个窗体上控件的属性,访问时要指明是哪一个窗体,形式为:

                                                 另一窗体名.控制名.属性   如Text1.Text=Form1.Text1.Text

                ②直接访问其他窗体中声明的全局变量

                    在窗体的通用声明区用Public关键字声明的变量,可以被工程中其他的窗体或模块所使用.需要注意的是,在使用窗体的全局变量时,必须带有窗体名。         格式为:         窗体名.变量名

                ③在标准模块中声明全局变量,实现数据的共享

                    为了实现窗体间的数据互访,还可以在标准模块中声明全局变量,并以该全局变量作为交换数据的场所。 例如:在标准模块中声明:Public Pubx As Integer  ,此时在一个窗体中对Pubx的赋值可以被另外窗体使用。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多