当前位置:文档之家› VB程序设计教程(第3版)课后实验答案

VB程序设计教程(第3版)课后实验答案

本文由jgig11贡献
doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
实验 A A.1 .
Private Sub Command1_Click() Label3 = Text1 End Sub
A.2 .
Private Sub Form_Load() Timer1.Interval = 0 End Sub Private Sub Command1_Click() '自动 Timer1.Interval = 200 End Sub Private Sub Command2_Click() '手动 Timer1.Interval = 0 Call MyMove End Sub Private Sub Timer1_Timer() Call MyMove End Sub Sub MyMove() Label1.Move Label1.Left - 50 If Label1.Left < 0 Then Label1.Left = Form1.Width End Sub
A.3 .
Private Sub Form_Click() Text1 = Val(Text1) + 1 End Sub Private Sub Form_Load() Text1 = 0 End Sub
A.4 .
Private Sub Form_Click() Caption = "单击窗体,改变图片" Picture = LoadPicture(App.Path + "\n_015.bmp") Print "欢迎使用 VB" End Sub Private Sub Form_DblClick() Cls Caption = "双击窗体,卸去图片"
Picture = LoadPicture("") ' End Sub Private Sub Form_Load() Caption = "装入窗体" Picture = LoadPicture(App.Path + "\n_016.bmp") Print "装入图" End Sub Private Sub Form_Resize() ' 该事件的作用窗体始终与图一样大 'Caption = "窗体大小不变" 'Form1.Width = 260 * 16 ' 260 是 Tongji-2.bmp 图的宽度,象素单位 'Form1.Height = 260 * 16 + 200 ' 260 是图的高度,象素单位,200 是窗体的标题栏高度 End Sub
A.5 .
Sub Command1_Click() Text1.FontName = "隶书" Text1.FontSize = 25 End Sub Sub Command2_Click() Text2.Text = Text1.SelText Text2.FontName = Text1.FontName Text2.FontSize = Text1.FontSize End Sub
实验 B B.1 .
Private Sub Command1_Click() Text2 = Format(5 / 9 * (Val(Text1) - 32), "0.00") End Sub Private Sub Command2_Click() Text1 = Format(9 / 5 * Val(Text2) + 32, "0.00") End Sub 或 Private Sub Command1_Click() Dim f!, c! ' 声明两个变量 f = Val(Text1) c = 5 / 9 * (f - 32) Text2 = Format(c, "0.00") ' 保留两位小数 End Sub Private Sub Command2_Click() Dim ff!, cc! ' 声明两个变量 cc = Val(Text2) ff = 9 / 5 * cc + 32
Text1 = Format(ff, "0.00") End Sub
' 保留两位小数
B.2 .
Private Sub Command1_Click() Label2 = Format(Val(Text1) * Val(Text1) * 3.14, "0.00") End Sub Private Sub Command2_Click() Label3 = Format(Val(Text1) * 3.14 * 2, "0.00") End Sub Private Sub Text1_LostFocus() If Not IsNumeric(Text1.Text) Then MsgBox "输入有非数字字符,请重新输入", , "警告" Text1.Text = "" Text1.SetFocus End If End Sub 或 Private Sub Command1_Click() Label2 = Format(Val(Text1) * Val(Text1) * 3.14, "0.00") End Sub Private Sub Command2_Click() Label3 = Format(Val(Text1) * 3.14 * 2, "0.00") End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If Not IsNumeric(Text1.Text) Then Text1.Text = "" End If End If End Sub
B.3 .
Private Sub Command1_Click() n = Int(Log(2) / Log(1.008) + 1) Label1 = n & "年后人数超过 26 亿" End Sub
B.4 .
Private Sub Command1_Clic

k() Dim x, dx, cd x = Text1.Text dx = UCase(x) cd = Len(x)
Print "大写字母为:"; dx Print "字符串长度为:"; cd End Sub
B.5 .
Private Sub Command1_Click() Text1 = Int(Rnd * 900 + 100) End Sub Private Sub Command2_Click() Dim x%, x1%, x2%, x3% x = Val(Text1) x1 = x Mod 10 ' 分离出的个位数 x2 = (x Mod 100) \ 10 ' 分离出的十位数 x3 = x \ 100 ' 分离出的百位数 Label1 = x1 * 100 + x2 * 10 + x3 End Sub
B.6 .
Private Sub Form_Click() Label1 = Left(Text1, 11) Label2 = Mid(Text1, 12, 6) Label3 = Right(Text1, 5) End Sub
B.7 .
Private Sub Command1_Click() Print For i = 1 To 5 Print Tab(15 - i * 2); String(2 * i - 1, "★"); Spc(18 - 4 * (i - 1)); String(2 * i - 1, "★") Next i End Sub Private Sub Command2_Click() Cls End Sub 进一步要求: Private Sub Command1_Click() Print For i = 1 To 5 Print Tab(15 - i * 2); String(2 * i - 1, "★"); String(10 - (2 * i - 1), "☆"); String(2 * i - 1, "★ ") Next i End Sub Private Sub Command2_Click() Cls
End Sub
B.8 .
Private Sub Form_Click() x = Val(InputBox("输入一正实数", "计算", 0)) pf = Format(x * x, "0.000") pfg = Format(Sqr(x), "0.000") lf = Format(x * x * x, "0.000") lfg = Format(x ^ (1 / 3), "0.000") Print "平方为:"; pf; Space(5); "平方根为:"; pfg; Space(5); "立方为:"; lf; Space(5); "立方根为:"; lfg End Sub
实验 C C.1 .
Private Sub Form_Click() Dim x!, y! x = Val(InputBox("输入 x 的值")) If x < 1000 Then y=x ElseIf x < 2000 Then y = 0.9 * x ElseIf x < 3000 Then y = 0.8 * x Else y = 0.7 * x End If Print y End Sub
C.2 .
Private Sub Form_Click() Dim x!, y! x = Val(InputBox("输入上网时间")) If x < 10 Then y = 30 ElseIf x < 50 Then y = 30 + 2.5 * (x - 10) Else y = 30 + 2.5 * 40 + 2 * (x - 50) End If If y > 150 Then y = 150
End If Print y End Sub
C.3 .
Private Sub Command1_Click() Dim x!, y!, z! x = InputBox("input x") y = InputBox("input y") z = InputBox("input z") Print " x y z" Print " 排序前"; x; " "; y; " "; z If x < y Then t = x: x = y: y = t If x < z Then t = x: x = z: z = t If y < z Then t = y: y = z: z = t Print " 排序后" & x & " " & y & " End Sub Private Sub Command2_Click() Dim x!, y!, z! x = InputBox("input x") y = InputBox("input y") z = InputBox("input z") Print " x y z" Print " 排序前"; x; " "; y; " "; z If x < y Then t = x: x = y: y = t If y < z Then t = y: y = z: z = t If x < y Then t = x: x = y: y = t End If End If Print " 排序后" & x & " " & y & " End Sub
"&z
"&z
C.4 .
Dim a(3) As Integer Private Sub Command1_Click() Picture1.Cls For i = 0 To 2 a(i) = Int(Rnd * 100 + 200) Picture1.Print a(i) Next i End Sub Private Sub Command2_Click()
Picture2.Cls Dim z As Integer For i = 0 To 1 If a(i) > a(i + 1) Then z = a(i + 1) a(i + 1) = a(i) a(i) = z End If Next i Picture2.Print a(0) Picture2.Print a(1) Picture2.Print a(2) End Sub
C.5 .
Private Sub Text2_LostFocus() Dim m%, n%,

y% m = Val(Text1) n = Val(Text2) If n Mod 2 <> 0 Then MsgBox ("脚数必定为偶数") Text2 = "" Text2.SetFocus Else y=n/2-m If y < 0 Then MsgBox ("脚数必须≥2 倍的头数,请重新输入") Text2 = "" Text2.SetFocus Else x=n/2-m Label2 = y Label3 = m - y End If End If End Sub
C.6 .
Private Sub Command1_Click() Dim a!, b!, c!, x1!, x2!, de! a = Text1 b = Text2 c = Text3 de = b * b - 4 * a * c
t=2*a If de = 0 Then Text4 = Format(-b / t, "0.00") Text5 = Format(-b / t, "0.00") ElseIf de > 0 Then Text4 = Format((-b + Sqr(de)) / t, "0.00") Text5 = Format((-b - Sqr(de)) / t, "0.00") Else Text4 = Format(-b / t, "0.00") & "+" & Format(Sqr(Abs(de)) / t, "0.00") & "i" Text5 = Format(-b / t, "0.00") & "-" & Format(Sqr(Abs(de)) / t, "0.00") & "i" End If End Sub Private Sub Command2_Click() Text1 = "" Text2 = "" Text3 = "" Text4 = "" Text5 = "" End Sub
C.7 .
Private Sub Text3_LostFocus() Select Case Trim(Text3) Case "+" Text4 = Val(Text1) + Val(Text2) Case "-" Text4 = Val(Text1) - Val(Text2) Case "*" Text4 = Val(Text1) * Val(Text2) Case "/" If Val(Text2) = 0 Then MsgBox "分母为零,重新输入" Text2 = "" Text2.SetFocus Else Text4 = Val(Text1) / Val(Text2) End If End Select End Sub
C.8 .
Private Sub Text1_LostFocus() Select Case Trim(Text1) Case 1
Text2 = "Monday" Case 2 Text2 = "Tuesday" Case 3 Text2 = "Wednesday" Case 4 Text2 = "Thursday" Case 5 Text2 = "Friday" Case 6 Text2 = "Saturday" Case 7 Text2 = "Sunday" Case Is > 7, Is < 1 MsgBox "数字为 1~7,重新输入" Text1 = "" Text1.SetFocus End Select End Sub 或者 Private Sub Text1_LostFocus() If Text1 > 7 Or Text1 < 1 Then MsgBox "数字为 1~7,重新输入" Text1 = "" Text1.SetFocus Else Text2 = Choose(Text1, "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday") End If End Sub
实验 D D.1 .
Private Sub Form_Click() For i = 1 To 9 Print Tab(10 - i); String(2 * i - 1, Trim(Str(i))) Next i End Sub
D.2 .
Private Sub Form_Click() For i = 1 To 10 Step 1 Print Tab(i); String((20 - 2 * i), Chr(64 + i))
Next i End Sub
D.3 .
Private Sub Command1_Click() Dim s!, t!, i& s=1 t=1 For i = 1 To 100000 t=t+i s=s+1/t If 1 / t < 0.00001 Then Exit For Next i Print "For 结构"; s, i; "项" End Sub
D.4 .
Private Sub Command1_Click() Dim n&, pi#, i& n = InputBox("输入 n 值") pi = 2 For i = 1 To n pi = pi * (2 * i) / (2 * i - 1) * (2 * i) / (2 * i + 1) Next i Print "当 n=" & n & "时,pi="; pi End Sub
D.5 .
Private Sub Form_Click() Dim s!, t!, i!, a%, n% a = Int(Rnd * 9 + 1) n = Int(Rnd * 6 + 5) t = 0: s = 0 Print "a="; a, "n="; n For i = 1 To n t = t * 10 + a s=s+t Print t; Next i Print Print "s="; s End Sub
D.6 .
Private Sub Command1_Click() Dim s As Integer s=0 For i = 1 To 9 For j = 0 To 9 For k = 0 To 9 s = i * 100 + j * 10 + k If s = i ^ 3 + j ^ 3 + k ^ 3 Then Print s End If Next k Next j Next i End Sub Private Sub Command3_Click() fo

rmd6.Hide main.Show End Sub
D.7 .
Private Sub Command1_Click() Dim a!, x0!, x1! a = 27 x0 = 2 i=0 Do i=i+1 x1 = 2 * x0 / 3 + a / (3 * x0 * x0) If Abs(x1 - x0) < 0.00001 Then Exit Do x0 = x1 Loop Print x1, i End Sub
D.8 .
Private Sub Command1_Click() s=0 x0 = 0.01 For i = 1 To 30 s = s + x0 x0 = x0 * 2 Next i Print s End Sub
D.9 .
Private Sub Command4_Click() Picture1.Cls Picture1.Print "x 课安排在 "; "y 课安排在 "; "z 课安排在 " Picture1.Print "" For z = 5 To 6 For x = 1 To z - 2 For Y = x + 1 To z - 1 X1 = Choose(Weekday(x), "周一", "周二", "周三", "周四", "周五", "周六", "周日") Y1 = Choose(Weekday(Y), "周一", "周二", "周三", "周四", "周五", "周六", "周日") z1 = Choose(Weekday(z), "周一", "周二", "周三", "周四", "周五", "周六", "周日") Picture1.Print " "; X1; " "; Y1; " "; z1 Next Y Next x Next z End Sub
实验 E
E.1 .
Private Sub Form_Click() Dim a(1 To 10) As Integer For i = 1 To 10 a(i) = Int(Rnd * 71 + 30) Print a(i); " "; Next i Max = a(1) Min = a(1) Avg = a(1) For i = 2 To 10 If a(i) > Max Then Max = a(i) If a(i) < Min Then Min = a(i) Avg = Avg + a(i) Next i Avg = Avg / 10 Print Print "Max="; Max; " Min="; Min; " Avg="; Avg End Sub
E.2 .
Private Sub Form_Click() Dim a a = Array(56, 78, 98, 88, 76, 78) For i = 0 To 5
Print String(a(i) \ 5, "◆"); a(i) Print Next i End Sub
E.3 .
Dim a%(19) Private Sub Command1_Click() Picture1.Cls For i = 0 To 19 a(i) = Int(Rnd * 101) Picture1.Print a(i); " "; If (i + 1) Mod 4 = 0 Then Picture1.Print Next i End Sub Private Sub Command2_Click() Picture2.Cls Dim s(5 To 9) For i = 0 To 19 k = a(i) \ 10 Select Case k Case 0 To 5 s(5) = s(5) + 1 Case 9 To 10 '90~100 分的人数 s(9) = s(9) + 1 Case 6 To 8 ' 存放其他三个分数段的下标有规律,根据 K 获得 s(k) = s(k) + 1 End Select Next i For i = 5 To 9 If s(i) <> 0 Then Picture2.Print "s("; i; ")的人数有 "; Format(s(i), "0"); "个" Next i End Sub
E.4 .
Private Sub Command1_Click() Picture1.Cls Dim d%(1 To 10) For i3 = 1 To 10 Randomize d(i3) = Int(Rnd * 91 + 10) Next i3 For i = 1 To 10
For j = 1 To 10 - i If d(j) < d(j + 1) Then t = d(j): d(j) = d(j + 1): d(j + 1) = t End If Next j Next i For i = 1 To 10: Picture1.Print d(i); If i Mod 5 = 0 Then Picture1.Print Next i End Sub
E.5 .
Dim a%(3, 3), b%(3, 3) Private Sub Form_Load() For i = 0 To 3 For j = 0 To 3 a(i, j) = Int(Rnd * 36 + 35) b(i, j) = Int(Rnd * 41 + 100) Next j Next i End Sub Private Sub Command1_Click() Picture1.Cls For i = 0 To 3 For j = 0 To i Picture1.Print a(i, j); " "; Next j Picture1.Print Next i End Sub Private Sub Command2_Click() Picture2.Cls For i = 0 To 3 For j = i To 3 Picture2.Print Tab(j * 6); b(i, j); Next j Picture2.Print Next i End Sub Private Sub Command3_Click() Picture3.Cls sa = 0 For i = 0 To 3
sa = sa + a(i, i) Next i sb = 0 For i = 0 To 3 sb = sb + b(i, 3 - i) Next i Pictu

re3.Print "A 数组主对角线元素和为:"; sa Picture3.Print "B 数组副对角线元素和为:"; sb End Sub
E.6 .
Private Sub Form_Click() n = InputBox("输入 n 值") ReDim a6%(n + 1, n + 1) a6(0, 0) = 1: a6(1, 1) = 1: a6(1, 0) = 1 For i = 2 To n + 1 For j = 2 To i a6(i, j) = a6(i - 1, j - 1) + a6(i - 1, j) Picture1.Print a6(i, j); ""; Next j Picture1.Print Next End Sub
E.7 .
Private Sub Form_Load() List1.Clear List1.AddItem "大学计算机基础" List1.AddItem "C/C++程序设计" List1.AddItem "VB 程序设计" List1.AddItem "Web 程序设计" List1.AddItem "多媒体技术与应用" List1.AddItem "数据库技术与应用" List1.AddItem "网络技术与应用" List1.AddItem "硬件技术基础" List1.AddItem "软件技术技术基础" End Sub Private Sub List1_Click() If List2.ListCount >= 5 Then MsgBox ("超过 5 门课程,不能再选") Exit Sub Else List2.AddItem List1.Text
List1.RemoveItem List1.ListIndex End If End Sub
E.8 .
Sub Combo1_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 48 To 57, 13 Case Else KeyAscii = 0 End Select If KeyAscii = 13 Then Combo1.AddItem Combo1.Text Combo1.Text = "" End If End Sub Private Sub Command1_Click() Dim min%, max% min = Val(Combo1.List(0)) max = Val(Combo1.List(0)) imin = 0 imax = 0 For i = 1 To Combo1.ListCount - 1 If Val(Combo1.List(i)) > max Then imax = i max = Combo1.List(i) ElseIf Val(Combo1.List(i)) < min Then imin = i min = Combo1.List(i) End If Next i t = Combo1.List(0) Combo1.List(0) = Combo1.List(imin) Combo1.List(imin) = t t = Combo1.List(Combo1.ListCount - 1) Combo1.List(Combo1.ListCount - 1) = Combo1.List(imax) Combo1.List(imax) = t End Sub
E.9 .
Private Sub Form_Click() For i = 0 To Screen.FontCount - 1 If Asc(Left(Screen.Fonts(i), 1)) < 0 Then
Picture1.Print Screen.Fonts(i) Picture2.FontName = Screen.Fonts(i) Picture2.Print "商丘师范学院" End If Next i End Sub
E.10 .
Private Type clerk number As String * 3 name As String * 5 salary As Integer End Type Dim a(0 To 4) As clerk, n% Private Sub Command1_Click() If n >= 5 Then MsgBox ("输入人数超过数组声明的个数") Else With a(n) .number = Text1 .name = Text2 .salary = Text3 Picture1.Print a(n).number, a(n).name, a(n).salary Print End With n=n+1 Text1 = "" Text2 = "" Text3 = "" End If End Sub Private Sub Command2_Click() Dim t As clerk, i%, j% For i = 0 To n - 1 For j = i To n - 1 If a(i).salary < a(j + 1).salary Then t = a(i): a(i) = a(j + 1): a(j + 1) = t End If Next j Next i Picture1.Cls Picture1.Print "工号 姓名
工资"
For i = 0 To n - 1 Picture1.Print a(i).number, a(i).name, a(i).salary Print Next i End Sub
实验 F F.1 .
Private Sub Form_Click() Dim a(1 To 10), amin, i% For i = 1 To 10 a(i) = -Int(Rnd * 101 + 300) Print a(i); Next i Call s(a(), amin) Print Print "min="; amin End Sub Sub s(b(), min) Dim i% min = b(LBound(b)) For i = LBound(b) + 1 To UBound(b) If b(i) < min Then min = b(i) Next

i End Sub
F.2 .
Private Sub Command1_Click() Dim mm%, nn% mm = Val(Text1) nn = Val(Text2) Picture1.Print mm; Tab(6); nn; Tab(12); gcd(mm, nn) End Sub Function gcd%(ByVal m%, ByVal n%) If m < n Then t = m: m = n: n = t r = m Mod n Do While (r <> 0) m = n: n = r: r = m Mod n Loop gcd = n End Function
F.3 .
Dim x! Private Sub Command1_Click() Print "调用标准函数 Sin 的结果"; Sin(x) End Sub Private Sub Command2_Click() Print "调用自定义函数 MySin 的结果"; MySin(x) End Sub Function MySin(x!) As Double Dim i%, t!, s! t=x s=t i=1 Do While Abs(t) > 0.00001 t = -1 * t * x * x / ((i + 1) * (i + 2)) s=s+t i=i+2 Loop MySin = s End Function Private Sub Command3_Click() x = InputBox("输入要计算正弦函数的角度值 x") x = x * 3.14 / 180 End Sub
F.4 .
Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If Not IsNumeric(Text1) Then MsgBox "输入非数字串,重新输入" Text1.Text = "" Text1.SetFocus Else If IsH(Text1) Then Picture1.Print Text1; " ★ " Else Picture1.Print Text1 End If Text1 = "" End If End If End Sub Function IsH(ss As String) As Boolean Dim i%, Ls% IsH = True
ss = Trim(ss) Ls = Len(ss) For i = 1 To Ls \ 2 If Mid(ss, i, 1) <> Mid(ss, Ls + 1 - i, 1) Then IsH = False Exit Function End If Next i End Function
F.5 .
Function prime(ByVal m As Integer) As Boolean prime = True Dim i% For i = 2 To m - 1 If (m Mod i) = 0 Then prime = False: Exit Function '注意冒号和 exit 的范围 Next i End Function Private Sub Command1_Click() n=0 For i = 6 To 100 Step 2 For j = 3 To i \ 2 If prime(j) Then If prime(i - j) Then List1.AddItem i & " =" & j & " +" & i - j n=n+1 End If End If Next j Next i Picture1.Print " 6 和 100 之间共有"; n; "对素数和" End Sub
F.6 .
Dim a%() Private Sub Form_Click() Print "1000 以内的完数为:" For i = 1 To 1000 If IsWs(i) Then Print i; "=1"; For j = 1 To UBound(a) Print "+"; a(j); Next j
Print End If Next i End Sub Function IsWs(m) As Boolean Dim s% s=0 For i = 1 To m \ 2 If m Mod i = 0 Then ReDim Preserve a(j) a(j) = i j=j+1 s=s+i End If Next i If m = s Then IsWs = True End Function
F.7 .
Private Sub DeleStr(s1 As String, ByVal s2 As String) Dim i% ls2 = Len(s2) i = InStr(s1, s2) Do While i > 0 s1 = Left(s1, i - 1) + Mid(s1, i + ls2) ' 在 s1 中去除 s2 子串 i = InStr(s1, s2) Loop End Sub Private Sub Command1_Click() ' 调用 DeleStr 子过程 Dim ss1 As String ss1 = Text1 Call DeleStr(ss1, Text2) Text3 = ss1 End Sub Private Sub Command2_Click() End Sub
F.8 .
Private Sub Command1_Click() Dim maxw$ maxlen Text1 & " ", maxw
Text2 = maxw End Sub Sub maxlen(s$, maxw$) Dim word$ maxw = "" Do While s <> "" i = InStr(s, " ") word = Left(s, i - 1) If Len(word) > Len(maxw) Then maxw = word s = Mid(s, i + 1) Loop End Sub
实验 G G.1 .
Private Sub Command1_Click() List1.Clear List1.AddItem Combo1 If Option1 Then List1.AddItem "Pentium II" If Opti

on2 Then List1.AddItem "Pentium I" If Option3 Then List1.AddItem "Celeron" List1.AddItem Text1 If Check1 Then List1.AddItem "声卡" If Check2 Then List1.AddItem "Modem" If Check3 Then List1.AddItem "网络适配器" End Sub Private Sub Text1_LostFocus() st = UCase(Trim(Text1)) le = Len(st) If Not IsNumeric(Left(st, le - 2)) Or Right(st, 2) <> "MB" Then MsgBox "有不合法字符!" Text1 = "" Text1.SetFocus End If End Sub
G.2 .
Private Sub Check1_Click() Picture1.Font.Bold = Not Picture1.Font.Bold End Sub Private Sub Check2_Click()
Picture1.Font.Italic = Not Picture1.Font.Bold End Sub Private Sub Command1_Click() Picture1.Cls If Option1 Then Picture1.Print Sin(Val(Text1)) ElseIf Option2 Then Picture1.Print Exp(Val(Text1)) ElseIf Option3 Then Picture1.Print Sqr(Val(Text1)) End If End Sub Private Sub return_Click(Index As Integer) Form6.Show Unload Form2 End Sub
G.3 .
Private Sub HScroll1_Change() Text1 = VScroll1.Value Text2 = HScroll1.Value Text3 = HScroll2.Value Text4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "0.00") Text5 = Format(Val(Text4) + Val(Text1), "0.00") End Sub Private Sub HScroll2_Change() Text1 = VScroll1.Value Text2 = HScroll1.Value Text3 = HScroll2.Value Text4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "0.00") Text5 = Format(Val(Text4) + Val(Text1), "0.00") End Sub Private Sub VScroll1_Change() Text1 = VScroll1.Value Text2 = HScroll1.Value Text3 = HScroll2.Value Text4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "0.00") Text5 = Format(Val(Text4) + Val(Text1), "0.00") End Sub
G.4 .
Dim t As Single Private Sub Command1_Click() t = InputBox("输入倒计时分钟数") t = t * 60 ProgressBar1.Min = 0 ProgressBar1.Max = t ProgressBar1.Value = t End Sub Private Sub Command2_Click() Timer1.Interval = 1000 ProgressBar1.Visible = True End Sub Private Sub Timer1_Timer() Dim m%, s% t=t-1 ProgressBar1.Value = t m = t \ 60 s = t Mod 60 Label1 = m & "分" & s & "秒" If t = 0 Then MsgBox "时间到!" Timer1.Interval = 0 ProgressBar1.Visible = False End If End Sub
G.5 .
Private Sub Command1_Click() CommonDialog1.ShowColor Label1.ForeColor = CommonDialog1.Color End Sub Private Sub Command2_Click() CommonDialog1.ShowOpen i = Shell("C:\WINDOWS\NOTEPAD.exe " + CommonDialog1.FileName, vbNormalFocus) End Sub
G.6 .
rivate Sub bold_Click() Text1.FontBold = Not Text1.FontBold bold.Checked = Not bold.Checked End Sub
Private Sub del_Click() Text1 = "" End Sub Private Sub end_Click() End End Sub Private Sub font12_Click() Text1.FontSize = 12 End Sub Private Sub font16_Click() Text1.FontSize = 16 End Sub Private Sub Form_Load() bold.Checked = False italic.Checked = False End Sub Private Sub italic_Click() Text1.FontItalic = Not Text1.FontItalic italic.Checked = Not italic.Checked End Sub Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu menu2 End Sub
G.7 .
Private Sub

Command1_Click() CommonDialog1.ShowColor Label1.ForeColor = CommonDialog1.Color End Sub Private Sub Command2_Click() CommonDialog1.ShowOpen i = Shell("C:\WINDOWS\NOTEPAD.exe " + CommonDialog1.FileName, vbNormalFocus) End Sub Private Sub return_Click(Index As Integer) Form6.Show
Unload Form5 End Sub
G.8 . G.9 .
Private Sub 结束_Click() End End Sub Private Sub 删除最大值_Click() max = List1.List(0) For i = 1 To List1.ListCount - 1 If max < List1.List(i) Then max = List1.List(i): j = i Next i List1.RemoveItem j End Sub Private Sub 删除最小值_Click() min = List1.List(0) For i = 1 To List1.ListCount - 1 If min > List1.List(i) Then min = List1.List(i): j = i Next i List1.RemoveItem j End Sub Private Sub 随机产生_Click() Randomize For i = 0 To 9 List1.List(i) = Int(Rnd * 30 + 70) Next i End Sub Private Sub 添加数据_Click() List1.AddItem Int(Rnd * 30 + 70) End Sub Private Sub 统计_Click() Dim max%, min%, ave!, m%, n% max = List1.List(0) min = List1.List(0) ave = List1.List(0) m=0 n=0
For i = 1 To List1.ListCount - 1 If max < List1.List(i) Then max = List1.List(i): m = i If min > List1.List(i) Then min = List1.List(i): n = i ave = ave + List1.List(i) Next i Form2.Text1 = List1.List(n) Form2.Text2 = List1.List(m) Form2.Text3 = Format(ave / List1.ListCount, "0.00") Form2.Show End Sub
G.10 .
Private Sub experimentG2_Click() Form2.Show End Sub Private Sub experimentG3_Click() Form3.Show End Sub Private Sub experimentG4_Click() Form4.Show End Sub Private Sub experimentG5_Click() Form5.Show End Sub Private Sub font_12_Click() Text1.FontSize = 12 End Sub Private Sub font_16_Click() Text1.FontSize = 16 End Sub Private Sub rnd10_Click() Randomize For i = 0 To 9 List1.List(i) = Int(Rnd * 30 + 70) Next i End Sub
Private Sub stat_Click() Dim max%, min%, ave!, m%, n% max = List1.List(0) min = List1.List(0) ave = List1.List(0) m=0 n=0 For i = 1 To List1.ListCount - 1 If max < List1.List(i) Then max = List1.List(i): m = i If min > List1.List(i) Then min = List1.List(i): n = i ave = ave + List1.List(i) Next i stat2.Text1 = List1.List(n) stat2.Text2 = List1.List(m) stat2.Text3 = Format(ave / List1.ListCount, "0.00") stat2.Show End Sub Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu caidan2, vbPopupMenuCenterAlign End Sub Private Sub xie_Click() Text1.Font.Italic = Not Text1.Font.Bold End Sub
实验 H H.1 .
Private Sub Command1_Click() Open "c:\score" For Output As #1 Print #1, "051023", "王海涛", 66 Print #1, "052498", "周文英", 88 Print #1, "050992", "陈建东", 77 Open "c:\score1" For Output As #2 Write #2, "051023", "王海涛", 66 Write #2, "052498", "周文英", 88 Write #2, "050992", "陈建东", 77 Close i1 = Shell("NOTEPAD.exe" + " c:\score", vbNormalNoFocus) i2 = Shell("NOTEPAD.exe" + " c:\score1", vbNormalNoFocus) End Sub Private Sub Command2_Click()
Dim no As String, name As String, s As Integer

Open "c:\score" For Input As #1 Do While Not EOF(1) Line Input #1, linedata List1.AddItem linedata Loop Open "c:\score1" For Input As #2 Do While Not EOF(2) Input #2, no, name, s List2.AddItem no & name & s Loop Close End Sub
H.2 .
Private Sub Command1_Click() Dim fib%(0 To 9), i% Open "c:\fb.dat" For Output As #1 For i = 0 To 9 If i = 0 Or i = 1 Then fib(i) = i Else fib(i) = fib(i - 1) + fib(i - 2) End If Print #1, """Fib(" & i & ")""," & fib(i) Next i Close #1 i = Shell("NOTEPAD.exe" + " c:\fb.dat", vbNormalNoFocus) End Sub Private Sub Command2_Click() Dim st$, n%, sum% Open "c:\fb.dat" For Input As #1 Do While Not EOF(1) Input #1, st, n sum = sum + n List1.AddItem st & "=" & n Loop Close #1 List1.AddItem "合计:" & sum List1.AddItem "平均:" & sum / 10 End Sub
H.3 .
H.4 .
Private Type studtype no As String * 4 name As String * 6 mark As Single End Type Dim student As studtype, stud(1 To 5) As studtype, t As studtype Private Sub Command1_Click() Open "d:\score.dat" For Random As #1 Len = Len(student) With student .no = "0001" .name = "星期一" .mark = 66 End With Put #1, 1, student With student .no = "0002" .name = "星期二" .mark = 99 End With Put #1, 2, student With student .no = "0003" .name = "星期三" .mark = 88 End With Put #1, 3, student With student .no = "0004" .name = "星期四" .mark = 55 End With Put #1, 4, student With student .no = "0005" .name = "星期五" .mark = 77 End With Put #1, 5, student Close #1 End Sub
Private Sub Command2_Click() Open "d:\score.dat" For Random As #1 Len = Len(student) For i = 1 To 5 Get #1, i, student Print student.no, https://www.doczj.com/doc/642264023.html,, student.mark stud(i) = student Next i Close #1 For i = 1 To 5 For j = i + 1 To 5 If stud(i).mark > stud(j).mark Then t = stud(i): stud(i) = stud(j): stud(j) = t Next Next i Open "d:\random1.dat" For Random As #2 Len = Len(student) For i = 1 To 5 Put #2, i, stud(i) Next i Close #1 End Sub Private Sub Command3_Click() Open "d:\random1.dat" For Random As #1 Len = Len(student) For i = 1 To 5 Get #1, i, stud(i) Print stud(i).no; stud(i).name; stud(i).mark Next i Close #1 End Sub
H.5 .
Private Type studtype no As Integer name As String * 20 sex As String * 1 mark As Single End Type Dim std As studtype Dim record As Integer Private Sub Command1_Click() With std
.no = Val(Text1.Text) .name = Text2.Text .sex = IIf(Option1.Value, "1", "0") .mark = Val(Text3.Text) End With Open "c:\score" For Random As #1 Len = Len(std) record = LOF(1) / Len(std) + 1 Label1.Caption = record Put #1, record, std Close #1 End Sub Private Sub Command2_Click() Open "c:\score" For Random As #1 Len = Len(std) record = Val(Text4.Text) Get #1, record, std Text1.Text = std.no Text2.Text = https://www.doczj.com/doc/642264023.html, If std.sex = "1" Then Option1.Value = True Else Option2.Value = True End If Text3.Text = std.mark record = LOF(1) / Len(std) Close #1 End Sub Private Sub Command3_Click() With std .no = Val(Text1.Text) .name = Text2.Text .sex = IIf(Option1.Value

, "1", "0") .mark = Val(Text3.Text) End With Open "c:\score" For Random As #1 Len = Len(std) record = Val(Text4.Text) Put #1, record, std Close #1 End Sub Private Sub Command4_Click() Open "c:\score" For Random As #1 Len = Len(std) record = 1
Get #1, record, std Text1.Text = std.no Text2.Text = https://www.doczj.com/doc/642264023.html, If std.sex = "1" Then Option1.Value = True Else Option2.Value = True End If Text3.Text = std.mark record = LOF(1) / Len(std) Close #1 Text4.Text = 1 End Sub Private Sub Command5_Click() Open "c:\score" For Random As #1 Len = Len(std) record = Val(Text4.Text) - 1 If Val(Text4.Text) <= 1 Then MsgBox "超出记录范围", 2 + vbExclamation, "警告": Close #1 Else Get #1, record, std Text1.Text = std.no Text2.Text = https://www.doczj.com/doc/642264023.html, If std.sex = "1" Then Option1.Value = True Else Option2.Value = True End If Text3.Text = std.mark record = LOF(1) / Len(std) Close #1 Text4.Text = Val(Text4.Text) - 1 End If End Sub Private Sub Command6_Click() Open "c:\score" For Random As #1 Len = Len(std) record = Val(Text4.Text) + 1 If record > Val(Label1.Caption) Then MsgBox "超出记录范围", 2 + vbExclamation, "警告": Close Else Get #1, record, std Text1.Text = std.no Text2.Text = https://www.doczj.com/doc/642264023.html,
If std.sex = "1" Then Option1.Value = True Else Option2.Value = True End If Text3.Text = std.mark record = LOF(1) / Len(std) Close #1 Text4.Text = Val(Text4.Text) + 1 End If End Sub Private Sub Command7_Click() Open "c:\score" For Random As #1 Len = Len(std) record = Val(Label1.Caption) Get #1, record, std Text1.Text = std.no Text2.Text = https://www.doczj.com/doc/642264023.html, If std.sex = "1" Then Option1.Value = True Else Option2.Value = True End If Text3.Text = std.mark record = LOF(1) / Len(std) Close #1 Text4.Text = record End Sub Private Sub Form_Load() Open "c:\score" For Random As #1 Len = Len(std) Label1.Caption = LOF(1) / Len(std) Close #1 End Sub
H.6 .
Private Type studtype no As Integer name As String * 6 mark As Integer End Type Dim std As studtype Dim record As Integer
Private Sub Command1_Click() With std .no = Val(Text1.Text) .name = Text2.Text .mark = Val(Text3.Text) End With Open "c:\score1" For Random As #1 Len = Len(std) record = LOF(1) / Len(std) + 1 Put #1, record, std Close #1 Text1.Text = "" Text2.Text = "" Text3.Text = "" Text1.SetFocus End Sub Private Sub Command2_Click() Dim sum, count As Integer Open "c:\score1" For Random As #1 Len = Len(std) For i = 1 To record Get #1, i, std sum = sum + std.mark count = count + 1 List1.AddItem std.no & " " & https://www.doczj.com/doc/642264023.html, & std.mark Next i List1.AddItem "总分" & sum List1.AddItem "平均成绩" & sum / count Close #1 End Sub
H.7 .
Private Sub Command1_Click() Dim inputdata1, inputdata2, inputdata3 As String * 1 Dim v, byt1() As Byte, byt2() As Byte, flen1 As Long, flen2 As Long, fnum, fnum3 As Integer Text1.Text = "": Text2.Text = "": Text3.Text = "" CommonDialog1.ShowOpen fname1 = CommonDialog1.FileName CommonDialog2.ShowOpen fname2 = CommonDialog2.FileName Open fname1 For Binary As #1 Open fname2 For Binary

As #2
Do While Not EOF(1) inputdata1 = Input(1, #1) Text1.Text = Text1.Text + inputdata1 Loop Do While Not EOF(2) inputdata2 = Input(1, #2) Text2.Text = Text2.Text + inputdata2 Loop fnum3 = FreeFile Open "c:\hb.txt" For Binary As #fnum3 Put #fnum3, 1, byt1() Put #fnum3, flen1 + 1, byt2() Do While Not EOF(fnum3) inputdata3 = Input(1, #fnum3) Text3.Text = Text3.Text + inputdata3 Loop
If Dir(fname1) <> "" Then fnum = FreeFile Open fname1 For Binary As #fnum flen1 = LOF(fnum) ReDim byt1(flen1 - 1) Get #fnum, 1, byt1() Close fnum End If If Dir(fname2) <> "" Then fnum = FreeFile Open fname2 For Binary As #fnum flen2 = LOF(fnum) ReDim byt2(flen2 - 1) Get #fnum, 1, byt2() Close fnum End If Close End Sub J-4 Private Sub Command1_Click() Dim strb() As Byte CommonDialog1.ShowOpen Open CommonDialog1.FileName For Binary As #1
f1 = LOF(1) ReDim strb(f1) Get #1, , strb Adodc1.Recordset.Fields("照片").AppendChunk strb Close #1 Image1.Picture = LoadPicture(CommonDialog1.FileName) End Sub

本TXT由“文库宝”下载:https://www.doczj.com/doc/642264023.html,/wenkubao

相关主题
相关文档 最新文档