Visual Basic程序设计第八章过程-子程序和函数_第1页
Visual Basic程序设计第八章过程-子程序和函数_第2页
Visual Basic程序设计第八章过程-子程序和函数_第3页
Visual Basic程序设计第八章过程-子程序和函数_第4页
Visual Basic程序设计第八章过程-子程序和函数_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论