目录
Visual Basic简介
Visual Basic简称VB,是面向对象的程序设计语言;是可视化的Basic,保留了Basic语言简单、易用的特点,有扩充了可视化设计工具;可以轻松的设计出界面美观、使用方便、功能强大的应用程序。
Visual Basic的发展史
Visual Basic的功能与特点
VB开发环境安装
安装教程参考播客:在Win10上安装Visual Basic 6.0企业版的详细说明文档_Mr.羊的博客-CSDN博客
设计应用程序的过程
设计VB应用程序的基本步骤如下:
- 设计用户界面
- 对象属性设置
- 编写程序代码
- 运行调试程序
- 保存程序文件
VB代码输入规则
类和对象
类是对同种客观事物的抽象,包含特征描述(属性)和行为(方法)。将反映类的属性、方法、事件封装在一起,构成了面向对象编程的基本元素。
例如:人类是所有具体人的抽象,人类有身高、体重等属性;有苦笑、喜怒哀乐等方法;有对外界作用于人的事件,比如刮风、下雨等的反应。
对象是类的实例化。例如,每个具体的人就是人类的实例化,每个人都有各自不同的身高、体重、相貌等属性值和吃饭、喝水、苦笑等方法。
属性 ![](https://i-blog.csdnimg.cn/blog_migrate/4d05934c0d8fc10d128f847c555f776c.png)
方法
事件过程
对象的通用属性
焦点和Tab顺序
VB的数据类型
1.字符串类型(String)
2.数值型
3.字节型
4.货币型
5.逻辑型
6.日期型
7.变体型
标识符
关键字
常量
变量
运算符与表达式
关系运算符与关系表达式
逻辑运算法与逻辑表达式
日期运算符与日期表达式
运算符的优先级
字符串运算符与字符串表达式
常用的数学函数
常用转换函数
转换函数说明
常用的字符串函数
常用的日期函数
其他实用函数
赋值语句
点击事件按钮代码:
Private Sub Command1_Click()
Dim a%, b%, t%
a = Text1.Text
b = Text2.Text
t = a: a = b: b = t
Text1.Text = a
Text2.Text = b
End Sub
Private Sub Form_Load()
End Sub
运行结果:
点击交换值按钮
利用InputBox函数输入
利用MsgBox函数或语句输出数据
单分支语句
练习,三课成绩求平均数
页面
代码:
'求平均值点击事件
Private Sub Command1_Click()
Dim yw%, sx%, yy%, xm$, pj% '定义变量
xm = Text1.Text
yw = Val(Text2.Text)
sx = Val(Text3.Text)
yy = Val(Text4.Text)
'pj = Val(Text5.Text)
pj = (yw + sx + yy) / 3
Text5.Text = pj
'第一种写法
If pj < 60 Then
Label8.Caption = xm + "平均成绩小于60,不能评定奖学金!"
Else
Label8.Caption = xm + "平均成绩大于等于60,可以评定奖学金!"
End If
End Sub
'第二种写法(行写法)
If pj < 60 Then Label8.Caption = xm + "平均成绩小于60,不能评定奖学金!" Else Label8.Caption = xm + "平均成绩大于等于60,可以评定奖学金!"
'退出点击事件
Private Sub Command2_Click()
End
End Sub
'清空点击事件
Private Sub Command3_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub
Private Sub Form_Load()
End Sub
演示截图:
多分支语句
练习,三课成绩求平均数
页面
代码:
'求平均值点击事件
Private Sub Command1_Click()
Dim yw%, sx%, yy%, xm$, pj% '定义变量
xm = Text1.Text
yw = Val(Text2.Text)
sx = Val(Text3.Text)
yy = Val(Text4.Text)
'pj = Val(Text5.Text)
pj = (yw + sx + yy) / 3
Text5.Text = pj
If pj < 60 Then
Label8.Caption = xm + "平均成绩小于60,不能评定奖学金!"
ElseIf pj < 70 Then
Label8.Caption = xm & "平均成绩为" & pj & "可以评定四等奖学金!"
ElseIf pj < 80 Then
Label8.Caption = xm & "平均成绩为" & pj & "可以评定三等奖学金!"
ElseIf pj < 90 Then
Label8.Caption = xm & "平均成绩为" & pj & "可以评定二等奖学金!"
Else
Label8.Caption = xm & "平均成绩为" & pj & "可以评定一等奖学金!"
End If
End Sub
'退出点击事件
Private Sub Command2_Click()
End
End Sub
'清空点击事件
Private Sub Command3_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub
演示截图:
Select Case使用
练习,三课成绩求平均数
页面
代码:
'求平均值点击事件
Private Sub Command1_Click()
Dim yw%, sx%, yy%, xm$, pj% '定义变量
xm = Text1.Text
yw = Val(Text2.Text)
sx = Val(Text3.Text)
yy = Val(Text4.Text)
'pj = Val(Text5.Text)
pj = (yw + sx + yy) / 3
Text5.Text = pj
Select Case pj
Case Is < 60
Label8.Caption = xm + "平均成绩小于60,不能评定奖学金!"
Case Is < 70
Label8.Caption = xm & "平均成绩为" & pj & "可以评定四等奖学金!"
Case Is < 80
Label8.Caption = xm & "平均成绩为" & pj & "可以评定三等奖学金!"
Case Is < 90
Label8.Caption = xm & "平均成绩为" & pj & "可以评定二等奖学金!"
Case Else
Label8.Caption = xm & "平均成绩为" & pj & "可以评定一等奖学金!"
End Select
End Sub
'退出点击事件
Private Sub Command2_Click()
End
End Sub
'清空点击事件
Private Sub Command3_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub
或
'求平均值点击事件
Private Sub Command1_Click()
Dim yw%, sx%, yy%, xm$, pj% '定义变量
xm = Text1.Text
yw = Val(Text2.Text)
sx = Val(Text3.Text)
yy = Val(Text4.Text)
'pj = Val(Text5.Text)
pj = (yw + sx + yy) / 3
Text5.Text = pj
Select Case pj
Case 0 To 59
Label8.Caption = xm + "平均成绩小于60,不能评定奖学金!"
Case 60 To 69
Label8.Caption = xm & "平均成绩为" & pj & "可以评定四等奖学金!"
Case 70 To 79
Label8.Caption = xm & "平均成绩为" & pj & "可以评定三等奖学金!"
Case 80 To 89
Label8.Caption = xm & "平均成绩为" & pj & "可以评定二等奖学金!"
Case Else
Label8.Caption = xm & "平均成绩为" & pj & "可以评定一等奖学金!"
End Select
End Sub
'退出点击事件
Private Sub Command2_Click()
End
End Sub
'清空点击事件
Private Sub Command3_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub
演示截图:
嵌套选择结构
练习,三课成绩求平均数,校验输入的成绩
页面
代码:
'求平均值点击事件
Private Sub Command1_Click()
Dim yw%, sx%, yy%, xm$, pj% '定义变量
xm = Text1.Text
yw = Val(Text2.Text)
sx = Val(Text3.Text)
yy = Val(Text4.Text)
'pj = Val(Text5.Text)
If (yw < 0 Or yw > 100) Or (sx < 0 Or sx > 100) Or (yy < 0 Or yy > 100) Then
Label8.Caption = "成绩应该是0到100之间的数字,请重新输入!"
Else
pj = (yw + sx + yy) / 3
Text5.Text = pj
Select Case pj
Case 0 To 59
Label8.Caption = xm + "平均成绩小于60,不能评定奖学金!"
Case 60 To 69
Label8.Caption = xm & "平均成绩为" & pj & "可以评定四等奖学金!"
Case 70 To 79
Label8.Caption = xm & "平均成绩为" & pj & "可以评定三等奖学金!"
Case 80 To 89
Label8.Caption = xm & "平均成绩为" & pj & "可以评定二等奖学金!"
Case Else
Label8.Caption = xm & "平均成绩为" & pj & "可以评定一等奖学金!"
End Select
End If
End Sub
'退出点击事件
Private Sub Command2_Click()
End
End Sub
'清空点击事件
Private Sub Command3_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
End Sub
演示截图:
FOR NEXT循环
示例:
代码:
'求平均值点击事件
Private Sub Command1_Click()
Dim pj%, i% '定义变量
For i = 1 To 3 Step 1
pj = InputBox("请输入平均成绩:", "输入平均成绩")
Select Case pj
Case 0 To 59
Picture1.Print "平均成绩小于60,不能评定奖学金!"
Case 60 To 69
Picture1.Print "平均成绩为" & pj & "可以评定四等奖学金!"
Case 70 To 79
Picture1.Print "平均成绩为" & pj & "可以评定三等奖学金!"
Case 80 To 89
Picture1.Print "平均成绩为" & pj & "可以评定二等奖学金!"
Case Else
Picture1.Print "平均成绩为" & pj & "可以评定一等奖学金!"
End Select
'Picture1.Print i '打印i的值
Next
'Picture1.Print "i=" & i '打印i的值
End Sub
运行效果截图:
DO LOOP循环
'求平均值点击事件
Private Sub Command1_Click()
Dim pj%, i% '定义变量
i = 1
Do While i <= 3
pj = InputBox("请输入平均成绩:", "输入平均成绩")
Select Case pj
Case 0 To 59
Picture1.Print "平均成绩小于60,不能评定奖学金!"
Case 60 To 69
Picture1.Print "平均成绩为" & pj & "可以评定四等奖学金!"
Case 70 To 79
Picture1.Print "平均成绩为" & pj & "可以评定三等奖学金!"
Case 80 To 89
Picture1.Print "平均成绩为" & pj & "可以评定二等奖学金!"
Case Else
Picture1.Print "平均成绩为" & pj & "可以评定一等奖学金!"
End Select
'Picture1.Print i '打印i的值
i = i + 1
Loop
Picture1.Print "i=" & i '打印i的值
End Sub
运行截图:
或
'求平均值点击事件
Private Sub Command1_Click()
Dim pj%, i% '定义变量
i = 1
Do Until i > 3
pj = InputBox("请输入平均成绩:", "输入平均成绩")
Select Case pj
Case 0 To 59
Picture1.Print "平均成绩小于60,不能评定奖学金!"
Case 60 To 69
Picture1.Print "平均成绩为" & pj & "可以评定四等奖学金!"
Case 70 To 79
Picture1.Print "平均成绩为" & pj & "可以评定三等奖学金!"
Case 80 To 89
Picture1.Print "平均成绩为" & pj & "可以评定二等奖学金!"
Case Else
Picture1.Print "平均成绩为" & pj & "可以评定一等奖学金!"
End Select
'Picture1.Print i '打印i的值
i = i + 1
Loop
Picture1.Print "i=" & i '打印i的值
End Sub
运行截图:
退出循环体
'求平均值点击事件
Private Sub Command1_Click()
Dim pj%, i% '定义变量
i = 1
Do While i >= 1
pj = InputBox("请输入平均成绩:", "输入平均成绩")
Select Case pj
Case 0 To 59
Picture1.Print "平均成绩小于60,不能评定奖学金!"
Case 60 To 69
Picture1.Print "平均成绩为" & pj & "可以评定四等奖学金!"
Case 70 To 79
Picture1.Print "平均成绩为" & pj & "可以评定三等奖学金!"
Case 80 To 89
Picture1.Print "平均成绩为" & pj & "可以评定二等奖学金!"
Case Else
Picture1.Print "平均成绩为" & pj & "可以评定一等奖学金!"
End Select
'Picture1.Print i '打印i的值
i = i + 1
'退出循环体
If i = 4 Then
Exit Do
End If
Loop
Picture1.Print "i=" & i '打印i的值
End Sub
DO LOOP WHile循环
'求平均值点击事件
Private Sub Command1_Click()
Dim pj%, i% '定义变量
i = 1
Do
pj = InputBox("请输入平均成绩:", "输入平均成绩")
Select Case pj
Case 0 To 59
Picture1.Print "平均成绩小于60,不能评定奖学金!"
Case 60 To 69
Picture1.Print "平均成绩为" & pj & "可以评定四等奖学金!"
Case 70 To 79
Picture1.Print "平均成绩为" & pj & "可以评定三等奖学金!"
Case 80 To 89
Picture1.Print "平均成绩为" & pj & "可以评定二等奖学金!"
Case Else
Picture1.Print "平均成绩为" & pj & "可以评定一等奖学金!"
End Select
i = i + 1
Loop While i <= 3
Picture1.Print "i=" & i '打印i的值
End Sub
或
Do Loop Until
'求平均值点击事件
Private Sub Command1_Click()
Dim pj%, i% '定义变量
i = 1
Do
pj = InputBox("请输入平均成绩:", "输入平均成绩")
Select Case pj
Case 0 To 59
Picture1.Print "平均成绩小于60,不能评定奖学金!"
Case 60 To 69
Picture1.Print "平均成绩为" & pj & "可以评定四等奖学金!"
Case 70 To 79
Picture1.Print "平均成绩为" & pj & "可以评定三等奖学金!"
Case 80 To 89
Picture1.Print "平均成绩为" & pj & "可以评定二等奖学金!"
Case Else
Picture1.Print "平均成绩为" & pj & "可以评定一等奖学金!"
End Select
i = i + 1
Loop Until i > 3
Picture1.Print "i=" & i '打印i的值
End Sub
一维数组
'求平均值点击事件
Private Sub Command1_Click()
Dim pj%, i%, n%, sum% '定义变量
'Option Base 1
Dim CJ(4) As Integer
For i = 1 To 3
sum = 0
For n = 1 To 4
CJ(n) = Val(InputBox("请输入第" & i & "个学生第" & n & "门课的成绩:", "各门课成绩"))
sum = sum + CJ(n)
Picture1.Print CJ(n);
Next
pj = sum / 4
Picture1.Print "高于平均的分数:";
For n = 1 To 4
If CJ(n) > pj Then Picture1.Print CJ(n);
Next n
Select Case pj
Case 0 To 59
Picture1.Print "平均成绩小于60,不能评定奖学金!"
Case 60 To 69
Picture1.Print "平均成绩为" & pj & "可以评定四等奖学金!"
Case 70 To 79
Picture1.Print "平均成绩为" & pj & "可以评定三等奖学金!"
Case 80 To 89
Picture1.Print "平均成绩为" & pj & "可以评定二等奖学金!"
Case Else
Picture1.Print "平均成绩为" & pj & "可以评定一等奖学金!"
End Select
Next
End Sub
求最小值及下标
代码
Option Base 1
Private Sub Command1_Click()
Dim a(), i%, min%, imin%, t%
a = Array(8, 4, 6, 7, 9, 1, 4)
n = UBound(a)
min = a(1)
imin = i
For i = 1 To n
If a(i) < min Then min = a(i): imin = i
Next
Picture1.Print "原数据:";
For i = 1 To n
Picture1.Print a(i);
Next
t = a(1): a(1) = a(imin): a(imin) = t
Picture1.Print vbCrLf; "最小值:"; a(min), " 最小值下标:"; imin
End Sub
运行截图: