




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章函数与子程序,本章任务,内置函数时间日期函数数学函数字符串处理函数自定义过程Function过程Sub过程过程的调用调用Sub事件过程调用Sub通用过程,调用Function过程参数的传递形参和实参参数按值传递参数按地址传递数组参数可选参数可变参数对象参数递归,5.1内置函数,5.1.1时间日期函数Now():返回当前系统日期和时间Day(Now):返回当前日期WeekDay(Now):返回当前的星期Month(Now):返回当前的月份Year(Now):返回当前的年份Hour(Now):返回当前的小时Minute(Now):返回分Second(Now):返回秒时间日期函数演示,5.1内
2、置函数,5.1.2数学函数Sin(x):返回参数x的正弦值Cos(x):返回参数x的余弦值Tan(x):返回参数x的正切值Atn(x):返回参数x的反正切值Abs(x):返回参数x的绝对值Sgn(x):返回参数x的符号(负:-1;零:0;正:-1)Sqr(x):返回参数x的平方根Exp(x):返回以e为底以x为指数的幂数学函数演示,5.1内置函数,5.1.3字符串处理函数LTrim(s):去掉字符串左边的空格RTrim(s):去掉字符串右边的空格Trim(s):去掉字符串两边的空格Left(s,n):取字符串左边的n个字符Right(s,n):取字符串右边的n个字符Mid(s,p,n):从位置
3、p开始取字符串中的n个字符Len(s):返回字符串的长度String(n,s):返回由n个字符组成的字符串Space(n):返回由n个空格组成的字符串InStr(s1,s2):在字符串s1中查找字符串s2UCase(s):将小写字母转换为大写字母LCase(s):将大写字母转换为小写字母,5.2自定义过程,5.2.1Function过程Function过程的特点独立的过程,可传递参数执行一组语句并改变参数返回一个值到调用的过程,5.2自定义过程,5.2.1Function过程Function语句功能:声明Function过程的名称,参数及构成其主体的代码语法:Public|PrivateSta
4、ticFunctionname(arglist)Astypestatementsname=expressionExitFunctionstatementsname=expressionEndFunction,5.2自定义过程,5.2.1Function过程Function语句说明Public:表示所有模块的所有其它过程都可访问该Function过程Private:表示只有包含其声明的模块的其它过程可访问该Function过程Static:表示在调用之间将保留Function过程的局部变量值name:Function的名称;遵循标准的变量命名约定。arglist:代表在调用时要传递给Functi
5、on过程的参数变量列表。多个变量应用逗号隔开。type:Function过程的返回值的数据类型,可以是Byte、布尔、Integer、Long、Currency、Single、Double、Date、String(除定长)、Object、Variant或任何用户定义类型。statements:在Function过程中执行的任何语句组expression:Function的返回值ExitFunction:从Function过程中退出,5.2自定义过程,5.2.1Function过程Function语句演示p.98【例5.1】编写一个计算三角形面积的Function过程,5.2自定义过程,5.2.
6、2Sub过程Sub语句功能:声明子过程的名称、参数以及构成其主体的代码语法:Private|PublicStaticSubname(arglist)statementsExitSubstatementsEndSub,5.2自定义过程,5.2.2Sub过程Sub语句说明Public:表示所有模块的所有其它过程都可访问这个Sub过程Private:表示只有在包含其声明的模块中的其它过程可以访问该Sub过程Static:表示在调用之间保留Sub过程的局部变量的值name:Sub的名称;遵循标准的变量命名约定arglist:代表在调用时要传递给Sub过程的参数的变量列表。多个变量则用逗号隔开。stat
7、ements:Sub过程中所执行的任何语句组ExitSub:退出Sub过程,5.2自定义过程,5.2.2Sub过程事件过程特点:由VisualBasic声明,用户不能增加或删除;事件过程附加在窗体或控件上,通常处于空闲状态,当发生相应事件时自动调用事件过程窗体事件过程语法格式PrivateSubForm_(参数表)过程体语句EndSub控件事件过程语法格式PrivateSub_(参数表)过程体语句EndSub,5.2自定义过程,5.2.2Sub过程通用过程当几个不同事件过程要执行相同操作时,为了不重复编写代码,可将这段代码独立出来,编写成一个通用过程,以供事件过程调用通用过程可保存在窗体模块或
8、标准模块中通用过程不依附于任何对象,也不能由对象的事件来激活建立通用过程的方法:可直接在代码编辑窗口中输入过程代码,5.2自定义过程,5.2.2Sub过程p.101【例5.2】编写一个通用过程Reverse,将一个正整数逆序输出,例如1234输出为4321,5.3过程的调用,5.3.1调用Sub事件过程调用方式发生事件时自动调用由同一模块中的其他过程调用调用语句语法Call过程名(参数列表)过程名参数列表注意事项调用语句的参数为实际参数,简称实参,可为常量、变量、表达式和数组使用Call语句时,参数必须包含在括号内执行调用过程时,VB将控制转移至被调用过程p.102【例5.3】检查文本框中输入
9、的内容是否为数值,5.3过程的调用,5.3.2调用Sub通用过程调用方式通过语句来调用,不会自动执行p.103【例5.4】计算最大公约数,5.3过程的调用,5.3.3调用Function过程调用方式变量=函数名(参数列表)p.104【例5.5】输入三角形的三条边长,计算三角形的面积,5.4参数的传递,5.4.1形参和实参什么是形参和实参在过程定义的参数列表中出现的参数称为形式参数,简称形参在过程调用语句或表达式中出现的参数称为实际参数,简称实参;实参可以是常量、变量、表达式调用一个过程时,必须把实参传递给过程的形参,以完成形参和实参的结合,此过程称为参数的传递传递参数时,形参列表与实参列表中的
10、参数名称可以不同,但要求形参列表与实参列表中参数的个数、数据类型和位置顺序必须一一对应,5.4参数的传递,5.4.2参数按值传递和按地址传递(默认)按值传递参数:ByVal按值传递参数时,VB给传递的形参分配一个临时内存单元,并将实参的值传递到这个临时单元中实参向形参传递是单向的,如果在被调用的过程中改变了形参值,则只是临时单元的值发生变化,不会影响实参变量当被调用过程结束返回调用过程时,VB将释放给形参分配的临时内存单元,实参变量的值保持不变p.107【例5.6】按值传递参数示例,5.4参数的传递,5.4.2参数按值传递和按地址传递(默认)按地址递参数:ByRef按地址传递参数时,是将实参变
11、量的内存地址传递给形参,使形参和实参具有相同的地址,即形参和实参共享相同的存储单元若在被调用过程中改变形参的值,则相应实参的值也被改变默认的参数传递方式为按地址传递p.108【例5.7】按地址传递参数示例,5.4参数的传递,5.4.3数组参数如何定义参数在参数名后加空括号数组参数的特点使用数组参数时必须使用按地址传递,不能用ByVal修饰调用过程时,相应的参数必须是数组,可只写数组名,后面不加括号示例p.109【例5.8】传递数组参数示例,5.4参数的传递*,5.4.4可选参数与可变参数可选参数用Optional修饰参数可以对可选参数设置默认值调用过程时可以不提供相应的实参定义过程时,可选参数后面的所有其他参数也必须是可选参数可选参数示例p.112【例5.9】5.12,5.4参数的传递,5.4.4可选参数与可变参数可变参数若过程最后一个参数使用ParamArray关键字是数组,则调用该过程时可传递任意多个实参,这些参数按顺序存储于数组中ParamArray关键字不能与ByRef或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 定制合同范本
- 发行可转换债券对川投能源财务绩效的影响研究
- 多功能双层微针贴片的制备及其用于糖尿病牙周炎治疗的研究
- 儿童青少年篮球运动兴趣影响因素的模型构建及路径优化研究
- 分包转让合同范本
- 非遗题材纪录片的创作策略研究
- 制剂健康管理与患者教育平台行业深度调研及发展战略咨询报告
- 农村道路工程合同范本
- 劳动合同终止通知(16篇)
- 化学制药废水零排放技术行业跨境出海战略研究报告
- DZ∕T 0227-2010 地质岩心钻探规程(正式版)
- 2024年江西省南昌市南昌县中考物理模拟试卷
- 农贸市场消防整改报告
- 三会一课培训
- 职业培训政策课件
- 2016广东省排水管道非开挖修复工程预算定额
- 《建筑设备安装与识图》混合式教学课程规范(课程标准)
- 2024年云南省第二强制隔离戒毒所医疗卫生公务员招录1人《行政职业能力测验》模拟试卷(答案详解版)
- 《体育开学第一课:体育常规教育》课件
- 休闲体育小镇规划方案
- 海南红色拓展培训方案
评论
0/150
提交评论