




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、NoImageVisual Basic程序设计第八章 过程 子程序和函数楼诗风 Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.主要内容 子程序(子程序(Sub过程)过程)函数(函数(Function过程)过程)参数传递参数传递过程的嵌套调用和递归调用过程的嵌套调用和递归调用鼠标和键盘事件鼠标和键盘事件 Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.自定义子程序Public|Private|Static Sub Public|Pr
2、ivate|Static Sub ( 参数及其类型列表参数及其类型列表 ) End SubEnd Sub例如:交换两个变量内容的子程序:例如:交换两个变量内容的子程序: Public Sub Swap (x,y)Public Sub Swap (x,y) dim t dim t t=x : x=y : y=tt=x : x=y : y=tEnd SubEnd Sub Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.自定义函数Public|Private|Static Function Public|Private
3、|Static Function ( 参数及其类型列表参数及其类型列表 )As As ( (内含内含: : = ) )End Function End Function 注意:函数与子程序的区别注意:函数与子程序的区别(1 1)函数必须有返回值,子程序没有。)函数必须有返回值,子程序没有。(2 2)如果不指明函数的类型(即其返回值的类型),)如果不指明函数的类型(即其返回值的类型), 则其类型是变体型(则其类型是变体型(VariantVariant型)型) (3 3)函数用在表达式中,子程序不能。)函数用在表达式中,子程序不能。 Visual BASIC 程序设计 万 博 科 技 职 业 学
4、院Wanbo Inst. Of Since & Tech.子程序的调用格式:Call (参数列表参数列表)或者 参数列表参数列表 Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.子程序和函数的参数形参形式参数,定义部分所使用的参数。实参实在(实际)参数,调用时传递给子程序或函数的参数。例如:下面的x和y是形参,a和b是实参。定义子程序 Swap:Sub Swap (x,y) Dim t t = x : x = y : y = xEnd Sub调用子程序 Swap: . Swap a , b 交换 . Vi
5、sual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.参数的传递方式在子程序或函数的调用过程中,实参内容传递给相应的形参可以有两种方式:传址和传值传址(ByRef) :将实参地址传给形参。传值(ByVal) :将实参的值传给形参。区别:传址时,形参与实参是同一个内存区域,因而实参随形参的改变而改变。传值时,形参被单独分配内存并获得实参的值,因而形参的改变并不改变实参的值。 Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.传值和传址的区别形参
6、x 实参a:形参 y 实参 b:54321定义子程序 Swap:Sub Swap (x,y) Dim t t = x : x = y : y = xEnd Sub调用子程序 Swap: . Swap a , b 交换 .Swap 传址传址 x: a:y: b:54321 Swap 传值传值54321 Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.实例:求直角三角形的斜边Private Sub Root(ByVal a, ByVal b, c) c = Sqr(a 2 + b 2)End Sub调用: Root
7、3 , 4, z Print z打印结果 5 c ba Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.自定义函数的实例用函数求直角三角形的斜边Public Function Hyp(x !, y !) As Single Hyp = Sqr(x 2 + y 2)End Function调用: Print Hyp (3,4) 打印结果 5 Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.变量与过程的作用域变量与过程的作用域在声明变量
8、和过程时:v在什么地方声明? 过程内部 过程外部(模块的通用段)v用什么关键字? Dim Static Private Public变量的作用域v过程级v模块级v全局变量过程的作用域v模块级v全局级Static:作用? Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.变量声明格式:Dim|Public|Private|Static Dim|Public|Private|Static as as 有效范围:过程模块全局(公用)隐式声明和显式声明:Option Explicit组合声明:例: dim i as int
9、eger, j as single, s as string或: dim i%, j!, s$ Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.VB应用程序的组成VB应用程序 .vbp窗体模块 .frm标准模块 .bas类模块 .cls函数过程(Function)事件过程子程序(Sub)函数过程(Function)子程序(Sub) Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.变量的作用域过程级:在过程内部声明,使用Dim或Sta
10、tic关键字。只能在过程内部使用。模块级:在模块的通用段声明,使用Dim 或Private关键字。可以在该模块的所有过程中使用。全局:在模块的通用段声明,使用Public关键字。可以在整个应用程序中使用。如果是在窗体模块内声明,则引用时需要在变量名前面加窗体名。例如:Form1.a Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.变量的生存期动态变量:声明时产生(分配内存),过程结束立即释放。用Dim声明。静态变量:过程结束后不释放内存,其值保留。下次访问该过程时仍有效。用Static声明。 Visual BAS
11、IC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.变量的作用域作用域:过程级模块级全局变量窗体标准模块声明方式DimStaticDimPrivatePublic声明在:过程内模块的通用声明段本模块其他过程:不能用能用其他模块:不能用能用,但要加窗体名.能用 Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.过程的作用域模块级:用Private关键字声明全局级:用Public关键字声明v在标准模块内声明:可以直接调用v在窗体模块内声明:需要在过程名前面指定对
12、象(窗体)名。静态(Static):该过程内所有过程级变量均为静态变量。 Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.鼠标事件Click单击DblClick 双击MouseDown按下MouseUp 放开MouseMove移动DragDrop拖放DragOver拖过有关问题同时发生时的先后次序事件过程中的参数Button区分左右键Shift键盘配合X,Y指针位置有关属性有关方法 Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.M
13、ouseDown和MouseUp事件Button参数,由按下的鼠标键决定:1左键,2右键,4中键Shift参数,由先按下的键盘键决定:1键2键4 键先按下多键时,数值相加 Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.与鼠标有关的属性MousePointer 指针形状MouseIcon 自定义指针形状当MousePointer99时的指针形状DragModev 0手工,1自动v自动:可以拖动,此时Click事件和 MouseDown事件失效v手工:需编程(用Drag方法)才能拖动 Visual BASIC 程序设计 万 博 科 技 职 业 学 院Wanbo Inst. Of Since & Tech.DragDrop事件发生在目标对象,而不是被拖动对象上参数:Source As Control,X As Single,Y As SingleSource 被拖动对象X,Y 放下时的X,Y坐标有关属性v DragMode: 0手工,1自动v DragIcon:拖动时的图标D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国热图和会话记录软件行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国灭火器行业市场发展分析及发展趋势与投资研究报告
- 2025-2030中国潜水员水中推进器(DPV)行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国混合语音识别系统行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国消泡剂行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国水下调制解调器行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国气囊开启阀行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国椰子饮料行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国棉毯行业市场深度调研及发展趋势与投资战略研究报告
- 2025-2030中国机器人流程自动化(RPA)行业市场发展分析及前景趋势与投资研究报告
- 2024年世界职业院校技能大赛高职组“市政管线(道)数字化施工组”赛项考试题库
- 桩基及基坑支护工程技术施工方案(三篇)
- 司法考试2024年知识点背诵版-民法
- 2024年耐磨铸件项目规划申请报告样文
- 重度哮喘诊断与处理中国专家共识(2024)解读
- 新能源汽车电控系统的新型传感器应用考核试卷
- 苏教版数学一年级下学期期中测试卷10套及但
- 2024年全国职业院校技能大赛高职组(法律实务赛项)考试题库(含答案)
- 全过程工程咨询管理服务方案投标方案(技术方案)
- 中铁十五局集团安全质量部管理制度大全
- 2024老年烧创伤创面MEEK植皮技术规范
评论
0/150
提交评论