




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Visual Basic程序设计第八章 过程 子程序和函数,楼诗风,主要内容,子程序(Sub过程) 函数(Function过程) 参数传递 过程的嵌套调用和递归调用 鼠标和键盘事件,自定义子程序,Public|Private|Static Sub ( 参数及其类型列表 ) End Sub 例如:交换两个变量内容的子程序:,Public Sub Swap (x,y) dim t t=x : x=y : y=t End Sub,自定义函数,Public|Private|Static Function (参数及其类型列表 )As (内含: =) End Function 注意:函数与子程序的区别 (
2、1)函数必须有返回值,子程序没有。 (2)如果不指明函数的类型(即其返回值的类型), 则其类型是变体型(Variant型) (3)函数用在表达式中,子程序不能。,子程序的调用,格式: Call (参数列表) 或者 参数列表,子程序和函数的参数,形参形式参数,定义部分所使用的参数。 实参实在(实际)参数,调用时传递给子程序或函数的参数。 例如:下面的x和y是形参,a和b是实参。,定义子程序 Swap: Sub Swap (x,y) Dim t t = x : x = y : y = x End Sub,调用子程序 Swap: . Swap a , b 交换 .,参数的传递方式,在子程序或函数的调
3、用过程中,实参内容传递给相应的形参可以有两种方式:传址和传值 传址(ByRef) :将实参地址传给形参。 传值(ByVal) :将实参的值传给形参。 区别: 传址时,形参与实参是同一个内存区域,因而实参随形参的改变而改变。 传值时,形参被单独分配内存并获得实参的值,因而形参的改变并不改变实参的值。,传值和传址的区别,形参 x 实参a:,形参 y 实参 b:,543,21,定义子程序 Swap: Sub Swap (x,y) Dim t t = x : x = y : y = x End Sub,调用子程序 Swap: . Swap a , b 交换 .,Swap 传址 ,x: a:,y: b:
4、,543,21, Swap 传值,543,21,实例:,求直角三角形的斜边 Private Sub Root(ByVal a, ByVal b, c) c = Sqr(a 2 + b 2) End Sub,调用: Root 3 , 4, z Print z打印结果 5,c b a,自定义函数的实例,用函数求直角三角形的斜边 Public Function Hyp(x !, y !) As Single Hyp = Sqr(x 2 + y 2) End Function 调用: Print Hyp (3,4) 打印结果 5,变量与过程的作用域,在声明变量和过程时: 在什么地方声明? 过程内部 过
5、程外部(模块的通用段) 用什么关键字? Dim Static Private Public,变量的作用域 过程级 模块级 全局变量 过程的作用域 模块级 全局级 Static:作用?,变量声明,格式: Dim|Public|Private|Static as 有效范围:过程模块全局(公用) 隐式声明和显式声明:Option Explicit 组合声明: 例: dim i as integer, j as single, s as string 或: dim i%, j!, s$,VB应用程序的组成,VB应用程序 .vbp,窗体模块 .frm,标准模块 .bas,类模块 .cls,函数过程 (F
6、unction),事件过程,子程序 (Sub),函数过程 (Function),子程序 (Sub),变量的作用域,过程级:在过程内部声明,使用Dim或Static关键字。只能在过程内部使用。 模块级:在模块的通用段声明,使用Dim 或Private关键字。可以在该模块的所有过程中使用。 全局:在模块的通用段声明,使用Public关键字。可以在整个应用程序中使用。如果是在窗体模块内声明,则引用时需要在变量名前面加窗体名。例如:Form1.a,变量的生存期,动态变量:声明时产生(分配内存),过程结束立即释放。用Dim声明。 静态变量:过程结束后不释放内存,其值保留。下次访问该过程时仍有效。用Sta
7、tic声明。,变量的作用域,过程的作用域,模块级:用Private关键字声明 全局级:用Public关键字声明 在标准模块内声明:可以直接调用 在窗体模块内声明:需要在过程名前面指定对象(窗体)名。 静态(Static):该过程内所有过程级变量均为静态变量。,鼠标事件,Click单击 DblClick双击 MouseDown按下 MouseUp放开 MouseMove移动 DragDrop拖放 DragOver拖过,有关问题 同时发生时的先后次序 事件过程中的参数 Button区分左右键 Shift键盘配合 X,Y指针位置 有关属性 有关方法,例,MouseDown和MouseUp事件,But
8、ton参数,由按下的鼠标键决定: 1左键,2右键,4中键 Shift参数,由先按下的键盘键决定: 1键 2键 4 键 先按下多键时,数值相加,与鼠标有关的属性,MousePointer指针形状 MouseIcon 自定义指针形状当MousePointer99时的指针形状 DragMode 0手工,1自动 自动:可以拖动,此时Click事件和 MouseDown事件失效 手工:需编程(用Drag方法)才能拖动,DragDrop事件,发生在目标对象,而不是被拖动对象上 参数:Source As Control,X As Single,Y As Single Source 被拖动对象 X,Y 放下时的X,Y坐标 有关属性 DragMode: 0手工,1自动 DragIcon:拖动时的图标 Drag方法:Drag Action Action:0取消,1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 弹簧质检员岗位面试问题及答案
- 江西省南昌市安义中学2025届高一化学第二学期期末调研模拟试题含解析
- 福建省东山县第二中学2025届化学高二下期末联考试题含解析
- 校外培训用户管理办法
- 极端气候预警管理办法
- 冲击地压防治管理办法
- 作战数据存储管理办法
- 河南省核查员管理办法
- 兵棋推演中的智能决策技术:基于大语言模型的探索与应用
- 星级管理办法举措建议
- 企业消防安全责任制模板
- 2025届黑龙江省哈尔滨四十七中学七年级英语第二学期期末统考试题含答案
- 人工智能通识课程开课方案
- 2025-2030中国智慧政务行业发展策略及投资潜力预测报告
- 【中考真题】2025年福建中考数学真题试卷(含解析)
- 2025年四川省宜宾市中考数学真题试卷及答案解析
- 2025年时事政治考试题及答案(300题)
- 杨浦区“十五五”规划纲要及专项规划编制工作方案
- 2025年中国氧化镁项目投资计划书
- T/CIE 186-2023业务研发安全运营一体化能力成熟度模型
- 2025届内蒙古自治区呼和浩特市七年级数学第二学期期末检测试题含解析
评论
0/150
提交评论