电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

过程是vb的基本组成单位

50页
  • 卖家[上传人]:kms****20
  • 文档编号:57135968
  • 上传时间:2018-10-19
  • 文档格式:PPT
  • 文档大小:221KB
  • / 50 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第六章 过程,过程是VB的基本组成单位,一些复杂的任务可以分解成为基本的过程来负责完成!,过程的作用,当需解决的问题规模较大、复杂时,可以按功能细分成一个一个小的功能模块,这样的小程序段,在VB中被称为过程; 过程是VB程序的基本组成单位。,过程的分类,VB过程分为子过程(Sub)、函数过程(Function)、属性过程(Property)三种。 本书我们主要学习子过程和函数过程。 考试时,要严格区分子过程和函数过程的用法。,引例,6.1 定义Sub子过程,我们早就使用过子过程,因为在VB中每一个事件过程都是子过程; VB程序是从某个事件过程首先驱动开始的。 本章主要学习用户自定义子过程的定义方法。,6.1.1 事件过程,Private Sub 对象名_事件名(参数列表) 局部变量和常量的声明 语句块 Exit Sub 语句块 End Sub 事件过程原型用户不能改变; 事件过程是私有的,6.1.2 通用子过程(用户自定义过程),Private|Public Static Sub 过程名(形参列表) 局部变量和常量的声明 语句块 Exit Sub 语句块 End Sub 通用子过程的作

      2、用在于将重复出现的程序段或功能较复杂的程序段独立或细分出来的小的程序段,即为通过子过程。,6.1.2 通用子过程(用户自定义),子过程定义说明: 1)子过程以Sub开始,End Sub结束,中间可以利用Exit Sub中途退出过程; 2)以Private定义的子过程是私有的,只允许本模块内的过程调用;用Public定义的子过程是公有的,允许被整个工程中的任意过程调用;系统缺省为Public; 3)Static表示静态“局部”变量,变量一经定义,在整个程序运行期间不会被重新初始化,不能使用在“通用”-“声明”字段中;,6.1.2 通用子过程(用户自定义),4)过程名的命名规则与变量名一样,即第一个字符必须是字母或汉字,后面由字母、汉字、数字或下划线组成,不能使用VB中的关键字;过程名不要重名; 5)形参列表:这个列表的功能再于接收必要的数据信息,建立与主调程序之间的关系;参数的个数可以为零个、1个甚至多个;参数间用逗号分隔;括号不可省略; 6)形参列表的形式: (ByVal a As Integer, ByRef b As Integer),6.1.2 通用子过程(用户自定义),7)En

      3、d Sub标志Sub过程执行结束,程序将返回调用该Sub过程的语句处继续执行; 8)过程不能嵌套定义。 Private Sub Command1_Click() Call P() End Sub,Private Sub () Print “输出结果为:” End Sub,6.1.2 通用子过程(用户自定义),Sub子过程的建立方法 1)利用命令建立(不常用) 进行“代码窗口”; 执行“工具”菜单中的“添加过程”命令; 在出现的对话框中进行设置。,6.1.2 通用子过程(用户自定义),Sub子过程的建立方法 2)直接在代码窗口中生成 进行“代码窗口”; 选择“通用”-“声明”,光标停留在所有过程外面的空白行处; 按Sub子过程的定义规则输入Private Sub 过程名(参数) 按回车键,即可创建一个空的Sub子过程。,6.1.2 通用子过程(用户自定义),Sub子过程的过程体代码: 子过程的功能主要是在过程体内完成的,过程名主要是为找到这个过程而提供路线的; 子过程的代码和事件过程的代码类似;如: Private Sub Change(x1 As Integer,x2 As Integ

      4、er) Dim Temp As Integer Temp = x1 x1 = x2 x2 = Temp End Sub,6.2 定义Function过程,Function过程又称函数过程; 在第三章中,我们学习了大量的VB系统函数,这些函数用户只可以使用,不可以修改; VB提供的Function过程,就是让用户可以自己创建特殊功能的函数,用户自定义函数。,6.2 定义Function过程,定义Function过程的形式如下: Private|PublicStatic Function 函数名(参数列表)As 数据类型 局部变量和常数声明 语句块 函数名=表达式 Exit Function 语句块 函数名=表达式 End Function,6.2 定义Function过程,定义Function过程说明: 1)Function过程以Function语句开头,以End Function结束;中间代码部分为函数体; 2)函数名有返回值,其值类型由As 数据类型指定; 3)函数名不同于子过程名,在VB中,为函数名赋予了存储值的功能,而过程名不可以,所以函数体内一般都会至少为函数名赋值一次;如果不

      5、赋值,函数返回值默认为0或空; 4)函数中途可以利用Exit Function退出。,6.2 定义Function过程,例如,求n! Private Function fac%(ByVal n As Integer) Dim i As Integer If n0 Then fac = -1:Exit Function Else fac = 1 For i = 1 To n fac = fac*i Next i End If End Function,6.2 定义Function过程,例如,求gcd(m, n)最大公约数 Private Function gcd%(ByVal m%,ByVal n%) Dim r%,t% If m0 m = n n = r r = m Mod n Loop gcd = n End Function,Private Sub Change(x1%, x2%) Dim Temp As Integer Temp = x1 x1 = x2 x2 = Temp End Sub,6.3 过程调用,除了事件过程是由使用者发出动作触发外,多数过程都是要间接的由事件过程或其

      6、他过程调用才能够使用。,6.3.2 Sub过程调用,Sub子过程调用方法: 1)用Call语句调用Sub过程 Call 过程名(实参表) 说明:过程名为被调用过程的名字;实参与形参是对应的,个数、类型一一对应;在过程定义的列表中为形参,在调用时,为实参;实参可以是具体的值、或有值的变量、属性,而形参则是负责接收实参值的。 2)直接将过程写成语句形式: 过程名 实参表 说明:这种调用形式,不用加Call;同时要将实参表的括号去掉并与过程名之间加一个空格。,6.3.2 Sub过程调用,编写一个子过程,打印杨辉三角形。,Private Sub YH(n As Integer) Dim a() As Integer, i%, j% Redim a(1 To n, 1 To n) For i = 1 To n For j = 1 To i If j=1 Or i=j Then a(i,j) = 1 Else a(i,j) = a(i-1,j)+a(i-1,j-1) End If Print Tab(6*j-Len(Cstr(a(i,j)+1);a(i,j); Next j Print Next

      7、i End Sub,6.3.3 调用Function过程,调用Function过程的方法比较简单,与VB内部函数的调用方法一样,即在表达式中写出它的名称和相应的参数; v = 函数名(实参列表) Print 函数名(实参列表) 当然也可以用Call语句形式,此时将放弃函数名返回值的功能,功能与子过程一致,6.3.4 调用其他模块中的过程,当一个过程可以被其他模块调用时,首先要求这个过程为Public公有的。 1)调用窗体模块中的公有过程 Call 窗体名.子过程名(实参表) 2)调用标准模块中的公有过程,在没有重名的前提下,可直接调用: Call 子过程名(实参表) 否则,Call Module1.子过程名(实参表),例题,编写一个求任意三角形面积的函数,Private Function Area!(a!, b!, c!) Dim t! t = (a+b+c)/2 Area = Sqr(t*(t-a)*(t-b)*(t-c) End Function,例题,编写一个求任意三角形面积的子过程,Private Sub Area (a!, b!, c!, s!) Dim z! z = (a+

      8、b+c)/2 s = Sqr(z*(z-a)*(z-b)*(z-c) End Sub,6.4.1 形参与实参,形参:置于过程定义时,参数列表中的变量或数组;在过程被调用前,系统不对其分配空间; 实参:当程序中想调用某过程时,所提供的实际值; 当实参和形参结合的时候,形参才被分配空间,接收由实参传递过来的值; 形参、实参个数、类型、位置要一致。,6.4.1 形参与实参,常见的错误 Private Sub F1(a%,b%) . End Sub Private Sub Command1_Click() Dim x!,y! x = 3.14:y = 123 Call F1(x,y) Call F1(x) End Sub,6.4.23 参数传递方式,传值(ByVal) 传址(ByRef或省略默认) 区别1:形参定义前面放的关键字不一样; 区别2:形参接收到的值不一样; 区别3:形参对实参的影响不一样,6.4.23 参数传递方式,例如:(两个数的交换) Private Sub Exchange(ByVal a%, ByVal b%) Dim t% t = a a = b b = t Print

      9、a,b End Sub,Private Sub Command1_Click() Dim x%,y% x = 12 y = 21 Call Exchange(x,y) Print “主过程中:“;x,y End Sub,6.4.23 参数传递方式,说明: 形参前加ByVal时表示传值 不加或加ByRef时表示传址 传值是单方向的 传址是“双方向的”,6.4.23 参数传递方式,Private sub add(x as integer, y as integer, z as integer) z=x+y x=x+1 y=y+1 print “子过程中” & x & y & z End sub Private sub Form_Click() dim a as integer, b as integer, c as integer a=3:b=2:c=1 add a, b, c 或者写成Call add(a,b,c) print “外部过程中” & a & b & c End sub,6.4.23 参数传递方式,Private sub add( ByVal x as integer, ByVal y as integer, ByVal z as integer) z=x+y x=x+1 y=y+1 print “子过程中” & x & y & z End sub Private sub Form_Click() dim a as integer, b as integer, c as integer a=3:b=2:c=1 add a, b, c print “外部过程中” & a & b & c End sub,6.4.23 参数传递方式,下列程序运行后,单击Command1结果为: Private Sub Command1_Click( ) a = 10:b = 20 Call xy1(a, b) Print a,b xy2 a, b Print a,b End Sub,Public Sub xy1(x, ByVal y) x = x+y y = x-y x = x-y End Sub Public Sub xy2(ByVal x, y) x = x+y y = x-y x = x-y End sub,

      《过程是vb的基本组成单位》由会员kms****20分享,可在线阅读,更多相关《过程是vb的基本组成单位》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.