第七章过程一、Sub过程二、Function过程三、参数的传递四、可变参数与对象参数第一节Sub过程过程实际上就是其他语言中的子程序,子程序是一个相对独立的应用程序,它可以被其他程序所调用,当然,它也能够调用其他的子程序。在VisualBasic语言中提供了两类过程,一类是子程序过程,又称为Sub过程,另一类是函数过程,又称为Function过程。一、创建Sub过程1.定义Sub过程格式:[static][private][public]sub过程名[(参数表列)]<语句组>[Exitsub][<语句组>]Endsub第一节Sub过程2.注意事项(1)sub过程以sub开始,以Endsub结束。(2)参数static指的是在过程中的变量为static型。(3)private指的是过程是私有过程,只能被本模块中的其他过程访问。(4)public指的是过程是公有过程,可以在程序的任何地方调用它。(5)过程名指的是过程的一个名称,是一个长度不超过255字符的变量名。(6)参数表列指的是,调用时传递给过程的参数的类型和个数,每个参数的格式为:[ByVal]变量名[()][As数据类型](7)Sub过程不能嵌套,也就是说,在sub过程内,不能定义sub过程或function过程;也不能用gosub、goto或return语句进入或退出一个sub过程,只能通过调用执行sub过程。第一节Sub过程3.建立sub过程的方法(1)方法一①“”双击窗体打开代码设计窗口,或利用添加模块功能,打开模块代码窗口。②“”“”单击工具模块下的添加过程功能,系统弹出如下“”图所示的添加过程对话框。第一节Sub过程③在图中的名称文本框中输入过程名称为:ppa。④“”“”在类型选项中选择子程序单选框。⑤“”“”在范围选项中选择公有的单选框。⑥“”单击确定按钮即可建立一个Sub过程,用户可以在Subppa与EndSub之间增添程序代码了。(2)方法二①“”“”单击工程模块下的添加模块功能。②打开模块代码窗口,并键入过程的名字。例如:键入:subppa(),并按回车键,即可建立一个Sub过程,如下图所示。第一节Sub过程二、调用sub过程调用Sub过程有两种方法,一种方法是使用Call调用过程语句来调用过程,另一种方法是将过程名作为一个语句来使用。1.用call调用语句(1)格式Call过程名[(<实参表>)](2)功能Call语句把程序控制传递到一个VisualBasic语言的Sub过程。Call语句调用一个过程时,如果过程本身没有参数,则<实参表>和括号可以省略;否则,应给出相应的实际参数,并把参数放在括号中。实际参数是传递给sub过程的变量或常数的。例如:Callppa(a,b)第一节Sub过程2.把过程作为一个语句来使用在调用sub过程时,如果省略关键字Call,就成为调用sub过程的第二种方式。其格式为:过程名[<实参表>]与第一种方式相比,它有两点不同:(1)去掉了关键字Call(2)去掉了<实参表>中的括号。例如:ppaa,b【例题5.15】编写一个计算圆面积的sub过程,然后,调用该过程计算圆面积。第一节Sub过程PrivateSubCommand1_Click()Dima,ba=Val(InputBox("请输入圆半径","输入数据",1))circulaEndSubPrivateSubcircul(r)Dimareaarea=3.1415926*r*rPrint"圆的面积为";areaMsgBox("圆面积为"&area)EndSub以上程序创建一个计算圆面积的子程序,即Subcircul(r)过程,该过程的实参表为r,调用过程的方法是将过程作为一个语句,即,circula。返回本章首页第二节Function过程一、Function过程的定义1.格式[static][private][public]Function<过程名>[(<参数表列>)][As<类型>]<语句组>[<过程名>]=<表达式>][ExitFunction][<语句组>]EndFunction2.功能定义一个Function过程。第二节Function过程3.注意事项(1)定义Function过程时,必须以Function开始,以EndFunction结束。在其之间是描述过程操作的语句组,可以是一个语句,也可以是若干个语句,<语句组>“中的语句也称为函数体”。(2)调用Sub过程相当于执行一个语句,不返回值,可以作为独立的基本语句调用,而调用Function过程要返回一个值,因此,可以象内部函数一样在表达式中使用。第二节Function过程...