VB 过程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18
2019/4/19
例:两个变量的交换
Sub Swap1(ByVal x%, ByVal y%) t% = x: x = y: y = t
End Sub
Sub Swap2(x%, y%) t% = x: x = y: y = t
End Sub
Private Sub Command1_Click() a% = 10: b% = 20 Swap1 a, b ' 传值 Print A1=; a, B1=; b a = 10: b = 20 Swap2 a, b ' 传地址 Print A2=; a, B2=; b
1.
Private Sub Form_Click()
5. End Sub
2. Dim n As Integer
3. n = n + 10
4. Label1.Caption = n
5. End Sub
28
2019/4/19
静态变量(特殊的局部变量 )
声明形式:
Static 变量名 [AS类型]
过程名前加 Static ,表示该过程内的局部变量都是静 态变量。
29
Private Sub Form_Click() Static n As Integer n = n + 10 Label1.Caption = n End Sub
2019/4/19
30
2019/4/19
31
2019/4/19
32
2019/4/19
常用算法与数据结构
第九节 数据库应用
3
2019/4/19
第五节 过程
4
2019/4/19
过程的编写与调用
?过程是实现某种功能的程序段,是构成较大程序的 逻辑部件。
? 在VB 中常用的过程有两种:一种 不直接返回结果 值,叫子过程(SUB ),一种有一个返回值,叫函 数过程 (Function) 。
5
2019/4/19
医学计算机应用
1
2019/4/19
第八章 程序设计基础与应用
2
2019/4/19
Visual Basic 程序设计基础与应
第一节 VB程序设用计概述
第二节 VB程序设计基础
第三节 选择结构程序设计
第四节 循环结构程序设计
第五节 过 程
第六节 文 件
第七节 图形图像处理基础
第八节 多文档界面与菜单
返回值的特殊赋值语句。 4. 其余的跟函数并无二致。
16
2019/4/19
三 参数传递
17
2019/4/19
参数传递
指主调过程的实参传递给被调过程的形参。 传址与传值 ?传址:
形参得到的是实参的地址,当形参值改变 的同时也改变实参的值。 ? 传值: 形参得到的是实参的值,形参值的改变不 会影响实参的值。
End Sub
实参 形参
ByVal 传值
a 10
x
10
传地址
a
10
x
a 的地址
19
2019/4/19
20
2019/4/19
总结
?主调过程的实参传递给被调过程的形参 有两种形式:按值传递和按地址传递。 用ByVal 关键字指出参数是按值来传递 的。
21
2019/4/19
22
2019/4/19
23
? Dim t
Dim a, b
? t=x
a = 10
? x=y
b = 20
? y=t
Call Swap (a, b)
? End Sub b=; b
13
??????????倠楲瑮尠???
,
End Sub 2019/4/19
14
2019/4/19
自定义子过程
?Private Sub Command1_Click() End Sub Private Sub Form_Click() End Sub
26
2019/4/19
?3. 全局变量 作用域——能在这个应用程序所有模块的所 有过程中使用。 生存期——整个应用程序运行期间。
27
2019/4/19
变量的生存期
1. Dim n As Integer
2. Private Sub Form_Click()
3. n = n + 10
4.
Label1.Caption = n
2019/4/19
四 变量的作用域和生存期
24பைடு நூலகம்
2019/4/19
?变量
局部变量
动态局部变量
生存期 静态局部变量
模块级变量
全局变量
作用域
25
2019/4/19
变量的作用域 和生存期
?1. 局部变量: 作用域——只能在声明它的本过程中使用。 生存期——分为动态变量和静态变量。
?2. 模块级变量 作用域——只能在声明它的本模块中使用。 生存期——整个应用程序运行期间。
2019/4/19
2.函数过程形式 :
<限定词>Function 函数过程名 ([参数列表 ]) [As类型]
局部变量或常数定义 语句块 函数名 = 返回值
函数过程体
End Function
9
2019/4/19
例
? 显示1-1000之间的素数.要求编制函数过程, 用于判断1个整数是否是素数。
10
2019/4/19
11
2019/4/19
SUB过程的编写与调用
12
2019/4/19
变量的互换
编写一个两个数交换的过程供多次调用。引例 Swap.Vbp
Swap (x,y )子过程的定义 主调程序调用Swap 子过 程
? Public Sub Swap(x, y) Form_Click()
Private Sub
由此可知,子过程其实质就是去执行其中的 一系列语句来实现某种功能;不象函数,它 执行的目的往往是为了追求函数的返回值, 再利用此值参与运算。
15
2019/4/19
子过程与函数的区别
1. 子过程定义的关键字是 Sub 和 End Sub 2. 子过程无返回值,亦即无 【as 类型】 3. <子过程体 >内不存在类似 <函数体>中用来
静态变量在程序运行过程中可保留变量原来的值。而 用Dim说明的变量,每次调用过程时,重新初始化。 例 比较Dim和Static 两者说明了变量的区别。
Private Sub Form_Click() Dim n As Integer n = n + 10 Label1.Caption = n End Sub
函数过程( Function Procedure )
过程(Procedure )
子过程( Sub Procedure )
6
2019/4/19
过程
函数过程
子过程
7
内部函数 (如:Rnd, int )
自定义函数 内部过程 (如:Print )
自定义过程
2019/4/19
1. 函数过程的编写与调用
8