例72使用Sub过程示例2 Private Sub Form Load Show Private Sub sub Cont( Print"VB的基本特点是:" Dim resp As String Callsub cont Do While true Print"面向对象的可视化编程" resp= Input Box("是否继续(y/m)?") Callsub cont If UCase(resp)="N"Then End Print"事件驱动的编程机制 If UCase(resp)=Y" Then Exit Do Call Sub Cont Loop Print"结构化的设计语言 End sub End sub 在事件过程 Form Load中,有三处调用Sub过程 Sub conti0
Private Sub Form_Load() Show Print "VB的基本特点是:" Call Sub_Cont Print "面向对象的可视化编程" Call Sub_Cont Print "事件驱动的编程机制" Call Sub_Cont Print "结构化的设计语言" End Sub 在事件过程Form_Load()中,有三处调用Sub过程Sub_Cont() Private Sub Sub_Cont() Dim resp As String Do While True resp = InputBox("是否继续(y/n) ? ") If UCase(resp) = "N" Then End If UCase(resp) = "Y" Then Exit Do Loop End Sub 例7.2 使用Sub过程示例2
例7.3计算5!+10! 因为计算5和10都要用到阶乘n!(m!=1×2×3×…n 所以把计算n!编成Sub过程 采用 Print直接在窗体上输出结果,程序代码: Private Sub Form Load Show Dim y As long, s As Long Call Jc(5, y) Private Sub Jc(n As Integer, tAs Long Call jc(10, y Dim iAs Integer t=1 S=S+y For i= 1 To n Print"5!+10!=";s t=t*i End Sub Next i 程序运行结果 End sub 5!+10!=3628920 注意参数n及t的调用情况
因为计算5!和10!都要用到阶乘n! (n!=1×2×3×…×n) 所以把计算n!编成Sub过程 采用Print直接在窗体上输出结果,程序代码: Private Sub Form_Load() Show Dim y As Long, s As Long Call Jc(5, y) s = y Call Jc(10, y) s = s + y Print "5! + 10! ="; s End Sub 程序运行结果: 5! + 10! = 3628920 Private Sub Jc(n As Integer, t As Long) Dim i As Integer t = 1 For i = 1 To n t = t * i Next i End Sub 注意参数n及t的调用情况 例7.3 计算5! + 10!
7.1.2 Function过程 允许用户自定义函数过程(又称 function过程) 1.定义 Function过程可返回一个值给调用程序 般语法格式: PRivate| Public static] Function函数名(参数表|As数据类型 语句块 函数名=表达式] [ Exit Function] End function 函数返回值的处理 ★
允许用户自定义函数过程(又称Function过程) 1 Function过程可返回一个值给调用程序 一般语法格式: [Private | Public | Static] Function 函数名([参数表]) [As 数据类型] [Exit Function] End Function 函数返回值的处理 7.1.2 Function过程
2. Function过程的建立 与sub过程相同 可以在“代码窗口”中直接输入来建立 Function过 程 也可以选择“工具”菜单中的“添加过程”命令来 建立 Function过程(选择“函数”类型 ★
与Sub过程相同 可以在“代码窗口”中直接输入来建立Function过 程 也可以选择“工具”菜单中的“添加过程”命令来 建立Function过程(选择“函数”类型) 2. Function过程的建立
例7.4输入三个数,求出它们的最大数 把求两个数中的大数编成 Function过程,过程名为Max 本例采用 InputBox函数输入三个数,判断出最大数后采用 Prin直接输出在窗体上。程序代码 Private Sub Form Load Show Dim a As single b As single, c As single Dim s As single Function max(m, n)As Single a=Ⅴal( nput Box("输入第一个数") If m>n Then b=Val( InputBox("输入第二个数") max =m Ⅴa( nput Box("输入第三个数") Else s= max(a, b) max =n Print"最大数是:";max(s,c) End if End sub End Function
把求两个数中的大数编成Function过程,过程名为Max 本例采用InputBox函数输入三个数,判断出最大数后采用 Print直接输出在窗体上。程序代码: Private Sub Form_Load() Show Dim a As Single, b As Single, c As Single Dim s As Single a = Val(InputBox("输入第一个数")) b = Val(InputBox("输入第二个数")) c = Val(InputBox("输入第三个数")) s = max(a, b) Print "最大数是:"; max(s, c) End Sub Function max(m, n) As Single If m > n Then max = m Else max = n End If End Function 例7.4 输入三个数,求出它们的最大数