Print Tab(8) “打印位置定位 Fo I TO Print arr(i, j) Print 换行 Print Print"矩阵中最大值为:";arr(row,col);"其位置在第”&row&"行"&col&"列" End sub 第6章 课前体验 (2)编写窗体装载事件过程 Private Sub Form Load For I=0 To 100 ddltem i End Sub (3)使用“添加过程”对话框创建出判断成绩等级的过程 Public Sub Dengi(a As Int To Labell Caption="不及格 Case 60 To 69 Labell Caption="及格" Case 70 To 79 Labell Caption="中等 Case 80 To 89 Labell Caption="良好 Case 90 To 100 Labell Caption="优秀 End Select End sub 4)编写列表框单击 Click事件过程: Private Sub ListI Click Dim n As Integer N=Val(ListI Text Call Dengji(n)'调用判断成绩等级的过程 End sub (5)编写命令按钮单击 Click事件过程 Private Sub c dl click( End sub 11
11 For i = 1 To n Print Tab(8); ‘打印位置定位 For j = 1 To m Print arr(i, j); Next j Print ‘换行 Next i Print Print "矩阵中最大值为:";arr(row, col); "其位置在第" & row & "行" & col & "列" End Sub 第 6 章 课前体验 (2)编写窗体装载事件过程: Private Sub Form_Load() For I = 0 To 100 List1.AddItem i Next i End Sub (3)使用“添加过程”对话框创建出判断成绩等级的过程 Public Sub DengJi(a As Integer) Select Case a Case 0 To 59 Label1.Caption = "不及格" Case 60 To 69 Label1.Caption = "及格" Case 70 To 79 Label1.Caption = "中等" Case 80 To 89 Label1.Caption = "良好" Case 90 To 100 Label1.Caption = "优秀" End Select End Sub 4)编写列表框单击 Click 事件过程: Private Sub List1_Click() Dim n As Integer N = Val(List1.Text) Call DengJi(n) '调用判断成绩等级的过程 End Sub (5)编写命令按钮单击 Click 事件过程: Private Sub Command1_Click() End End Sub
【例6-1】 Private Sub oushu(x As Integer, msg As boolean) Ifx Mod 2=0 Then End If End Sub 【例6-2】 Public Function Rect(a As Double b As Double )As double End Function 【例6-3】 (2)在窗体代码窗口中编写 pingjun过程 Sub pingjun(a As Integer, b As Integer, c As Integer) (3)编写命令按钮1的单击事件过程: Dim x As Integer, y As Integer, z As Integer ⅹ=val(extl.Text) all pingjun(x,y, z) nd sub 【例6-4】 (2)把判断奇偶性的函数过程jo的程序代码输入到窗体代码窗口中。 Function jo(x As Integer )As String Ifx mod 2=0 Then "偶数 Jo="奇数 End Function (3)编写命令按钮1的单击事件过程: Private Sub Commandl Click Dim Labell Caption=Text1. Text &")"& w&
12 【例 6-1】 Private Sub oushu(x As Integer,msg As Boolean) If x Mod 2 = 0 Then Msg = True Else Msg = False End If End Sub 【例 6-2】 Public Function Rect(a As Double,b As Double)As Double Rect = a * b End Function 【例 6-3】 (2)在窗体代码窗口中编写 pingjun 过程: Sub pingjun(a As Integer,b As Integer,c As Integer) C = (a+b)/2 End Sub (3)编写命令按钮 1 的单击事件过程: Private Sub Command1_Click() Dim x As Integer,y As Integer,z As Integer X = Val(Text1.Text) Y = Val(Text2.Text) Call pingjun(x,y,z) '或 pingjun x, y, z Text3.Text = Str(z) End Sub 【例 6-4】 (2)把判断奇偶性的函数过程 jo 的程序代码输入到窗体代码窗口中。 Function jo(x As Integer)As String If x Mod 2 = 0 Then Jo = "偶数" Else Jo = "奇数" End If End Function (3)编写命令按钮 1 的单击事件过程: Private Sub Command1_Click() Dim n As Integer,w As String n=Val(Text1.Text) w = jo(n) Label1.Caption=Text1.Text &"是"& w &"!" End Sub
【例6-5】 (2)编写参数按地址传递次的过程 Swap Sub Swapl(x As String,y As String) (3)编写命令按钮单击事件过程如下: Private Sub Command1 Click Dim a As String, b As String Forml Caption="按地址传递 Text2 Text = b 【例6-7】 (2)求任意一维数组中各元素之积的函数如下 Function tt(ao As Integer) As Long'函数的形参是数组 ForI= LBound(a) To UBound(a)求数组的下界和上界 End Function (3)求任意一维数组中各元素之和的函数如下: Function ss(bo As Integer )As Long'函数的形参是数组 Dim饼 FOrI= LBound(b) To Ubound(b)求数组的下界和上界 S=S+b( Next i End Function (4)编写命令按钮单击事件过程,如下: Private Sub Commandl Click Dim a(1 To 5)As Integer Dim b(2 To 10)As Integer Dim i As Integer, tl As Long, sI As Long To5'给数组赋值 a()=i+3 Next i tl=t(aO)‘调用函数
13 【例 6-5】 (2)编写参数按地址传递次的过程 Swap1: Sub Swap1(x As String,y As String) Dim t As String T = x:x = y:y = t End Sub (3)编写命令按钮单击事件过程如下: Private Sub Command1_Click() Dim a As String,b As String A = Text1.Text B = Text2.Text Form1.Caption = "按地址传递" Swap1 a,b Text1.Text = a Text2.Text = b End Sub 【例 6-7】 (2)求任意一维数组中各元素之积的函数如下: Function tt(a() As Integer)As Long '函数的形参是数组 Dim t#, i% T = 1 For I = LBound(a) To UBound(a) '求数组的下界和上界 T = t * a(i) Next i Tt = t End Function (3)求任意一维数组中各元素之和的函数如下: Function ss(b() As Integer)As Long '函数的形参是数组 Dim t#, i% S = 0 For I = LBound(b) To UBound(b) '求数组的下界和上界 S = s+b(i) Next i Ss = s End Function (4)编写命令按钮单击事件过程,如下: Private Sub Command1_Click() Dim a(1 To 5)As Integer Dim b(2 To 10)As Integer Dim i As Integer,t1 As Long,s1 As Long For I = 1 To 5 '给数组赋值 a(i) = i + 3 Next i t1 = tt(a()) '调用函数
Pin"第一个数组各元素之积t=";tl Next i sl=ss(b0) Print"第二个数组各元素之和sl=";sl End Sub (1)先定义一个具有可选参数的函数过程sum,用来进行3个数的加法运算。 Private Function sum(x As Integer, Optional y As Integer, Optional z As Integer)As Integer Sum=x+y+z d function (2)编写窗体的单击事件过程,如下: Private Sub Form Click Prnt"sum(1)=1+0+3=";sum(1) 省略两个参数 Print"sum(1,2)=1+2+3="sum(1,2)'省略第3个参数 Print"sum(1,8)=1+0+8=";sum(1,8)‘省略第2个参数 Prnt"sum(1,4,8)=1+4+8=";um(1,4,8)‘不省略参数 End sul 【例6-9】 (1)先定义一个具有可变参数的函数过程 MySum,如下 Function My Sum( ParamArray VAO As Integer'声明为可变参数 Dim i As Integer Fori= LBound(vA) To Ubound(VA)·得到数组的大小,并进行循环 Sum= Sum+ VA(i) End Function (2)编写窗体的单击事件过程,如下 Private Sub Form Click Dim s as Integer Print Tab(2,"使用3个实参:" S= MySum(2,46)可以使用任意多个实参来调用 Print"MySum(2, 4, 6)=, Print Tab(2;"使用5个实参: Print"My Sum(1, 2, 3, 4,5 d sub
14 Print"第一个数组各元素之积 t1="; t1 For I = 2 To 10 b(i) = i * 2 Next i s1 = ss(b()) Print"第二个数组各元素之和 s1="; s1 End Sub 【例 6-8】 (1)先定义一个具有可选参数的函数过程 sum,用来进行 3 个数的加法运算。 Private Function sum(x As Integer,Optional y As Integer,_ Optional z As Integer=3)As Integer Sum = x + y + z End Function (2)编写窗体的单击事件过程,如下: Private Sub Form_Click() Print"sum(1) = 1 + 0 + 3 = ";sum(1) '省略两个参数 Print"sum(1,2) = 1 + 2 + 3 = ";sum(1,2) '省略第 3 个参数 Print"sum(1,,8) = 1 + 0 + 8 = ";sum(1,,8) '省略第 2 个参数 Print"sum(1,4,8) = 1 + 4 + 8 =";sum(1,4,8) '不省略参数 End Sub 【例 6-9】 (1)先定义一个具有可变参数的函数过程 MySum,如下: Function MySum(ParamArray VA()) As Integer '声明为可变参数 Dim i As Integer Dim Sum As Integer Sum = 0 For i=LBound(VA) To UBound(VA) '得到数组的大小,并进行循环 Sum = Sum+VA(i) Next MySum = Sum End Function (2)编写窗体的单击事件过程,如下: Private Sub Form_Click() Dim s As Integer Print Print Tab(2); "使用 3 个实参:"; S = MySum(2,4,6) ' 可以使用任意多个实参来调用 Print "MySum(2,4,6)="; s Print Print Tab(2); "使用 5 个实参:"; S = MySum(1,2,3,4,5) Print "MySum(1,2,3,4,5)=";s End Sub
【例6-10】 (1)定义具有窗体参数的过程,如下: Private Sub BiaoTi(fm As Form) fm为窗体对象参数 Text1. Text="窗体的标题是"& fm. Captio End Sub 调用过程BaoT会改变窗体对象fm中的文本框 Text1的文本 (2)定义具有控件对象参数的过程,如下: Private Sub Kuan du( tb as TextBox)'tb为文本框型的控件对象参数 tb.Text="文本框的宽度是"& tb width End Sub 调用过程 Kuan du会改变文本框对象tb的文本。 (3)编写按钮的单击事件过程,用来调用具有对象参数的过程。 Private Sub Commandl Click Call Biao Ti(Form1) End Sub Private Sub Command2 Click Call Kuan Du(TextI) End Sub 【例6-11】 Function As Integer)As Long Fac= I Else Fac=n* fac(n-1) End If 【例6-12】 Private Sub Command1 c Dim a As Integer b As 过程级变量 A=100:b=8 Print Pin!"调用sl前,事件过程中的变量:,"a="a,"b="b Cals1‘调用通用过程subl Print Print"调用sl后,事件过程中的变量:";"a="a"b="b End Sub Subs10通用过程 Dim a As Integer, b As Integer 程级变量 A=55b=66 Print Prit"通用过程sl中的变量";"a="a"b="b nd Sub
15 【例 6-10】 (1)定义具有窗体参数的过程,如下: Private Sub BiaoTi(fm As Form) 'fm 为窗体对象参数 Text1.Text = "窗体的标题是"& fm.Caption End Sub 调用过程 BiaoTi 会改变窗体对象 fm 中的文本框 Text1 的文本。 (2)定义具有控件对象参数的过程,如下: Private Sub KuanDu(tb As TextBox) 'tb 为文本框型的控件对象参数 tb.Text = "文本框的宽度是"& tb.Width End Sub 调用过程 KuanDu 会改变文本框对象 tb 的文本。 (3)编写按钮的单击事件过程,用来调用具有对象参数的过程。 Private Sub Command1_Click() Call BiaoTi(Form1) End Sub Private Sub Command2_Click() Call KuanDu(Text1) End Sub 【例 6-11】 Function fac(n As Integer) As Long If n = 1 Then Fac = 1 Else Fac = n * fac(n - 1) End If End Function 【例 6-12】 Private Sub Command1_Click() Dim a As Integer,b As Integer '过程级变量 A = 100:b = 8 Print Print"调用 s1 前,事件过程中的变量:";"a=";a;"b=";b Call s1 '调用通用过程 sub1 Print Print" 调用 s1 后,事件过程中的变量:";"a=";a;"b=";b End Sub Sub s1() '通用过程 Dim a As Integer,b As Integer '过程级变量 A = 55:b = 66 Print Print"通用过程 s1 中的变量:";"a=";a;"b=";b End Sub