第08章子过程与函数精选文档.ppt
《第08章子过程与函数精选文档.ppt》由会员分享,可在线阅读,更多相关《第08章子过程与函数精选文档.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第08章子过程与函数本讲稿第一页,共三十四页VB模块模块模块的两层含义:模块的两层含义:l l工程中的资源:工程中的资源:一个应用程序就是一个工程,窗体模块(一个应用程序就是一个工程,窗体模块(.frm)、类模)、类模块(块(.cls)、标准模块()、标准模块(.bas)。这是一种高层次的)。这是一种高层次的模块划分,它们以独立的文件方式管理。模块划分,它们以独立的文件方式管理。l l子程序和函数:子程序和函数:一个窗体模块或标准模块也是由一些功能单元组成的,一个窗体模块或标准模块也是由一些功能单元组成的,这就是子程序和函数,统称为过程(这就是子程序和函数,统称为过程(Procedure)。)
2、。相对来说这是一种较低层次的模块划分。相对来说这是一种较低层次的模块划分。VB中提供中提供的一些函数(比如上一章的的一些函数(比如上一章的UBound)以及事件过程)以及事件过程就是这层含义。就是这层含义。本讲稿第二页,共三十四页VB文件的内容文件的内容每一类型的文件都可以包含过程和通用声明:每一类型的文件都可以包含过程和通用声明:过程:过程:可以是子过程、函数过程或事件过程。每一可以是子过程、函数过程或事件过程。每一种过程都由代码组成。种过程都由代码组成。声明:声明:在模块级通用声明部分放置常量、变量、动在模块级通用声明部分放置常量、变量、动态链接库等的声明。态链接库等的声明。本讲稿第三页,
3、共三十四页窗体模块文件窗体模块文件*.frm工程中的每个窗体都有一个与之相应的窗体模块文件工程中的每个窗体都有一个与之相应的窗体模块文件窗体文件中包含:窗体文件中包含:窗体本身及窗体上放置的所有控件的属性设置窗体本身及窗体上放置的所有控件的属性设置窗体级变量、常量、类型声明和外部过程窗体级变量、常量、类型声明和外部过程的声明的声明所有相关的事件过程及窗体级通用过程所有相关的事件过程及窗体级通用过程说明:说明:同一窗体模块内的通用过程与事件过程可以相互调同一窗体模块内的通用过程与事件过程可以相互调用用若窗体模块内的通用过程被声明为公有的,可以被其它窗若窗体模块内的通用过程被声明为公有的,可以被其
4、它窗体模块或标准模块中的过程调用。调用方法为:窗体名体模块或标准模块中的过程调用。调用方法为:窗体名.过过程名,如程名,如From1.Test。本讲稿第四页,共三十四页标准模块文件标准模块文件*.bas标准模块中的代码可以被工程中的所有模块,包括窗体标准模块中的代码可以被工程中的所有模块,包括窗体模块、其它标准模块,所共享。模块、其它标准模块,所共享。标准模块中包含:标准模块中包含:通用过程通用过程没有事件过程没有事件过程公共或模块级的变量、常量、外部过程和全局过程的声明公共或模块级的变量、常量、外部过程和全局过程的声明说明:说明:标准模块存放于独立的文件中,其扩展名为标准模块存放于独立的文件
5、中,其扩展名为.bas。标准模块中通用过程缺省为公有(标准模块中通用过程缺省为公有(Public),即工程中的),即工程中的任一模块均可共享、调用。任一模块均可共享、调用。本讲稿第五页,共三十四页类模块文件类模块文件*.cls类模块包含用来创建对象的类定义类模块包含用来创建对象的类定义包含类的属性和方法的定义包含类的属性和方法的定义本讲稿第六页,共三十四页子过程和函数子过程和函数VB中的过程:中的过程:事件过程(事件过程(PrivateSub对象名对象名_事件名)事件名)Sub过程,又称通用过程,或子过程过程,又称通用过程,或子过程Function过程,称函数过程,称函数本讲稿第七页,共三十四
6、页通用过程通用过程一、定义和调用通用过程一、定义和调用通用过程定义定义Private|PublicStaticSub过程名过程名(参数列表参数列表).EndSub参数列表:参数列表:ByVal参数名参数名As类型类型,调用调用CallChangeColor(3)ChangeColor2本讲稿第八页,共三十四页事件过程事件过程二、定义和调用事件过程二、定义和调用事件过程事事件件过过程程是是VB事事件件驱驱动动编编程程的的重重要要机机制制。当当VB中中的的某某对对象象的的某某个事件被触发时,便自动调用对象的事件过程进行处理。个事件被触发时,便自动调用对象的事件过程进行处理。定义事件过程使用的是固定
7、格式,不需要人工书写:定义事件过程使用的是固定格式,不需要人工书写:PrivateSub对象名对象名_事件名事件名(参数列表参数列表)事件响应代码事件响应代码EndSub事事件件过过程程除除了了由由系系统统自自动动来来调调用用之之外外,也也可可以以将将它它看看作作一一个个普普通通的的子子程程序在程序中用代码来调用,调用语法没有特殊之处。如序在程序中用代码来调用,调用语法没有特殊之处。如:CallcmdAdd_Click本讲稿第九页,共三十四页函数函数三、定义和调用函数三、定义和调用函数定义定义Private|PublicStaticFunction过程名过程名(参数列表参数列表).EndFun
8、ction过程的区别:过程的区别:函数有数据类型,即返回值的类型,缺省为函数有数据类型,即返回值的类型,缺省为Variant给函数名本身赋值,即为返回值给函数名本身赋值,即为返回值如果象调用过程一样调用函数,则放弃返回值如果象调用过程一样调用函数,则放弃返回值本讲稿第十页,共三十四页退出子过程和函数退出子过程和函数EndSub:退出子过程:退出子过程EndFunction:退出函数:退出函数可以在子过程体内或函数体内任何位置使用上述语可以在子过程体内或函数体内任何位置使用上述语句,用来结束子过程或函数句,用来结束子过程或函数本讲稿第十一页,共三十四页子过程和函数的参数子过程和函数的参数VB默认
9、的参数是按地址传递默认的参数是按地址传递(ByRef),意味着如果过程内的参数值,意味着如果过程内的参数值改变了,则调用过程时使用的变量其值也随之改变改变了,则调用过程时使用的变量其值也随之改变SubMain()DimxAsIntegerx=1CallTest(x)x的值改变了的值改变了EndSubPrivateSubTest(numAsInteger)num=num+1EndSub按值传递,则用按值传递,则用ByVal关键字,如:关键字,如:本讲稿第十二页,共三十四页本讲稿第十三页,共三十四页数组作为参数示例数组作为参数示例【例例】编写子程序,实现在所有学生名单数组中查找给定编写子程序,实现
10、在所有学生名单数组中查找给定的名字,输出查找结果。的名字,输出查找结果。SubFind(oneAsString,all()AsString)DimiAsInteger,maxAsIntegermax=Ubound(all)取数组上界取数组上界Fori=LBound(all)TomaxIfTrim(one)=Trim(all(i)Then去两端空格去两端空格MsgBox找到啦找到啦ExitSub完成查找完成查找EndIfNextMsgBox没有找到没有找到EndSub本讲稿第十四页,共三十四页函数的返回值函数的返回值退出函数之前必须完成返回值的确定,对函数名自身赋退出函数之前必须完成返回值的确定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 08 章子 过程 函数 精选 文档
限制150内