Text. FontName="黑体 End If Text1. FontSize =8 ext FontS ize=10 End If End Sub Private Sub Command2 Click End Sub 【例45】 Private Sub Form Load 在窗体的Load事件中输入列表框的各个项目 IstBooks AddItem"计算机应用基础 IstBooks additem"操作系统 IstBooks AddItem"数据结构 Books. additem"网络技术基础 End sub Private Sub cmdAdd click 单击添加命令按钮时将文本框中输入的内容添加到列表框中 IstBooks AddItem txtltem Private Sub cmdDelete Click 删除列表框中选中的项目 IstBooks Removeltem IstBooks ListIndex End sub Private Sub cmdModify Click 所选项目显示在文本框中,等待修改 txtltem. Text IstBooks . Text cmdAdd Enabled False cmd Delete. Enabled False cmdModify. Enabled=False cmdModify OK Enabled =True End sub Private Sub cmdModify OK Click 所选项目显示在文本框中修改完成后,按下修改确定按钮,更新列表框内容 bOoks List(lstBooks. ListIndex)=txtltem cmdModify oK Enabled=True 6
6 Text1.FontName = "黑体" End If If Option3 Then Text1.FontSize = 8 Else Text1.FontSize = 10 End If End Sub Private Sub Command2_Click() End End Sub 【例 4-5】 Private Sub Form_Load() ‘在窗体的 Load 事件中输入列表框的各个项目 lstBooks.AddItem "计算机应用基础" lstBooks.AddItem "操作系统" lstBooks.AddItem "数据结构" lstBooks.AddItem "网络技术基础" End Sub Private Sub cmdAdd_Click() ‘单击添加命令按钮时将文本框中输入的内容添加到列表框中 lstBooks.AddItem txtItem txtItem = "" End Sub Private Sub cmdDelete_Click() ‘删除列表框中选中的项目 lstBooks.RemoveItem lstBooks.ListIndex End Sub Private Sub cmdModify_Click() ‘所选项目显示在文本框中,等待修改 txtItem.Text = lstBooks.Text cmdAdd.Enabled = False cmdDelete.Enabled = False cmdModify.Enabled = False cmdModify_OK.Enabled = True End Sub Private Sub cmdModify_OK_Click() ‘所选项目显示在文本框中修改完成后,按下修改确定按钮,更新列表框内容 lstBooks.List(lstBooks.ListIndex) = txtItem cmdModify_OK.Enabled = True
cmdAdd Enabled True cmdModify. Enabled = True End sub 【例46】 Private Sub Form Click Picture3. PicturesPicturel Picture Picture2. PicturesPicture3 Picture Pciture3. PicturesLoadPictu 把第3个图片框设置为空 【例4-7】 Text. Text HScroll value 【例4-8】 Private Timer Timer Label. Caption=Times End Sub 实训 Private Sub Commandl Click Debug. Print"姓名"; TextI.Text Debug. Print"出生年月";Text2Text Debug. Print"籍贯:"Text3,lext If Option. Value Then Debug. Print"性别;"男" If Option2. Value then debug print"性别:";"女 Debug. Print"民族"; Combo. Text If Check1 value= I Then Debug. Print"健康" Else debug print"不健康 Debug. Print"职称:"; Combo3.lext Debug. Print"工资:";Tex+4.Text Debug. Print"外语熟练程度"; HScroll. Value Debug. Print"简历;"; Text.Text End sub 第5章 课前体验 Private Sub Command6 Click Const n =10 定义常量n的值为 Max =0:K=0 最高分及所在位置赋初值 For i =I To n b(i)= InputBox("请输入第"&i&”个同学的成绩",求最高分)‘输入成绩 If b(i)>Max Then Max=b(i) 将第i个成绩与最高分Max相比,如果比最高分高,则保存起来
7 cmdAdd.Enabled = True cmdDelete.Enabled = True cmdModify.Enabled = True txtItem = "" End Sub 【例 4-6】 Private Sub Form_Click() Picture3.Picture=Picture1.Picture Picture1.Picture=Picture2.Picture Picture2.Picture=Picture3.Picture Pciture3.Picture=LoadPicture() ‘把第 3 个图片框设置为空 End sub 【例 4-7】 Private Sub HScroll1_Change() Text1.Text = HScroll1.Value End Sub 【例 4-8】 Private Timer1_Timer() Labe1.Caption=Time$ End Sub 实训 Private Sub Command1_Click() Debug.Print "姓名:"; Text1.Text Debug.Print "出生年月:"; Text2.Text Debug.Print "籍贯:"; Text3.Text If Option1.Value Then Debug.Print "性别:"; "男" If Option2.Value Then Debug.Print "性别:"; "女" Debug.Print "民族:"; Combo1.Text If Check1.Value = 1 Then Debug.Print "健康" Else Debug.Print "不健康" Debug.Print "职称:"; Combo3.Text Debug.Print "工资:"; Text4.Text Debug.Print "外语熟练程度"; HScroll1.Value Debug.Print "简历:"; Text5.Text End Sub 第 5 章 课前体验 Private Sub Command6_Click() Const n = 10 ‘定义常量 n 的值为 10 Max = 0: K = 0 ‘最高分及所在位置赋初值 For i = 1 To n b(i) = InputBox("请输入第"& i &"个同学的成绩",求最高分) ‘输入成绩 If b(i) > Max Then Max = b(i) K = I ‘将第 i 个成绩与最高分 Max 相比,如果比最高分高,则保存起来
Print"最高分是第"&K&"个同学,其成绩是:"&Max Private Sub Commandl Click a(1)=1:a(2)=3:a(3)=5 End sub 【例5-2】 For =l To 10 b()= Input Box("请输入第"&i&"个数") Next i 【例5-3】 For F=l To 2 Next j Next i 【例5-4】 Dim S(3, 2)As Intege 二维数组的输出回区 程序如下: 123 For i=0 To 3 345 Print Tab(5) 输出位置定位 567 789 给各元素赋值 Print S(i,J; 图5-4使用二维数组打印出的图形 Print 换行 【例5-5】 Private Sub Form Click Dim s(5)As Integer 定义数组S Const n= 5 For i =1 To n s(i)=val( Input Box("请输入第”& TRims(Str$(i))&“"个数",数据排序) 输入n个数,转换成数值后保存在数组中。 For i=1 To 进行n-1趟比较 Max = i 对第i遍比较时,初始假定第i个元素最小
8 End If Next i Print"最高分是第"& K &"个同学,其成绩是:"& Max End Sub 【例 5-1】 Option Base 1 Private Sub Command1_Click() Dim a(3) As Integer a(1) = 1: a(2) = 3: a(3) = 5 Print a(1) Print a(2) Print a(3) End Sub 【例 5-2】 For i=1 To 10 b(i) = InputBox("请输入第" & i & "个数") Next i 【例 5-3】 For i=1 To 2 For j=1 To 2 b(i,j) = i+j Next j Next i 【例 5-4】 Dim S(3,2) As Integer 程序如下: For i = 0 To 3 Print Tab(5); ‘输出位置定位 For j = 0 To 2 S(i, j) = i * 2 + j ‘给各元素赋值 Print S(i, j); Next j Print ‘换行 Next i 【例 5-5】 Private Sub Form_Click() Dim s(5) As Integer '定义数组 S Const n = 5 For i = 1 To n s(i) = Val(InputBox("请输入第" & LTrim$(Str$(i)) & "个数", 数据排序)) ‘输入 n 个数,转换成数值后保存在数组中。 Next i For i = 1 To n-1 ‘进行 n-1 趟比较 Max = I ‘对第 i 遍比较时,初始假定第 i 个元素最小。 图 5-4 使用二维数组打印出的图形
For j=i+ I To n 在数组i~n个元素中选最小元素 f s(j)< s(Max) Then Max j t= s(i) s(Max) i~n个元素中选出的最小元素与第i个元素交换 For i =1 To 5 Print s(i) End Sub Private Sub Form Click ReDim b(2) Fori=0 to 2 ReDim Preserve b(3) For 1=0 To 3 Print b(0) 【例5-7】 Dim a( 8, 8)As Integer 定义一个二维数组 Private Sub Form Click 下面的二层循环语句给数组赋值 If i= 1 Or j=I Then 数组中每一行第一个,最后一个数均为1 a(i,j)=a(i-1,j-1)+a(i-1,j 数组中其余数据等于它上一行的相邻两列之和 下面的二层循环语句将数组中的值打印出来 Print Tab(20-2*i) 定位打印位置 Ifa,j)<10Then将数组中的值转换成长度为3的字符串,可使打印数据整齐 J)+
9 For j = i + 1 To n ‘在数组 i~n 个元素中选最小元素 If s(j) < s(Max) Then Max = j Next j t = s(i) s(i) = s(Max) s(Max) = t ‘i~n 个元素中选出的最小元素与第 i 个元素交换 Next i For i = 1 To 5 Print s(i) Next i End Sub 【例 5-6】 Dim b() As Integer Private Sub Form_Click() ReDim b(2) For i = 0 To 2 b(i) = i Next i ReDim Preserve b(3) b(3) = 7 For i = 0 To 3 Print b(i); Next i End Sub 【例 5-7】 Dim a(8, 8) As Integer '定义一个二维数组 Private Sub Form_Click() ‘下面的二层循环语句给数组赋值 For i = 1 To 8 For j = 1 To i If i = 1 Or j = 1 Then a(i, j) = 1 '数组中每一行第一个,最后一个数均为 1 Else a(i, j) = a(i - 1, j - 1) + a(i - 1, j) '数组中其余数据等于它上一行的相邻两列之和 End If Next j Next i '下面的二层循环语句将数组中的值打印出来 For i = 1 To 8 Print Tab(20 - 2 * i); '定位打印位置 For j = 1 To i If a(i, j) < 10 Then '将数组中的值转换成长度为 3 的字符串,可使打印数据整齐 s = " " + Str(a(i, j)) + "
Elself a(i,j)<100 Then Print s 换行 【例5-8】 Private Sub Optionl_Click(Index As Integer) Labell ForeColor RGB(0, 255, 0) Labell ForeColor RGB(255, 255, 0) End select 实训 Option Base 定义数组下标从1开始 定义动态数组arr Private Sub Form Click o n=Val( InputBox("请输入矩阵的行数”) 输入矩阵行数 =Val( InputBox("请输入矩阵的列数")) 输入矩阵列数 重定义数组arr为n行m列的二维数组 下列程序段为数组输入数据 I T j=I T arr(i,j)=Val( InputBox("请输入矩阵第”&i&"行第”&j&"列的数据") 下列程序段在数组中找出最大值及所在位置 For r(i, j)> arr (row, col)Then CO End If 下列程序段输出矩阵及最大值及所在位置 Print"您输入的矩阵是 Prin
10 ElseIf a(i, j) < 100 Then s = " " + Str(a(i, j)) End If Print s; Next j Print '换行 Next i End Sub 【例 5-8】 Private Sub Option1_Click(Index As Integer) Select Case Index Case 0 Label1.ForeColor = RGB(255, 0, 0) Case 1 Label1.ForeColor = RGB(0, 255, 0) Case 2 Label1.ForeColor = RGB(255, 255, 0) End Select End Sub 实训 Option Base 1 ‘定义数组下标从 1 开始 Dim arr() ‘定义动态数组 arr Private Sub Form_Click() n = Val(InputBox("请输入矩阵的行数")) ‘输入矩阵行数 m = Val(InputBox("请输入矩阵的列数")) ‘输入矩阵列数 ReDim arr(n, m) ‘重定义数组 arr 为 n 行 m 列的二维数组 ‘下列程序段为数组输入数据 For i = 1 To n For j = 1 To m arr(i, j) = Val(InputBox("请输入矩阵第" & i & "行第" & j & "列的数据")) Next j Next i ‘下列程序段在数组中找出最大值及所在位置 row = 1: col = 1 For i = 1 To n For j = 1 To m If arr(i, j) > arr(row, col) Then row = i: col = j End If Next j Next i ‘下列程序段输出矩阵及最大值及所在位置 Print "您输入的矩阵是:" Print