课前体验
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 ) + C h r (13) + Chr (13)+Chr(10)
msg1$ = “请输入您的名字: "
msg2$ = “输入后按回车键”
msg3$ = “或单击“确定”按钮”
msg$ = msg1$ + c1$ + msg2$ + c1$ + msg3$
name$ = InputBox(msg , " I n p u t B o x 函数示例 " , " 张三 " ) P r i n t n a m e , "InputBox 函数示例", "张三") Print name ,"InputBox函数示例","张三")Printname
End Sub
【例3-2】
Private Sub Form_Click()
Msg1 = ” A r e y o u C o n t i n u e t o ? ” m s g 2 =”Are you Continue to?” msg2 =”AreyouContinueto?”msg2=”Operation Dialog Box”
r=MsgBox(msg1 , 34 , m s g 2 ,34,msg2 ,34,msg2)
Print r
End Sub
【例3-3】编写程序,用MsgBox函数判断是否继续执行。
Private Sub Form_Click()
msg$ = “请确认此数据是否正确”
Title$ = “数据检查对话框”
x = MsgBox(msg , 19 , T i t l e , 19, Title ,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
End if
End if
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-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 ‘给各元素赋值
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 ( S t r (Str (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

最低0.47元/天 解锁文章

474

被折叠的 条评论
为什么被折叠?



