t cmdAdd.Enabled False cmdDelete.Enabled False cmdModify.Enabled False cmdModify_OK.Enabled True End Sub Private Sub cmdModify_OK_Click ‘所选项目显示在文本框中修改完成后,按下修改确定按钮,更新列表框内容 lstBooks.ListlstBooks.ListIndex txtItem cmdModify_OK.Enabled True 7 cmdAdd.Enabled True cmdDelete.Enabled True cmdModify.Enabled True txtItem quotquot End Sub 【例4-6】 Private Sub Form_Click Picture3.PicturePicture1.Picture Picture1.PicturePicture2.Picture Picture2.PicturePicture3.Picture Pciture3.PictureLoadPicture ??把第3个图片框设置为空 End sub 【例4-7】 Private Sub HScroll1_Change Text1.Text HScroll1.Value End Sub 【例4-8】 Private Timer1_Timer Labe1.CaptionTime End Sub 实训 Private Sub Command1_Click Debug.Print quot姓名:quot Text1.Text Debug.Print quot出生年月:quot Text2.Text Debug.Print quot籍贯:quot Text3.Text If Option1.Value Then Debug.Print quot性别:quot quot男quot If Option2.Value Then Debug.Print quot性别:quot quot女quot Debug.Print quot民族:quot Combo1.Text If Check1.Value 1 Then Debug.Print quot健康quot Else Debug.Print quot不健康quot Debug.Print quot职称:quot Combo3.Text Debug.Print quot工资:quot Text4.Text Debug.Print quot外语熟练程度quot HScroll1.Value Debug.Print quot简历:quot Text5.Text End Sub 第5章 课前体验 Private Sub Command6_Click Const n 10 ‘定义常量n的值为10 Max 0: K 0 ‘最高分及所在位置赋初值 For i 1 To n bi InputBoxquot请输入第quotamp i ampquot个同学的成绩quot求最高分 ‘输入成绩 If bi gt Max Then Max bi K I ‘将第i个成绩与最高分Max相比,如果比最高分高,则保存起来 8 End If Next i Printquot最高分是第quotamp K ampquot个同学,其成绩是:quotamp Max End Sub 【例5-1】 Option Base 1 Private Sub Command1_Click Dim a3 As Integer a1 1: a2 3: a3 5 Print a1 Print a2 Print a3 End Sub 【例5-2】 For i1 To 10 bi InputBoxquot请输入第quot amp i amp quot个数quot Next i 【例5-3】 For i1 To 2 For j1 To 2 bij ij Next j Next i 【例5-4】 Dim S3,2 As Integer 程序如下: For i 0 To 3 Print Tab5 ??输出位置定位 For j 0 To 2 Si j i 2 j ‘给各元素赋值 Print Si j Next j Print ‘换行 Next i 【例5-5】 Private Sub Form_Click Dim s5 As Integer 定义数组S Const n 5 For i 1 To n si ValInputBoxquot请输入第quot amp LTrimStri amp quot个数quot 数据排序 ‘输入n个数,转换成数值后保存在数组中。
Next i For i 1 To n-1 ‘进行n-1趟比较 Max I ‘对第i遍比较时,初始假定第i个元素最小。
图5-4 使用二维数组打印出的图形 9 For j i 1 To n ‘在数组i~n个元素中选最小元素 If sj lt sMax Then Max j Next j t si si sMax sMax t ‘i~n个元素中选出的最小元素与第i个元素交换 Next i For i 1 To 5 Print si Next i End Sub 【例5-6】 Dim b As Integer Private Sub Form_Click ReDim b2 For i 0 To 2 bi i Next i ReDim Preserve b3 b3 7 For i 0 To 3 Print bi Next i End Sub 【例5-7】 Dim a8 8 As Integer 定义一个二维数组 Private Sub Form_Click ‘下面的二层循环语句给数组赋值 For i 1 To 8 For j 1 To i If i 1 Or j 1 Then ai j 1 数组中每一行第一个,最后一个数均为1 Else ai j ai - 1 j - 1 ai - 1 j 数组中其余数据等于它上一行的相邻两列之和 End If Next j Next i 下面的二层循环语句将数组中的值打印出来 For i 1 To 8 Print Tab20 - 2 i 定位打印位置 For j 1 To i If ai j lt 10 Then 将数组中的值转换成长度为3的字符串,可使打印数据整齐 s quot quot Strai j quot quot 10 ElseIf ai j lt 100 Then s quot quot Strai j End If Print s Next j Print 换行 Next i End Sub 【例5-8】 Private Sub Option1_ClickIndex As Integer Select Case Index Case 0 Label1.ForeColor RGB255 0 0 Case 1 Label1.ForeColor RGB0 255 0 Case 2 Label1.ForeColor RGB255 255 0 End Select End Sub 实训 Option Base 1 ‘定义数组下标从1开始 Dim arr ‘定义动态数组arr Private Sub Form_Click n ValInputBoxquot请输入矩阵的行数quot ‘输入矩阵行数 m ValInputBoxquot请输入矩阵的列数quot ‘输入矩阵列数 ReDim arrn m ‘重定义数组arr为n行m列的二维数组 ‘下列程序段为数组输入数据 For i 1 To n For j 1 To m arri j ValInputBoxquot请输入矩阵第quot amp i amp quot行第quot amp j amp quot列的数据quot Next j Next i ‘下列程序段在数组中找出最大值及所在位置 row 1: col 1 For i 1 To n For j 1 To m If arri j gt arrrow col Then row i: col j End If Next j Next i ‘下列程序段输出矩阵及最大值及所在位置 Print quot您输入的矩阵是:quot Print 11 For i 1 To n Print Tab8; ‘打印位置定位 For j 1 To m Print arri j Next j Print ‘换行 Next i Print Print quot矩阵中最大值为:quotarrrow col quot其位置在第quot amp row amp quot行quot amp col amp quot列quot End Sub 第6章 课前体验 (2)编写窗体装载事件过程: Private Sub Form_Load For I 0 To 100 List1.AddItem i Next i End Sub (3)使用“添加过程”对话框创建出判断成绩等级的过程 Public Sub DengJia As Integer Select Case a Case 0 To 59 Label1.Caption quot不及格quot Case 60 To 69 Label1.Caption quot及格quot Case 70 To 79 Label1.Caption quot中等quot Case 80 To 89 Label1.Caption quot良好quot Case 90 To 100 Label1.Caption quot优秀quot End Select End Sub 4)编写列表框单击Click事件过程: Private Sub List1_Click Dim n As Integer N ValList1.Text Call DengJin 调用判断成绩等级的过程 End Sub (5)编写命令按钮单击Click事件过程: Private Sub Command1_Click End End Sub 12 【例6-1】 Private Sub oushux As Integermsg As Boolean If x Mod 2 0 Then Msg True Else Msg False End If End Sub 【例6-2】 Public Function Recta As Doubleb As DoubleAs Double Rect a b End Function 【例6-3】 (2)在窗体
代码窗口中编写pingjun过程: Sub pingjuna As Integerb As Integerc As Integer C ab/2 End Sub (3)编写命令按钮1的单击事件过程: Private Sub Command1_Click Dim x As Integery As Integerz As Integer X ValText1.Text Y ValText2.Text Call pingjunxyz 或pingjun x y z Text3.Text Strz End Sub 【例6-4】 (2)把判断奇偶性的函数过程jo的程序
代码输入到窗体
代码窗口中。
Function jox As IntegerAs String If x Mod 2 0 Then Jo quot偶数quot Else Jo quot奇数quot End If End Function (3)编写命令按钮1的单击事件过程: Private Sub Command1_Click Dim n As Integerw As String nValText1.Text w jon Label1.CaptionText1.Text ampquot是quotamp w ampquot!quot End Sub 13 【例6-5】 (2)编写参数按地址传递次的过程Swap1: Sub Swap1x As Stringy As String Dim t As String T x:x y:y t End Sub (3)编写命令按钮单击事件过程如下: Private Sub Command1_Click Dim a As Stringb As String A Text1.Text B Text2.Text Form1.Caption quot按地址传递quot Swap1 ab Text1.Text a Text2.Text b End Sub 【例6-7】 (2)求任意一维数组中各元素之积的函数如下: Function tta As IntegerAs Long 函数的形参是数组 Dim t i T 1 For I LBounda To UBounda 求数组的下界和上界 T t ai Next i Tt t End Function (3)求任意一维数组中各元素之和的函数如下: Function ssb As IntegerAs Long 函数的形参是数组 Dim t i S 0 For I LBoundb To UBoundb 求数组的下界和上界 S sbi Next i Ss s End Function (4)编写命令按钮单击事件过程,如下: Private Sub Command1_Click Dim a1 To 5As Integer Dim b2 To 10As Integer Dim i As Integert1 As Longs1 As Long For I 1 To 5 给数组赋值 ai i 3 Next i t1 tta 调用函数 14 Printquot第一个数组各元素之积t1quot t1 For I 2 To 10 bi i 2 Next i s1 ssb Printquot第二个数组各元素之和s1quot s1 End Sub 【例6-8】 (1)先定义一个具有可选参数的函数过程sum,用来进行3个数的加法运算。
Private Function sumx As IntegerOptional y As Integer_ Optional z As Integer3As Integer Sum x y z End Function (2)编写窗体的单击事件过程,如下: Private Sub Form_Click Printquotsum1 1 0 3 quotsum1 省略两个参数 Printquotsum12 1 2 3 quotsum12 省略第3个参数 Printquotsum18 1 0 8 quotsum18 省略第2个参数 Printquotsum148 1 4 8 quotsum148 不省略参数 End Sub 【例6-9】 (1)先定义一个具有可变参数的函数过程MySum,如下: Function MySumParamArray VA As Integer 声明为可变参数 Dim i As Integer Dim Sum As Integer Sum 0 For iLBoundVA To UBoundVA 得到数组的大小,并进行循环 Sum SumVAi Next MySum Sum End Function (2)编写窗体的单击事件过程,如下: Private Sub Form_Click Dim s As Integer Print Print Tab2 quot使用3个实参:quot S MySum246 可以使用任意多个实参来调用 Print quotMySum246quot s Print Print Tab2 quot使用5个实参:quot S MySum12345 Print quotMySum12345quots End Sub 15 【例6-10】 (1)定义具有窗体参数的过程,如下: Private Sub BiaoTifm As Form fm为窗体对象参数 Text1.Text quot窗体的标题是quotamp fm.Caption End Sub 调用过程BiaoTi会改变窗体对象fm中的文本框Text1的文本。
(2)定义具有控件对象参数的过程,如下: Private Sub KuanDutb As TextBox tb为文本框型的控件对象参数 .
上一篇:
求解一元二次方程的VB源代码(可以求共轭复根)
下一篇:
2018年汽车自驾运动营地攻防箭大赛总决赛圆满落幕