1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,VB过程和其调用PPT讲座,过程,VB程序是由,过程,组成的,每个过程是为了完成一定的任务,由一组独立的程序代码组成。,VB分为两类过程,1,:事件过程,2,:通用过程,过程,通用过程,事件过程,Function,过程,sub,过程,拓展:,Val,函数,变量的作用域,模块的作用域,重点:,能够自定义,sub,过程和,function,过程,能够根据需要自由调用两个过程!,事件过程,事件过程:,事件过程为响应由用户操作或
2、程序中的引发的事件而执行的SUB 过程,它附加在窗体和事件上!,1:事件过程,事件过程的格式:,private|public sub 控件名_事件名(参数列表),End Sub,eg:private sub command_click()(,点击事件,),print hello,End Sub,1:事件过程,注意事项:,(1):,事件过程只能放在窗体模块中,(2):为处理事件而编写的程序过程,(3):可以通过双击对象,然后在代码视图下选择相应的事件的方法来自动生成事件过程。,通用过程,当,多个,不同的事件,过程,需要执行一段,相同,的,代码,,为了避免代码的重复,把这段代码独立出来,作为一个过
3、程,这样的过程称为,通用过程,。可见,通用过程是多个事件过程的,相同之处、公共部分。,通用过程的主要类型,1:SUB过程(执行操作但并不将值返回给调用代码),2:fuction过程(将值返回给调用代码),2:自定义sub过程,定义格式如下:,public|private sub 过程名(形式参数 a as integer),exit sub,eg:public sub printf1(),print hello vb,End sub,2:自定义sub过程,说明:,(1)public和private表明SUB过程的有效范围,public的有效范围是整个工程,private的有效范围是当前,模块,
4、默认为private,(2)过程必须以End SUB 结束,(3)exit sub可以强制退出过程,(4)VB 中所有过程都是并列关系,不允许在一个过程内部定义 另外一个过程,即不能嵌套定义,过程的作用域,因为在VB中代码是模块化的,所以不同的模块就需要不同的过程,过程是有作用域的。,模块级过程是在某个模块内定义的过程,在定义sub过程和Function过程时选择Private关键字,该过程仅限于本模块中调用。(窗体模块,类模块),全局级过程又称工程级过程,是指在定义sub过程和Function过程时选择Public关键字或缺省选择,作用域为整个工程,可被该工程中的所有过程调用。,变量的作用
5、域,1:,过程变量,2:,模块级变量,3:,全局变量,1:过程变量,过程变量也称为局部变量,过程变量在过程内部用dim或者static关键字申明,只能在过程内部使用!,public sub song(),dim,liang,as double 过程变量(相当于方法体内部定义的变量),end sub,2:模块级变量,模块级变量:通过Dim 关键字或者private关键字在窗体模块或者标准模块的声明部分定义的变量称之为模块级变量,定义格式为,dim a as double,其实就相当于在所有过程外面,窗体作用范围内,通用声明里面!,3:全局变量,全局变量:作用在整个工程是在窗体或者标准化模块的顶部
6、声明部分用public关键字声明的变量,全局变量的定义格式为,public n as integer,同一工程中的其他窗体都可以使用!,sub过程的调用,sub过程有两种等价的调用方式,1:call 过程名(参数)声明:,2:过程名(参数,1,,参数,2,,参数,3,),不加括号也对,有,call,必须加!,Private Sub Form_Activate(),printf1,3,第一种调用方法,Call printf1,(3),第二种调用方法,End Sub,Public Sub printf1(,a as double,),Print,a,End Sub,Function,functio
7、n 可以返回一个值,可以像系统函数一样直接用在表达式中!,定义格式:,public|private Function过程名(参数列),as,类型,exit Function,过程名,=.,返回函数的值,End function,fuction过程的调用,function,过程的调用和,sub,过程类似,call+,函数名(参数,1,,参数,2,),函数名(参数1,参数2,参数3),不加括号也对,有,call,必须加!,sub,过程和,function,过程的区别,sub,过程和,function,过程的主要区别是:,function,过程有返回值,有数据类型,即返回值的类型,返回值也可成为表达
8、式的一部分!,VB,进制与字符转换类函数(,val,),Val,函数:,返回包含于字符串内的数字,字符串中是一个适当类型的数值。,语法,:,Val(string,):必,要的,string,参数可以是任何有效的字符串表达式!,eg,a=val(1234),返回值是,1234,a=val(2 34 7),返回值是,2347,a=val(24 and 57),返回值是,24,a=val(sdf23and34),返回值是,0,实例:,分别定义,function,过程和,sub,过程求一个矩形的面积和周长!,求周长,private sub zc(lenth as double,width as double),c=(lenth+width)*2,end sub,求面积,private function area(lenth as double,width as double)as double,s=lenth*width,end sub,总结,过程,通用过程,事件过程,Function,过程,sub,过程,拓展:,Val,函数,变量的作用域,模块的作用域,重点:,能够自定义,sub,过程和,function,过程,能够根据需要自由调用两个过程!,