《 Visual basic程序设计教程》林卓然编著 电子工业出版社2004年2月出版 书号:ISBN75053-96528 定价:23元 编者免费提供本教材的课堂教学用的电子教案。需要电子教案 的教师,可从电子工业出版社网站edu. phei. com.cn的“教学资源下 载”区中下载,也可直接与编者联系( Puslzrlazsu. edu.cn)。各章习 题(含单选、多选及填空题答案已放在本教材的附录D中。 《 Visual Basic程序设计教程》 题参考答案 第1章《编程及上机调试》 按要求设置窗体属性 2.在窗体上建立一个标签 Labell。程序代码如下 Private Sub Form Click Labell. Caption="你单击了窗体 End Sub Private Sub Form DblClick Labell. Caption=“你双击了窗体 End Sub 3.在窗体上建立两个文本框Text1(输入数)、Text2(输出数)和一个命令按钮 Commandl。两个文本框的 Text属性均为空。 Private Sub Command1 Click Text2, Text =15 ** x End Sub 第2章《编程及上机调试》 1~3题:按要求完成操作练习 4.在窗体上设置三个命令按钮,其名称分别为 Commandl(“最大化”)、 Command2(“还原”)和 Command3(“最小化”)。程序代码如下 Private Sub Command1 Click 最大化“按钮 Forml WindowState 2 最大化 End sub Private Sub Command2 Click 还原”按钮 Forml WindowState =0 End sub Private Sub Command3 Click 最小化“按钮 Forml WindowState I 最小化 End Sub 在窗体上建立三个文本框Text1(第一个数)、Text2(第二个数)、Text3(计算结果)和一个命令按 钮 Command l(“计算”)。 Private Sub Command1 Click Dim x As single Dim y As singl x= Val(Textl, Text) y Val(Text2 Text) Text3 Text =x * x +y y
1 《Visual Basic 程序设计教程》 题参考答案 第 1 章 《编程及上机调试》 1. 按要求设置窗体属性。 2.在窗体上建立一个标签 Label1。程序代码如下: Private Sub Form_Click() Label1.Caption = "你单击了窗体" End Sub Private Sub Form_DblClick() Label1.Caption = "你双击了窗体" End Sub 3. 在窗体上建立两个文本框 Text1(输入数)、Text2(输出数)和一个命令按钮 Command1。两个文本框的 Text 属性均为空。 Private Sub Command1_Click() Dim x As Single x = Val(Text1.Text) Text2.Text = 15 * x End Sub 第 2 章《编程及上机调试》 1~3 题:按要求完成操作练习。 4.在窗体上设置三个命令按钮,其名称分别为 Command1(“最大化”)、Command2(“还原”)和 Command3(“最小化”)。程序代码如下: Private Sub Command1_Click() '"最大化"按钮 Form1.WindowState = 2 '最大化 End Sub Private Sub Command2_Click() '"还原"按钮 Form1.WindowState = 0 '还原 End Sub Private Sub Command3_Click() '"最小化"按钮 Form1.WindowState = 1 '最小化 End Sub 5.在窗体上建立三个文本框 Text1(第一个数)、Text2(第二个数)、Text3(计算结果)和一个命令按 钮 Command1(“计算”)。 Private Sub Command1_Click() Dim x As Single Dim y As Single x = Val(Text1.Text) y = Val(Text2.Text) Text3.Text = x * x + y * y 《Visual Basic 程序设计教程》 林卓然编著 电子工业出版社 2004 年 2 月出版 书号: ISBN 7-5053-9652-8 定价: 23 元 编者免费提供本教材的课堂教学用的电子教案。需要电子教案 的教师,可从电子工业出版社网站(edu.phei.com.cn)的“教学资源下 载”区中下载,也可直接与编者联系(Puslzr@zsu.edu.cn)。各章习 题(含单选、多选及填空题)答案已放在本教材的附录 D 中
6.在窗体上建立两个文本框Text1(输入一串字符)、Text2(输出结果)和一个命令按钮 Commandl Private Sub Command1 Click Dim x As string x=Left(TextI Text, 1)+ Right (Textl Text, 1) End Sub 第3章《编程及上机调试》 1.在窗体上建立一个文本框 TextI(输λn值)、三个标签 Labell(第一个随机数)、 Label2(第二个随机 数)和 Label3(第三个随机数),以及一个命令按钮 Commandl Private Sub Command1 Click n= Val(Textl. Text) Randomize Int(l+ n* Rnd) Labell. Caption="第一个随机数”+Str(x) x=Int(l +n *k Rnd) abe2. Caption="第二个随机数"+Str(x) Label3. Caption="第三个随机数”+Str(x) nd Sub 2.在窗体上建立了四个文本框 TextI、Text2、Text3和Text4,以及两个命令按钮 Command1(“交换”) (“合并”)。 Private Sub Command1 Click t Text text TextI. Text Text2 Text Text2 Text Text3 Text Text3 Text = t End Sub Private Sub Command2 Click “合并 t Text. Text Text2. Text Text3. Text Text4 Text =t 3.(1)Rnd*9000+1000(2)Str(x)(3)Mid(s,3,1)+Mid(s,2,1)+Left(s,1) 4. Private Sub Cmd1 click b1. Caption="您已下达显示命令 End Sub Private Sub Form Click md l visible true End Sub 5. Private Sub Form KeyPress KeyAscii As Integer) Print"输入字符:";Chr( KeyAscii)," ASCII码为;"; KeyAscii End sub Private Sub Form DblClick End sub 6.产生这三个消息框的相应语句是: 产生第1个消息框:x= MsgBox("在这里显示提示信息",4+0,"请确认") 产生第2个消息框:x= MsgBox("在这里显示″+Chr(13)+“提示信息",3+0,″请确认") 产生第3个消息框:x= MsgBox("在这里显示"tChr(13)+"提示信息",2+16+0,"请确认") 第4章《编程及上机调试 1.在窗体上建立两个文本框 TextI(输入数)及Text2(显示结果),一个命令按钮 Commandl(“判断”)。 2
2 End Sub 6. 在窗体上建立两个文本框 Text1(输入一串字符)、Text2(输出结果)和一个命令按钮 Command1。 Private Sub Command1_Click() Dim x As String x = Left(Text1.Text, 1) + Right(Text1.Text, 1) Text2.Text = x End Sub 第 3 章《编程及上机调试》 1.在窗体上建立一个文本框 Text1(输入 n 值)、三个标签 Label1(第一个随机数)、Label2(第二个随机 数)和 Label3(第三个随机数),以及一个命令按钮 Command1。 Private Sub Command1_Click() n = Val(Text1.Text) Randomize x = Int(1 + n * Rnd) Label1.Caption = "第一个随机数" + Str(x) x = Int(1 + n * Rnd) Label2.Caption = "第二个随机数" + Str(x) x = Int(1 + n * Rnd) Label3.Caption = "第三个随机数" + Str(x) End Sub 2.在窗体上建立了四个文本框 Text1、Text2、Text3 和 Text4,以及两个命令按钮 Command1(“交换”) 和 Command2(“合并”)。 Private Sub Command1_Click() '“交换” t = Text1.Text Text1.Text = Text2.Text Text2.Text = Text3.Text Text3.Text = t End Sub Private Sub Command2_Click() '“合并” t = Text1.Text + Text2.Text + Text3.Text Text4.Text = t End Sub 3. (1) Rnd * 9000 + 1000 (2) Str(x) (3) Mid(s, 3, 1) + Mid(s, 2, 1) + Left(s, 1) 4. Private Sub Cmd1_Click() Lab1.Visible = True Lab1.Caption = "您已下达显示命令" End Sub Private Sub Form_Click() Cmd1.Visible = True End Sub 5. Private Sub Form_KeyPress(KeyAscii As Integer) Show Print "输入字符:"; Chr(KeyAscii), "ASCII 码为;"; KeyAscii End Sub Private Sub Form_DblClick() Cls End Sub 6. 产生这三个消息框的相应语句是: 产生第 1 个消息框:x = MsgBox("在这里显示提示信息", 4 + 0, "请确认") 产生第 2 个消息框:x = MsgBox("在这里显示" + Chr(13) + "提示信息",3 + 0,"请确认") 产生第 3 个消息框:x = MsgBox("在这里显示"+Chr(13)+"提示信息",2 + 16 + 0,"请确认") 第 4 章《编程及上机调试》 1. 在窗体上建立两个文本框 Text1(输入数)及 Text2(显示结果),一个命令按钮 Command1(“判断”)
Private Sub Command1 Click x= Val(Textl Text f x Mod 2=0 Then Text2.Text="偶数 Else消息 Text2.Text="奇数 2.在窗体上建立两个文本框Text1、Text2及Text3,分别代表学号、年级及学生类型,建立一个命 令按钮 Command1(“判断”)。 Private Sub Command1 Click Dim t As string, p As string Mid (Text. Text, 5, 1) Select case t p="博士生 p="硕士生 p="本科生 Case"5 p="专科生 Case Else =“无效学号 End select Text2 Text Left(TextI Text, 2)+9k Text3 te End sub 3.窗体上建立了一个文本框Text1(“输入口令”)和一个命令按钮 Commandl(“检查”)。 Private Sub Command1 Click “检查” Ifx="12345678"Ther MsgBox"欢迎你用机 Else MsgBox"对不起,口令错 TextI set focus Private Sub Form LoadO Textl. MaxLength =8 End sub 4.窗体上建立了两个文本框Text1(输入字符串)及Text2(转换结果),一个命令按钮 Command l(“清 Private Sub Command1 Click “清除” Text2 Text= TextI Set Focus End Sub Private Sub Textl KeyPress(KeyAscii As Integer) Dim s As string I s= Chr(KeyAscii s= CAse(s)
3 Private Sub Command1_Click() '“判断” x = Val(Text1.Text) If x Mod 2 = 0 Then Text2.Text = "偶数" Else 消息 Text2.Text = "奇数" End If End Sub 2. 在窗体上建立两个文本框 Text1、Text2 及 Text3,分别代表学号、年级及学生类型,建立一个命 令按钮 Command1(“判断”)。 Private Sub Command1_Click() Dim t As String, p As String t = Mid(Text1.Text, 5, 1) Select Case t Case "2" p = "博士生" Case "3" p = "硕士生" Case "4" p = "本科生" Case "5" p = "专科生" Case Else p = "无效学号" End Select Text2.Text = Left(Text1.Text, 2) + "级" Text3.Text = p End Sub 3.窗体上建立了一个文本框 Text1(“输入口令”)和一个命令按钮 Command1(“检查”)。 Private Sub Command1_Click() '“检查” x = Text1.Text If x = "12345678" Then MsgBox "欢迎你用机!" Else MsgBox "对不起,口令错" End If Text1.Text = "" Text1.SetFocus End Sub Private Sub Form_Load() Text1.Text = "" Text1.MaxLength = 8 Text1.PasswordChar = "*" End Sub 4.窗体上建立了两个文本框 Text1(输入字符串)及 Text2(转换结果),一个命令按钮 Command1(“清 除”)。 Private Sub Command1_Click() '“清除” Text1.Text = "" Text2.Text = "" Text1.SetFocus End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) Dim s As String * 1 s = Chr(KeyAscii) Select Case s Case "A" To "Z" s = LCase(s) Case "a" To "z" s = UCase(s)
Case else End select xt2 Text Text2 Text +s End Sub 5.分别选择”红”、”绿”、”蓝”复选框后,单击命令按钮 Command 1时,通过RGB函数调配的颜 色作为一个标签的背景色( Back Color Private Sub Command1_Click 0:g=0:b=0 If Check value =1 Then 复选 End if If Check2 value =I Then ”绿”复选框 g=255 f Check value =I Then ”蓝”复选框 End if abell.BackColor rGB(r, g, b) End Sub 6.程序代码如下 Private Sub Form Load LabClk. Caption =0 LabClk. Alignment =1 LabClk BorderStyle LabClk Fontsize 2 LabClk. FontName="黑体 TimClk. Interval =1000 End Sub Private Sub TimcClk TimerO LabClk. Caption=Val(LabClk Caption)+1 End Sub 7.在窗体上建立了两个文本框 TextI及Text2,两个命令按钮 Commandl及 Command2(“复制”及“粘 贴”)。在文本框Text1中输入文本“复制文本的演示程序” Private Sub Command1 Click “复制”按钮 Command2 Enabled True End Sub Private Sub Command2 Click “粘贴”按钮 Text2. Text Text seltext Commandl, Enabled False Command2 Enabled Fal End sub Private Sub Form Load Commandl Enabled= False Command2 Enabled False End Sub Private Sub Text1 MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Textl. SelLength >0 Then Commandl Enabled True End Sub 第5章《编程及上机调试》 和数为:1.21。程序代码如下 Private Sub Form Loado 0 For k =1 To l(
4 Case Else s = "*" End Select Text2.Text = Text2.Text + s End Sub 5. 分别选择”红”、 ”绿”、 ”蓝”复选框后,单击命令按钮 Command1 时,通过 RGB 函数调配的颜 色作为一个标签的背景色(BackColor)。 Private Sub Command1_Click() r = 0: g = 0: b = 0 If Check1.Value = 1 Then '”红”复选框 r = 255 End If If Check2.Value = 1 Then '”绿”复选框 g = 255 End If If Check3.Value = 1 Then '”蓝”复选框 b = 255 End If Label1.BackColor = RGB(r, g, b) End Sub 6.程序代码如下: Private Sub Form_Load() LabClk.Caption = "0" LabClk.Alignment = 1 LabClk.BorderStyle = 1 LabClk.FontSize = 22 LabClk.FontName = "黑体" TimClk.Interval = 1000 End Sub Private Sub TimClk_Timer() LabClk.Caption = Val(LabClk.Caption) + 1 End Sub 7. 在窗体上建立了两个文本框 Text1 及 Text2,两个命令按钮 Command1 及 Command2(“复制”及“粘 贴”)。在文本框 Text1 中输入文本“复制文本的演示程序”。 Private Sub Command1_Click() '“复制”按钮 Command1.Enabled = True Command2.Enabled = True End Sub Private Sub Command2_Click() '“粘贴”按钮 Text2.Text = Text1.SelText Command1.Enabled = False Command2.Enabled = False End Sub Private Sub Form_Load() Command1.Enabled = False Command2.Enabled = False End Sub Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Text1.SelLength > 0 Then Command1.Enabled = True End If End Sub 第 5 章《编程及上机调试》 1. 和数为:1.21。程序代码如下: Private Sub Form_Load() Show s = 0 For k = 1 To 100
kexr8=s+1/(1+k*4) Print s=": Format(s, ## 00") 2.程序代码如下: Private Sub Form Load Dim i As Integer, a As Integer, b As Integer, c As Integer a= Int(i/ 100) b=Int((i-100*a)/10) i-100 10*b If a a a+ b*b*b+ c*=c=i then End if End sub 3.在窗体上建立一个文本框Text1(初始值)、一个列表框List1(显示结果)和一个命令按钮 Comd 1(“查找”)。 Private Sub Comd1 Click “查找” Dim n As Integer n= Val(TextI Text) List. Clear: k=0 Do While k 99 (n List. Additem n End if 4.在窗体上建立一个列表框Lt1和一个“显示表项”命令按钮 Command I。程序代码如下: Private Sub Command1 click 显示表项"按钮单击事件 Fontsize = I For i =0 To list. ListCount -1 逐项判断 If Listl Selected(i)Then 真时为选中 Print Listl List(i) (1)KeyPress (2)Combol List(k) (3)Combol AddItem 6.程序代码如下: Private Sub Form Loado Dim a As single, xno As Single, xnl As Single a=Val( InputBox("请输入一个正数")) xnI =a xnl =(xn0+ a/ xn0)/2 Loop While Abs(xn0-xn1)>=0.00001 Print a;"的平方根为";xnl End sub 第6章《编程及上机调试》 程序代码如下 Private Sub Form load Dim a(6, 6)As Integer
5 s = s + 1 / (1 + k * 4) Next k Print "s="; Format(s, "##.00") End Sub 2. 程序代码如下: Private Sub Form_Load() Dim i As Integer, a As Integer, b As Integer, c As Integer Show For i = 100 To 999 a = Int(i / 100) b = Int((i - 100 * a) / 10) c = i - 100 * a - 10 * b If a * a * a + b * b * b + c * c * c = i Then Print i End If Next i End Sub 3. 在窗体上建立一个文本框 Text1(初始值)、一个列表框 List1(显示结果)和一个命令按钮 Comd1(“查找”)。 Private Sub Comd1_Click() '“查找” Dim n As Integer n = Val(Text1.Text) List1.Clear:k = 0 Do While k = 0.00001 Print a; "的平方根为"; xn1 End Sub 第 6 章《编程及上机调试》 1. 程序代码如下: Private Sub Form_Load() Dim a(6, 6) As Integer
For j=I To 6 a(i, j) Print a(i, j) Print t=a(1,i):a(1,i)=a(6,i):a(6,i)=t Next i j=1 To 6 Print 2.程序代码如下 ivate Sub Form load Dim max As Integer, r As Integer, c As Integer x=Int(900*Rnd+100) 产生一个随机数 (i,j)= Print 0 l:c=1 Ifa(i,j)〉 max Then 判断有无更大数 最大值为: Print"位于行:";r,"列:";c End sub 3.在窗体上建立两个列表框List1(处理前数据)和List2(处理后数据),以及标签 Labell。程序代 码如下 Private Sub Form Load Dim a(100)As Integer, b(100)As Intege 输入数组a的n个元素 x Int(20 Rnd)
6 Show For i = 1 To 6 For j = 1 To 6 Select Case i Case Is j a(i, j) = 2 Case Is = j a(i, j) = 0 End Select Print a(i, j); Next j Print Next i For i = 1 To 6 t = a(1, i):a(1, i) = a(6, i):a(6, i) = t Next i Print: Print For i = 1 To 6 For j = 1 To 6 Print a(i, j); Next j Print Next i End Sub 2. 程序代码如下: Option Base 1 Private Sub Form_Load() Dim a(8, 8) As Integer, n As Integer Dim max As Integer, r As Integer, c As Integer Show Randomize n = 8 For i = 1 To n For j = 1 To n x = Int(900 * Rnd + 100) '产生一个随机数 a(i, j) = x Print x; Next j Print Next i max = 0: r = 1: c = 1 Print For i = 1 To n For j = 1 To n If a(i, j) > max Then '判断有无更大数 max = a(i, j): r = i: c = j End If Next j, i Print "最大值为:"; max Print "位于行:"; r, "列:"; c End Sub 3.在窗体上建立两个列表框 List1(处理前数据)和 List2(处理后数据),以及标签 Label1。程序代 码如下: Private Sub Form_Load() Dim a(100) As Integer, b(100) As Integer Randomize n = 100 For i = 1 To n '输入数组 a 的 n 个元素 x = Int(20 * Rnd) List1.AddItem x a(i) = x
Next i For i =1 To n 删除零元素 If a(i)<>tHen k=k+1: b(k)= a(i): List2 AddItem b(k) End if Labell. Caption="数组中零元素个数:"+Str(n-k) End sub 4.在窗体 WinForm1中建立1个单选按钮组Opt1和1个命令按钮Cmdl,单选按钮组包含3个单选按 钮,其标题分别为“单选1”、“单选2”和“单选3”,下标分别为0、1和2。设置第一个单选按钮被选中。 程序代码如下 Dim n As Integer Private Sub Cmd1 Click n=n+1 If n=3 Then n=0 Optl(n). Value = True End Sub (2)t=n(i):n(i)=n(j):n(j)=t (2)s(i)9 Then Next k End functio 2.在窗体上建立一个文本框控件数组Text1(0)~Text1(5)、一个文本框Text2和一个命令按钮 Command l(“比较”)。文本框控件数组用于输入6个数,Text2用于输出结果。 Private Sub Command1 Click Dim d(5)As Single, m As Single d(k)= Val(TextI(k). Text) Next k Call max(d(o), d(1), d(2), m) Call max(m, d (3), d(4), m) Call max(m, m, d(5), m)
7 Next i k = 0 For i = 1 To n '删除零元素 If a(i) <> 0 Then k = k + 1 : b(k) = a(i) : List2.AddItem b(k) End If Next i Label1.Caption = "数组中零元素个数:" + Str(n - k) End Sub 4.在窗体 WinForm1 中建立 1 个单选按钮组 Opt1 和 1 个命令按钮 Cmd1,单选按钮组包含 3 个单选按 钮,其标题分别为“单选 1”、“单选 2”和“单选 3”,下标分别为 0、1 和 2。设置第一个单选按钮被选中。 程序代码如下: Dim n As Integer Private Sub Cmd1_Click() n = n + 1 If n = 3 Then n = 0 Opt1(n).Value = True End Sub 5. (1) s(i) s(i-1) (4) h = h + 1 第 7 章《编程及上机调试》 1. 在窗体上建立四个文本框 Text1 和一个命令按钮 Command1(“检验”)。文本框 Text1~Text3 用于 输入,Text4 用于输出结果。 Private Sub Command1_Click() Dim a As String, b As String, c As String a = Trim(Text1.Text) b = Trim(Text2.Text) c = Trim(Text3.Text) If che(a) And che(b) And che(c) Then Text4.Text = Val(a) + Val(b) + Val(c) Else Text4.Text = "存在非数字字符" End If End Sub Function che(x As String) As Boolean '若存在非数字字符,函数值为假 che = True For k = 1 To Len(x) s = Mid(x, k, 1) If s "9" Then che = False Exit For End If Next k End Function 2.在窗体上建立一个文本框控件数组 Text1(0)~Text1(5)、一个文本框 Text2 和一个命令按钮 Command1(“比较”)。文本框控件数组用于输入 6 个数,Text2 用于输出结果。 Private Sub Command1_Click() Dim d(5) As Single, m As Single For k = 0 To 5 d(k) = Val(Text1(k).Text) Next k Call max(d(0), d(1), d(2), m) Call max(m, d(3), d(4), m) Call max(m, m, d(5), m)
模块文 max 比较三个数x、y、z的大小,并返回大数m If x >y Then m =x Else m=y If m (2)Mid(s,p+1) (3)Listl ListCount 4.程序代码如下: Private Sub Form Load Dim x As Single, n As Integer, y As Double x= InputBox("x=","求X的n次方") n= InputBox("n=","求X的n次方") Show Print x;"的":n:"次方="; Format(y,"##,#排#.#") End Sub Function Power( As Single, n As Integer)As Double If n> I then Power= Power(x, n-1)*x Else Power = x End function 5.创建一个新工程,建立二个窗体 Forml及Form2,把Form2设置为启动窗体。在 Forml中设置命 令按钮C1,Form2中设置命令按钮C2。 程序代码如下 Private Sub C1 Click 窗体 Forml的“隐藏”按钮 Forml hide nd Sub Private Sub C2 Click 窗体Form2的“显示”按钮 Forml Show End Sub 6.在窗体上设置三个窗体Form1~Form3 Forml中建立了两个文本框Text(用户名”和Text2(“密 码”),以及命令按钮 Command1(“判断”)。Form2中建立了一个文本框 TextI(其Text属性值为“欢迎你 使用本系统”)和命令按钮 Commandl(“返回”)。Form3中建立了一个文本框Text(其Text属性值为“对 不起,请向管理员查询”)和命令按钮 Command1(“退出”) Dim n As Integer Private Sub Command1 Click 窗体 FormI的“判断” usern Trim(TextI Text): passw Trim(Text2 Text) username And passw =password Then n=n+l: Text. setFocus If n= 3 Thel Forml Hide Form3. She End if End if Textl, Text = Text2 Text End Sub Private Sub Form activate TextI, Text = Text2 Text= Text Set Focu
8 Text2.Text = m End Sub '标准模块文件 Sub max(x, y, z, m) '比较三个数 x、y、z 的大小,并返回大数 m If x > y Then m = x Else m = y If m "" (2) Mid(s, p+1) (3) List1.ListCount 4. 程序代码如下: Private Sub Form_Load() Dim x As Single, n As Integer, y As Double x = InputBox("x=", "求 X 的 n 次方") n = InputBox("n=", "求 X 的 n 次方") y = Power(x, n) Show Print x; "的"; n; "次方="; Format(y, "###,###.##") End Sub Function Power(x As Single, n As Integer) As Double If n > 1 Then Power = Power(x, n - 1) * x Else Power = x End If End Function 5. 创建一个新工程,建立二个窗体 Form1 及 Form2,把 Form2 设置为启动窗体。在 Form1 中设置命 令按钮 C1,Form2 中设置命令按钮 C2。 程序代码如下: Private Sub C1_Click() ‘窗体 Form1 的“隐藏”按钮 Form1.Hide End Sub Private Sub C2_Click() ‘窗体 Form2 的“显示”按钮 Form1.Show End Sub 6.在窗体上设置三个窗体 Form1~Form3。Form1 中建立了两个文本框 Text1(“用户名”)和 Text2(“密 码”),以及命令按钮 Command1(“判断”)。Form2 中建立了一个文本框 Text1(其 Text 属性值为“欢迎你 使用本系统”)和命令按钮 Command1(“返回”)。Form3 中建立了一个文本框 Text1(其 Text 属性值为“对 不起,请向管理员查询”)和命令按钮 Command1(“退出”)。 Dim n As Integer Private Sub Command1_Click() ‘窗体 Form1 的“判断” usern = Trim(Text1.Text):passw = Trim(Text2.Text) If usern = "username" And passw = "password" Then Form1.Hide Form2.Show Else n = n + 1:Text1.SetFocus If n = 3 Then Form1.Hide Form3.Show End If End If Text1.Text = "":Text2.Text = "" End Sub Private Sub Form_Activate() Text1.Text = "":Text2.Text = "" Text1.SetFocus
Private sub command1 Click0‘窗体Form2的“返回” Form2 Hide Private Sub Command1 Click(‘窗体Form3的“退出” Unload Form2 Un load form3 End Sub 第8章《编程及上机调试》 在窗体上建立一个列表框List1(存放从文件中读出的数据)、一个文本框(存放累加值)和三个命令 按钮 and3。程序代码如下 Private Sub Command1 Click 写入数据 Dim x As Integer Open MyFile3 txt For Output As #l For x =1 To 10 Write #l Close #1 End Sub Private Sub Command2 Click 读出并累加 Dim x As Integer, sum As Integer stl. clea Input #l, Text. Text End sub Private Sub Command3 Click 结束” 2.程序代码如下 Private Sub Command1 Click ”产生随机数 For i =1 To 20 d(i)=Int(1+99 Rnd Listl AddItem d(i) Private Sub Command2 Click 保存 en" MyFile3 txt For Output As #l For i =1 To 20 Write #l, d(i) End Sub te Sub command 出 Open My File3. txt For Input As #I While
9 End Sub Private Sub Command1_Click() ‘窗体 Form2 的“返回” Form2.Hide Form1.Show End Sub Private Sub Command1_Click() ‘窗体 Form3 的“退出” Unload Form1 Unload Form2 Unload Form3 End End Sub 第 8 章《编程及上机调试》 1. 在窗体上建立一个列表框 List1(存放从文件中读出的数据)、一个文本框(存放累加值)和三个命令 按钮 Command1~Command3。程序代码如下: Private Sub Command1_Click() '"写入数据" Dim x As Integer Open "MyFile3.txt" For Output As #1 For x = 1 To 10 Write #1, x Next x Close #1 End Sub Private Sub Command2_Click() '"读出并累加" Dim x As Integer, sum As Integer Open "MyFile3.txt" For Input As #1 List1.Clear sum = 0 Do While Not EOF(1) Input #1, x List1.AddItem x sum = sum + x Loop Close #1 Text1.Text = sum End Sub Private Sub Command3_Click() '"结束" End End Sub 2. 程序代码如下: Dim d(1 To 20) As Integer Private Sub Command1_Click() '"产生随机数" For i = 1 To 20 d(i) = Int(1 + 99 * Rnd) List1.AddItem d(i) Next i End Sub Private Sub Command2_Click() '"保存" Open "MyFile3.txt" For Output As #1 For i = 1 To 20 Write #1, d(i) Next i Close #1 End Sub Private Sub Command3_Click() '"读出" Open "MyFile3.txt" For Input As #1 Do While Not EOF(1)
List2 Additon Private Sub Command Click 3.本程序的用户界面和程序代码较为复杂,请见具体程序文件 第9章《编程及上机调试》 1.程序代码如下 Private Sub Form load Dim x(3)As Single, y As Single On Error goto errln 以后出错时转移到 errln Err. Raise ll 产生"除数为0″的错误 Err. Raise 9 产生”下标越界"的错误 MsgBox("终止程序的运行”) 标号 Select case err. Number Case Il 除数为0的错误码为11 MsgBox("除数为0(错误码为11),跳过该错误") Resume next Case 9 下标越界”的错误码为9 MsgBox("下标越界(错误码为9),跳过该错误”) Resume Next 返回 se el 其他错误处理 MsgBox("错误发生在"&Err. Source_ &",代码为"&Err. Number &",即"&Err.Deso 2.改正后的程序代码如下 Private Sub Form Load Print Tab (20-1) For j= I To 2*1-1 If j se If k>9 Then k =k +7 Print Chr(k +48) End Sub 3.解法一程序如下: Private Sub Form Load Show 324 For a=23 To t Step 23 For b=19 To t Step 19 For c=43 To t Step 43 Print"这三个加数是 End if
10 Input #1, x List2.AddItem x Loop Close #1 End Sub Private Sub Command4_Click() '"结束" End End Sub 3. 本程序的用户界面和程序代码较为复杂,请见具体程序文件。 第 9 章《编程及上机调试》 1. 程序代码如下: Private Sub Form_load() Dim x(3) As Single, y As Single On Error GoTo errln '以后出错时转移到 errln Err.Raise 11 '产生"除数为 0"的错误 Err.Raise 9 '产生"下标越界"的错误 MsgBox ("终止程序的运行") End errln: '标号 Select Case Err.Number Case 11 '"除数为 0"的错误码为 11 MsgBox ("除数为 0(错误码为 11),跳过该错误") Resume Next '返回 Case 9 '"下标越界"的错误码为 9 MsgBox ("下标越界(错误码为 9),跳过该错误") Resume Next '返回 Case Else '其他错误处理 MsgBox ("错误发生在" & Err.Source _ & ", 代码为" & Err.Number _ & ", 即" & Err.Description) End Select End Sub 2.改正后的程序代码如下: Private Sub Form_Load() Show For i = 1 To 11 Print Tab(20 - i); For j = 1 To 2 * i - 1 If j 9 Then k = k + 7 Print Chr(k + 48); Next j Next i End Sub 3.解法一程序如下: Private Sub Form_Load() Show t = 324 For a = 23 To t Step 23 For b = 19 To t Step 19 For c = 43 To t Step 43 If a + b + c = t Then Print "这三个加数是:"; a, b, c End If Next c, b, a