收藏 分享(赏)

VisualBasic程序设计第八章过程-子程序和函数PPT课件.ppt

上传人:Facebook 文档编号:3835070 上传时间:2018-11-20 格式:PPT 页数:22 大小:220.50KB
下载 相关 举报
VisualBasic程序设计第八章过程-子程序和函数PPT课件.ppt_第1页
第1页 / 共22页
VisualBasic程序设计第八章过程-子程序和函数PPT课件.ppt_第2页
第2页 / 共22页
VisualBasic程序设计第八章过程-子程序和函数PPT课件.ppt_第3页
第3页 / 共22页
VisualBasic程序设计第八章过程-子程序和函数PPT课件.ppt_第4页
第4页 / 共22页
VisualBasic程序设计第八章过程-子程序和函数PPT课件.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、Visual Basic程序设计 第八章 过程 子程序和函数,楼诗风,主要内容,子程序(Sub过程) 函数(Function过程) 参数传递 过程的嵌套调用和递归调用 鼠标和键盘事件,自定义子程序,Public|Private|Static Sub ( 参数及其类型列表 )End Sub 例如:交换两个变量内容的子程序:,Public Sub Swap (x,y)dim tt=x : x=y : y=t End Sub,自定义函数,Public|Private|Static Function (参数及其类型列表 )As (内含: =) End Function 注意:函数与子程序的区别 (1)

2、函数必须有返回值,子程序没有。 (2)如果不指明函数的类型(即其返回值的类型),则其类型是变体型(Variant型) (3)函数用在表达式中,子程序不能。,子程序的调用,格式:Call (参数列表) 或者参数列表,子程序和函数的参数,形参形式参数,定义部分所使用的参数。 实参实在(实际)参数,调用时传递给子程序或函数的参数。 例如:下面的x和y是形参,a和b是实参。,定义子程序 Swap: Sub Swap (x,y)Dim tt = 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 tt = x : x = y : y = x End Sub,调用子程序 Swap:Swap a , b 交换,Swap 传址 ,x: a:,y: b:,543,21, Swap 传值,54

4、3,21,实例:,求直角三角形的斜边 Private Sub Root(ByVal a, ByVal b, c)c = Sqr(a 2 + b 2) End Sub,调用:Root 3 , 4, zPrint z 打印结果 5,c ba,自定义函数的实例,用函数求直角三角形的斜边 Public Function Hyp(x !, y !) As SingleHyp = Sqr(x 2 + y 2) End Function 调用:Print Hyp (3,4) 打印结果 5,变量与过程的作用域,在声明变量和过程时: 在什么地方声明? 过程内部 过程外部(模块的通用段) 用什么关键字? Dim

5、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,函数过程 (Function),事件过程,子程序 (Sub),

6、函数过程 (Function),子程序 (Sub),变量的作用域,过程级:在过程内部声明,使用Dim或Static关键字。只能在过程内部使用。 模块级:在模块的通用段声明,使用Dim 或Private关键字。可以在该模块的所有过程中使用。 全局:在模块的通用段声明,使用Public关键字。可以在整个应用程序中使用。如果是在窗体模块内声明,则引用时需要在变量名前面加窗体名。例如:Form1.a,变量的生存期,动态变量:声明时产生(分配内存),过程结束立即释放。用Dim声明。 静态变量:过程结束后不释放内存,其值保留。下次访问该过程时仍有效。用Static声明。,变量的作用域,过程的作用域,模块级

7、:用Private关键字声明 全局级:用Public关键字声明 在标准模块内声明:可以直接调用 在窗体模块内声明:需要在过程名前面指定对象(窗体)名。 静态(Static):该过程内所有过程级变量均为静态变量。,鼠标事件,Click 单击 DblClick 双击 MouseDown 按下 MouseUp 放开 MouseMove 移动 DragDrop 拖放 DragOver 拖过,有关问题同时发生时的先后次序事件过程中的参数 Button 区分左右键 Shift 键盘配合 X,Y 指针位置有关属性有关方法,例,MouseDown和MouseUp事件,Button参数,由按下的鼠标键决定:1左

8、键,2右键,4中键 Shift参数,由先按下的键盘键决定:1键2键4 键先按下多键时,数值相加,与鼠标有关的属性,MousePointer 指针形状 MouseIcon 自定义指针形状 当MousePointer99时的指针形状 DragMode0手工,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开始(缺省),2结束,例,DragOver事件,在拖动越过一对象时发生 参数: Source As Control,X As Single,Y As SingleSource 被拖动对象X,Y 放下时的X,Y坐标State 0进入时,1退出时,2在其中,例,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报