【教学课件】第八章子过程和函数.ppt
《【教学课件】第八章子过程和函数.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第八章子过程和函数.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章第八章 子过程和函数子过程和函数子程序和函数子程序和函数如何编写和使用如何编写和使用子程序和函数的作用域子程序和函数的作用域VB内部函数介绍内部函数介绍 VB模块模块模块的两层含义:模块的两层含义:l l工程中的资源:工程中的资源:一个应用程序就是一个工程,窗体模块(一个应用程序就是一个工程,窗体模块(.frm)、)、类模块(类模块(.cls)、标准模块()、标准模块(.bas)。这是一种)。这是一种高层次的模块划分,它们以独立的文件方式管理。高层次的模块划分,它们以独立的文件方式管理。l l子程序和函数:子程序和函数:一个窗体模块或标准模块也是由一些功能单元组一个窗体模块或标准模块也是
2、由一些功能单元组成的,这就是子程序和函数,统称为过程成的,这就是子程序和函数,统称为过程(Procedure)。相对来说这是一种较低层次的)。相对来说这是一种较低层次的模块划分。模块划分。VB中提供的一些函数(比如上一章中提供的一些函数(比如上一章的的UBound)以及事件过程就是这层含义。)以及事件过程就是这层含义。VB文件的内容文件的内容每一类型的文件都可以包含过程和通用声明:每一类型的文件都可以包含过程和通用声明:过程:过程:可以是子过程、函数过程或事件过程。每可以是子过程、函数过程或事件过程。每一种过程都由代码组成。一种过程都由代码组成。声明:声明:在模块级通用声明部分放置常量、变量、
3、在模块级通用声明部分放置常量、变量、动态链接库等的声明。动态链接库等的声明。窗体模块文件窗体模块文件*.frm工程中的每个窗体都有一个与之相应的窗体模块文件工程中的每个窗体都有一个与之相应的窗体模块文件窗体文件中包含:窗体文件中包含:窗体本身及窗体上放置的所有控件的属性设置窗体本身及窗体上放置的所有控件的属性设置窗体级变量、常量、类型声明和外部过程窗体级变量、常量、类型声明和外部过程 的声明的声明所有相关的事件过程及窗体级通用过程所有相关的事件过程及窗体级通用过程说明:说明:同一窗体模块内的通用过程与事件过程可以相互同一窗体模块内的通用过程与事件过程可以相互调用调用若窗体模块内的通用过程被声明
4、为公有的,可以若窗体模块内的通用过程被声明为公有的,可以被其它窗体模块或标准模块中的过程调用。调用被其它窗体模块或标准模块中的过程调用。调用方法为:窗体名方法为:窗体名.过程名,如过程名,如From1.Test。标准模块文件标准模块文件*.bas标准模块中的代码可以被工程中的所有模块,包括窗体标准模块中的代码可以被工程中的所有模块,包括窗体模块、其它标准模块,所共享。模块、其它标准模块,所共享。标准模块中包含:标准模块中包含:通用过程通用过程没有事件过程没有事件过程公共或模块级的变量、常量、外部过程和全局过程的声明公共或模块级的变量、常量、外部过程和全局过程的声明说明:说明:标准模块存放于独立
5、的文件中,其扩展名为标准模块存放于独立的文件中,其扩展名为.bas。标准模块中通用过程缺省为公有(标准模块中通用过程缺省为公有(Public),即工程中的),即工程中的任一模块均可共享、调用。任一模块均可共享、调用。类模块文件类模块文件*.cls类模块包含用来创建对象的类定义类模块包含用来创建对象的类定义包含类的属性和方法的定义包含类的属性和方法的定义子过程和函数子过程和函数VB中的过程:中的过程:事件过程(事件过程(Private Sub 对象名对象名_事件名)事件名)Sub过程,又称通用过程,或子过程过程,又称通用过程,或子过程Function过程,称函数过程,称函数通用过程通用过程一、定
6、义和调用通用过程一、定义和调用通用过程定义定义 Private|Public Static Sub 过程名过程名(参数列表参数列表).End Sub 参数列表:参数列表:ByVal 参数名参数名 As 类型类型,调用调用Call ChangeColor(3)ChangeColor 2事件过程事件过程二、定义和调用事件过程二、定义和调用事件过程事事件件过过程程是是VB事事件件驱驱动动编编程程的的重重要要机机制制。当当VB中中的的某某对对象象的某个事件被触发时,便自动调用对象的事件过程进行处理。的某个事件被触发时,便自动调用对象的事件过程进行处理。定义事件过程使用的是固定格式,不需要人工书写:定义
7、事件过程使用的是固定格式,不需要人工书写:PrivateSub对象名对象名_事件名事件名(参数列表参数列表)事件响应代码事件响应代码EndSub事事件件过过程程除除了了由由系系统统自自动动来来调调用用之之外外,也也可可以以将将它它看看作作一一个个普普通通的的子子程程序序在在程程序序中中用用代代码码来来调调用用,调调用用语语法法没没有有特特殊殊之之处。如处。如:CallcmdAdd_Click函数函数三、定义和调用函数三、定义和调用函数定义定义 Private|Public Static Function 过程名过程名(参数列表参数列表).End Function过程的区别:过程的区别:函数有数
8、据类型,即返回值的类型,缺省为函数有数据类型,即返回值的类型,缺省为Variant给函数名本身赋值,即为返回值给函数名本身赋值,即为返回值如果象调用过程一样调用函数,则放弃返回值如果象调用过程一样调用函数,则放弃返回值退出子过程和函数退出子过程和函数End Sub:退出子过程:退出子过程End Function:退出函数:退出函数可以在子过程体内或函数体内任何位置使用上述可以在子过程体内或函数体内任何位置使用上述语句,用来结束子过程或函数语句,用来结束子过程或函数子过程和函数的参数子过程和函数的参数VB默认的参数是按地址传递默认的参数是按地址传递(ByRef),意味着如果过程内,意味着如果过程
9、内的参数值改变了,则调用过程时使用的变量其值也随之改的参数值改变了,则调用过程时使用的变量其值也随之改变变Sub Main()Dim x As Integerx=1 Call Test(x)x的值改变了的值改变了End SubPrivate Sub Test(num As Integer)num =num+1End Sub按值传递,则用按值传递,则用ByVal关键字,如:关键字,如:数组作为参数示例数组作为参数示例【例】编写子程序,实现在所有学生名单数组中查找【例】编写子程序,实现在所有学生名单数组中查找给定的名字,输出查找结果。给定的名字,输出查找结果。SubFind(oneAsString
10、,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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第八 章子 过程 函数
限制150内