Private Sub Command1_Click() '\生成随机数\ Dim s As String s = \
For i = 1 To 10
a(i) = Int(11 + 90 * Rnd) s = s + Str(a(i)) + \ Next i
Text1.Text = Left(s, Len(s) - 1) End Sub
Private Sub Command2_Click() '\求最大数\ Text2.Text = Max() End Sub
Private Sub Command3_Click() '\打开排序窗口\ Form1.Hide '隐藏主窗体
Form2.Show '显示“排序”窗体 End Sub
Private Sub Command4_Click() '\结束\ Unload Form1 '隐藏主窗体
Unload Form2 '显示“排序”窗体 End End Sub
(2) Form2窗体模块程序代码:
Private Sub Command1_Click() '“排序” Dim t As String Call Sort(t) Text1.Text = t End Sub
Private Sub Command2_Click() '“返回”
Form2.Hide '隐藏“排序”窗体 Form1.Show '显示主窗体 End Sub
(3) 标准模块程序代码:
Public a(1 To 10) As Single
Function Max() As Single '求最大值 Dim m As Single m = a(1)
For i = 2 To 10
If m < a(i) Then m = a(i) End If Next i Max = m End Function
Sub Sort(s As String) '排序 s = \
For i = 1 To 9
For j = i + 1 To 10
If a(i) > a(j) Then
t = a(i): a(i) = a(j): a(j) = t End If Next j
s = s + Str(a(i)) + \ Next i
s = s + Str(a(10)) End Sub
第8章习题
一、单选题
1. B 2. D
3.D 4.A 5. B 6. B
7. A 8. (1)D (2)D 9. B
二、填空题
11
1. 随机存取方式 2. Get, Put 3. (1) Open \
(2) Write #1, StNo, StMb (3) Close #1
4. (1) Open \ (3) Input #1, StNo, StMb
5.(1)13 (2)Text1.Text = \
6.(1)num + 1 (2)Input (3)num (4) Stno(num), Text1.Text (5)Stno(num)
编程及上机调试
1. 程序代码如下:
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 \ For i = 1 To 20 Write #1, d(i) Next i Close #1
End Sub
Private Sub Command3_Click() '\读出\
Open \ Do While Not EOF(1) Input #1, x List2.AddItem x Loop
Close #1
End Sub
Private Sub Command4_Click() '\结束\
End
End Sub
2. 本程序的用户界面和程序代码较为复杂,请见具体程序文件。
第9章习题
单选题
1.B 2.D 3.D 4.B 5. A 6. A
编程及上机调试
1. 程序代码如下:
Private Sub Form_load()
Dim x(3) As Single, y As Single
On Error GoTo errln '以后出错时转移到errln y = 2 / 0 '产生\除数为0\的错误 x(4) = 1 '产生\下标越界\的错误 MsgBox (\终止程序的运行\
Unload Me '卸载窗体 End
errln: '标号
Select Case Err.Number
Case 11 '\除数为0\的错误码为11 MsgBox (\除数为0(错误码为11),跳过该错误\
Resume Next '返回
Case 9 '\下标越界\的错误码为9
12
MsgBox (\下标越界(错误码为9),跳过该错误\
Resume Next '返回
Case Else '其他错误处理 MsgBox (\错误发生在\ & \代码为\ & \即\ 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 <= i Then k = j Else
k = 2 * i - j End If
If k > 9 Then k = k + 7 Print Chr(k + 48); Next j Next i
End Sub
3.(1) n = n + 1 (2) d(1, j) = d(3, j) (3) d(i, 2) = d(i, 4) (4) i = j Or i + j = 5 (5) d(i, j) = d(i, j) + 1 (6) n = 0 (7) Text1.Text
第10章习题
一、单选题
1. C 2. (1)A (2)C 3.D 4.C 5. A 6. D 7. (1)A (2)D 8. A 9. B 10. B 11. A 12. D
二、填空题
1. (1)Change (2)Value (3)Scroll (4)Value
2. (1) P1.Picture (2) P2.Picture (3) P2.Picture = P3.Picture 3. 菜单编辑器,顶;PopUpMenu
4.(1) Button.Index (2) BackColor = RGB(255, 0, 0) (3) BackColor = RGB(0, 255, 0) (4) BackColor = RGB(0, 0, 255) 5. (1) Picture1 (2) \
6. DragMode, 1; 0 7. Action, 4, ShowFont 编程及上机调试
1.在窗体上建立一个水平滚动条HScroll1和一个文本框Text1。程序代码如下: Private Sub Form_Load() HScroll1.Max = 1000 HScroll1.Min = 0
HScroll1.LargeChange = 5 HScroll1.LargeChange = 10 HScroll1.Value = 500 End Sub
Private Sub HScroll1_Change() Text1.Text = HScroll1.Value End Sub
Private Sub HScroll1_Scroll() Text1.Text = HScroll1.Value
13
End Sub
2. 在窗体上建立一个计时器Timer1和“开始”、“停止”两个命令按钮。程序代码如下: Private len_S As Single, s As Integer '模块级变量 Private Sub Command1_Click() '“开始” Timer1.Enabled = True s = 0
Call Sub_Move End Sub
Private Sub Command2_Click() '“停止” Timer1.Enabled = False End Sub
Private Sub Form_Load() Timer1.Enabled = False
'先取各指针的长度
len_S = Sqr((LineS.Y2 - LineS.Y1) ^ 2 + (LineS.X2 - LineS.X1) ^ 2) '秒针长度 End Sub
Private Sub Timer1_Timer() '定时器的定时事件过程 s = s + 1 Call Sub_Move End Sub
Private Sub Sub_Move() '定时器的定时事件过程 pi = 3.14159
LineS.X2 = LineS.X1 + len_S * Sin(pi * s / 30) '绘制秒针 LineS.Y2 = LineS.Y1 - len_S * Cos(pi * s / 30) End Sub
3. 按要求在窗体上设计一个二级下拉菜单。 4. 在窗体上建立一个通用对话框CommonDialog1、“打开”及“字体”两个命令按钮和文本框Text1。程序代码如下:
Private Sub Command1_Click() '\打开\ CommonDialog1.DialogTitle = \选择文件\
CommonDialog1.Filter = \文本文件|*.txt\设置文件过滤器 CommonDialog1.InitDir = \设置默认文件夹 CommonDialog1.ShowOpen '显示“打开”对话框 Text1.Text = CommonDialog1.FileName
End Sub
Private Sub Command2_Click() '\字体\ CommonDialog1.Flags = cdlCFScreenFonts CommonDialog1.ShowFont
Text1.FontName = CommonDialog1.FontName '设置字体名称 Text1.FontSize = CommonDialog1.FontSize '设置字体大小 Text1.FontBold = CommonDialog1.FontBold '粗体 Text1.FontItalic = CommonDialog1.FontItalic '斜体
End Sub
(完)
14