收藏 分销(赏)

VB实例源码.doc

上传人:w****g 文档编号:1505053 上传时间:2024-04-29 格式:DOC 页数:65 大小:412.01KB 下载积分:14 金币
下载 相关 举报
VB实例源码.doc_第1页
第1页 / 共65页
VB实例源码.doc_第2页
第2页 / 共65页


点击查看更多>>
资源描述
课前体验 Private Sub Form_Click() For i = 1 To 10 For j = 1 To i Print "* "; Next j Print Next i End Sub 【例3-1】 Private Sub Form_Click() c1$ = Chr$(13) + Chr$(10) msg1$ = "请输入您的名字: " msg2$ = "输入后按回车键" msg3$ = "或单击“确定”按钮" msg$ = msg1$ + c1$ + msg2$ + c1$ + msg3$ name$ = InputBox(msg$, "InputBox 函数示例", "张三") Print name$ End Sub 【例3-2】 Private Sub Form_Click() Msg1$=”Are you Continue to?” msg2$=”Operation Dialog Box” r=MsgBox(msg1$,34,msg2$) Print r End Sub 【例3-3】编写程序,用MsgBox函数判断是否继续执行。 Private Sub Form_Click() msg$ = "请确认此数据是否正确" Title$ = "数据检查对话框" x = MsgBox(msg$, 19, Title$) If x = 6 Then Print x * x ElseIf x = 7 Then Print "请重新输入" End If End Sub 【例3-5】 Private Sub Form_Click() Print: Print FontName = "隶书" FontSize = 16 Print " 姓名"; Tab(8); "年龄"; Tab(16); "职务"; Print Tab(24); "单位"; Tab(32); "籍贯" Print Print "吴大明"; Tab(8); 25; Tab(16); "职员"; Tab(24); "人事科"; Tab(32); "北京" End Sub 【例3-6】 Private Sub Form_Click() X = InputBox("请输入成绩", "学生成绩录入", "00") Print x End Sub 【例3-7】 Private Sub Form_Click() Dim x As Single, y As Single x=InputBox(“请输入x的值”) If x>0 Then y=1 ElseIf x=0 Then y=0 Else y=-1 Print “x=”; x ,”y=” ; y End Sub 【例3-8】 Private Sub Form_Click() Dim msg, UserInput msg = "请输入一个字母或0~9之间的数字." UserInput = InputBox(msg) ‘输入一个字母或数字 If Not IsNumeric(UserInput) Then ‘判断是否是数字 If Len(UserInput) = 1 Then ‘不是数字时,判断输入的字符串长度是否为1 Select Case Asc(UserInput) ‘判断输入字母的ASCII码值 Case 60 To 90 '在60-90之间为大写字母 msg = "你输入的是一个大写字母'" msg = msg & Chr(Asc(UserInput)) & "'。" Case 97 To 122 '小写字母 msg = "你输入的是一个小写字母'" msg = msg & Chr(Asc(UserInput)) & "'。" Case Else msg = "你没有输入字母或数字." End Select End If Else Select Case Val(UserInput) '将输入的数值型字符转换为数值 Case 1, 3, 5, 7, 9 '如果是奇数 msg = UserInput & " 是一个奇数。" Case 0, 2, 4, 6, 8 '如果是偶数 msg = UserInput & " 是一个偶数。" Case Else '出界 msg = "你输入的数字不在0~9范围内" End Select End If MsgBox msg End Sub 【例3-8】 Private Sub Form_Click() Dim msg, UserInput msg = "请输入一个字母或0~9之间的数字." UserInput = InputBox(msg) ‘输入一个字母或数字 If Not IsNumeric(UserInput) Then ‘判断是否是数字 If Len(UserInput) = 1 Then ‘不是数字时,判断输入的字符串长度是否为1 Select Case Asc(UserInput) ‘判断输入字母的ASCII码值 Case 60 To 90 '在60-90之间为大写字母 msg = "你输入的是一个大写字母'" msg = msg & Chr(Asc(UserInput)) & "'。" Case 97 To 122 '小写字母 msg = "你输入的是一个小写字母'" msg = msg & Chr(Asc(UserInput)) & "'。" Case Else msg = "你没有输入字母或数字." End Select End If Else Select Case Val(UserInput) '将输入的数值型字符转换为数值 Case 1, 3, 5, 7, 9 '如果是奇数 msg = UserInput & " 是一个奇数。" Case 0, 2, 4, 6, 8 '如果是偶数 msg = UserInput & " 是一个偶数。" Case Else '出界 msg = "你输入的数字不在0~9范围内" End Select End If MsgBox msg End Sub 【例3-10】 Sub Form_Click() Dim N As Integer n = InputBox("Enter N:") ‘输入N的值 k = 1 For i = 1 To N ‘循环N次,计算出N! k = k * I Next i Print N;”!=”;k ‘数据输出 End Sub 【例3-12】 Dim S, N S = 0: N = 0 Do While S <= 100 N = N + 1 S = S + N Loop Print S, N 【例3-13】 Private Sub Form_Click() Dim char As String Count = 0 char = InputBox("请输入一个字符") While char <> "?" Count = Count + 1 char = InputBox$("请输入一个字符") Wend Print "输入的字符数是:"; Count End Sub 【例3-14】 Private Sub Form_Click() Print " *"; For i = 1 To 9 Print Tab(i * 6); i; Next i Print For j = 1 To 9 Print j; For k = 1 To j Print Tab(k * 6); j * k; " "; Next k Print Next j End Sub 第4章 课前体验 (1)假定用来输入数学成绩的文本框名称为Text1,该文本框的LostFocus事件过程如下: Private Sub Text1_LostFocus() If Val(Text1.Text) < 0 Or Val(Text1.Text) > 100 Then Text1.Text = "" Text1.SetFocus End If End Sub (2)其他文本框的LostFocus事件类似。 (3)假定按钮名称为Command1,该按钮的Click事件过程如下: Private Sub Command1_Click() If Check1.Value = 1 Then Sum = Sum + Val(Text1.Text) If Check2.Value = 1 Then Sum = Sum + Val(Text2.Text) If Check3.Value = 1 Then Sum = Sum + Val(Text3.Text) If Check4.Value = 1 Then Sum = Sum + Val(Text4.Text) If Check5.Value = 1 Then Sum = Sum + Val(Text5.Text) Text6.Text = Sum End Sub 【例4-1】 Private Sub Command1_Click() ‘在其单击事件中编程 For i = 1 To 6 ‘外循环,控制输出几行 For j = 1 To i ‘内循环,控制输出几列 Print " * "; Next j Print ‘换行 Next i End Sub 【例4-2】 Private Sub Text1_Change() Text2.Text = LCase(Text1.Text) Text3.Text = UCase(Text1.Text) End Sub 【例4-3】 Private Sub Check1_Click() Text1.FontUnderline = Not Text1.FontUnderline End Sub Private Sub Check2_Click() Text1.FontItalic = Not Text1.FontItalic End Sub Private Sub Option1_Click() Text1.Font = "黑体" End Sub Private Sub Option2_Click() Text1.Font = "宋体" End Sub 【例4-4】 Private Sub Command1_Click() If Option1 Then Text1.FontName = "宋体" Else 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 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相比,如果比最高分高,则保存起来 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 ‘给各元素赋值 图5-4 使用二维数组打印出的图形 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个元素最小。 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)) + " " 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 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) 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)编写参数按地址传递次的过程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()) '调用函数 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.Caption End Sub 调用过程
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服