2024年2月24日发(作者:)
VS2008--VB编程实例
------------------------------------------作者xxxx
------------------------------------------日期xxxx
【精品文档】
VS2008——VB编程实例(入门教程)
1. VB(Visual Basic)的发展
微软公司在1991年推出了建立在Window开发平台基础上的开发工具——。随着Window操作平台的不断完善,微软公司也相继推出了Visual
Basic2.0 、和,这些版本主要用于在环境中的16位计算机上开发应用程序。1997年微软公司推出了Visual Basic5.0可以在Window9x或者Window NT环境中32位计算机上开发应用程序。1998年又推出,它的功能更加完善。
1.关键字:关键字是指系统使用的具有特定含义的字符。
常用的关键字有:Dim、Private , Sub , Public , End , If , Else , Form , Me ,
Single , As , Integer , Unload , Do , While , MessageBox , For , Next等。
2.标识符:标识符是指编写代码时定义的名称。在VB中所有的常量、变量、模块、函数、类、对象及其属性都有各自的名称,这些名称就是标识符。
例如:
工程1:一个工程的标识符。
Form1:一个窗体的标识符。
Class1:一个类模块的标识符。
Module1:一个模块的标识符。
数据类型
变长字符型
定长字符型
整数型
长整型
单精度型(双精度型)
字节型
类型名称
String
String
Integer
Long
Single(Double)
Byte
【精品文档】
存储空间
10字节加字符串长度
字符串长度
2字节
4字节
4字节(8字节)
1字节
【精品文档】
布尔型
日期型
对象型
变体型
4.常用数据类型:
(String)
Public Class Form1
Boolean
Date
Object
Variant
2字节
8字节
4字节
按需分配
Private Sub Form1_Load(ByVal sender As , ByVal e As rgs)
Handles
Dim strA As String
strA = "Hello world"
= strA
End Sub
End Class
上面代码是在VS2008-VB类里建立了Window窗体应用程序,并在窗体上添加一个标签控件(Label1),用关键字Dim 声名一个字符型变量 strA 并赋值“Hello world”,再把它赋给标签(Label1)。
图1、执行结果
数值型可分为5种,Integer , Long , Single , Double , Byte 。
Public Class Form1
Private Sub Form1_Load(ByVal sender As , ByVal e As rgs)
Handles
Dim It As Integer, lt As Long, st As Single, dt As Double, bt As Byte
It = 123
lt = 12345678
【精品文档】
【精品文档】
bt = 9
= It
= lt
= st
= dt
= bt
End Sub
End Class
上面代码是对5种数值型数据声名和赋值并在窗体里显示出来(在窗体里添加5个文本框[TextBox]控件)。
4.3布尔型:又称逻辑类型。变量值只是True/False , Yes/No , On/Off等。
Public Class Form1
Private Sub Form1_Load(ByVal sender As , ByVal e As rgs)
Handles
= "欢迎参加到VB学习队伍中来!"
e = False
= "Yes"
= "No"
End Sub
Private Sub Button1_Click(ByVal sender As , ByVal e As rgs)
Handles
led = True
e = True
= "我很喜欢VB语言编程"
End Sub
Private Sub Button2_Click(ByVal sender As , ByVal e As rgs)
Handles
d = False
【精品文档】
【精品文档】
e = True
= "我对它不感兴趣"
End Sub
End Class
上面代码是在VS2008-VB类中建立Window窗体应用程序项目,并在窗体中添加2个标签控件(Label1 ,Label2)和2个按钮控件(Button1 , Button2)并添加了2个按钮的单击事件。在窗体触发连接事件中把Label2的可视属性设置为假(False[布尔型])………
图3、执行结果 图4、按Yes键结果
图5、按No键结果
Public Class Form1
【精品文档】
【精品文档】
Private Sub Form1_Load(ByVal sender As , ByVal e As rgs)
Handles
Dim mydate As Date
mydate = #1/1/2015#
e = False
MsgBox(mydate)
()
End Sub
End Class
上面代码是声明日期型变量,并赋值和用信息框显示它。
图6、显示日期
5.记录类型:用户自定义类型也称记录类型。
Public Structure My_data
Dim name As String
Dim xh As String
Dim xb As String
Dim score As String
End Structure
Public Class Form1
Private Sub Form1_Load(ByVal sender As , ByVal e As rgs)
Handles
Dim mt As My_data
= "张大山"
= "男"
= "201403001"
= "优"
e = False
MsgBox("姓名:" & & Chr(10) & "性别:" & & Chr(10) & _
"学号:" & & Chr(10) & "成绩:" & )
()
End Sub
【精品文档】
【精品文档】
End Class
上面代码显示了记录类型的定义和显示过程。
图7、显示记录类型
上面用的是结构体记录类型,下面的代码用类(方法)实现记录类型。
Public Class Form1
Class My_class
Dim lx As Integer
Dim ly As Integer
Dim rx As Integer
Dim ry As Integer
Sub setlx(ByVal val As Integer)
lx = val
End Sub
Sub setly(ByVal val As Integer)
ly = val
End Sub
Sub setrx(ByVal val As Integer)
rx = val
End Sub
Sub setry(ByVal val As Integer)
ry = val
End Sub
Function getdata()
getdata = (rx - lx) * (ry - ly)
End Function
End Class
Private Sub Form1_Load(ByVal sender As , ByVal e Asrgs) Handles
Dim mt As My_class
mt = New My_class
【精品文档】
【精品文档】
(10)
(10)
(150)
(200)
End Sub
End Class
在窗体中添加标签控件(Label1)用来显示类(方法)计算结果。
图8、显示类(方法)记录类型
Public Class Form1
Enum my_color
m_rod = 190
m_green = 90
m_blue = 165
End Enum
Private Sub Form1_Load(ByVal sender As , ByVal e As rgs)
Handles
= "My_color"
= "m_rod "
= "m_green "
= "m_blue "
End Sub
End Class
【精品文档】
【精品文档】
图9、显示枚举类型数据
变量相当于一个容器,它对应着计算机内存的存储单元,因此它可以保存数据。
7.1.变量命名规则:
(1)变量只能由英文、汉字、数字及下划线组成。
(2)变量名必须由英文字母或汉字开头,最后一个符号可以是数据类型声明符,如Dim a%。
(3)变量名长度可达255个字符,有效字符为40个。
(4)VB中的关键字不能作为变量名。
(5)不能在变量名中出现标点符号、空格或者嵌入!、@、#、$、%、&等字符。
(6)在变量有效的范围内不能用同名命名变量。
(7)变量名不区分大小写。
(1)显式声明变量:使用声明语句声明变量。
【精品文档】
【精品文档】
Dim mydata As Integer
Private m_p As String
Public m_color As Byte
Static itLenght As Integer
(2)隐式声明变量:不声明直接使用变量。
a=153
itWidth=35
一个变量被声明后,只在声明它的区域内有效。例如在一个过程内声明的变量,只在该过程内有效;一个在模块的通用声明声明的变量,只在该模块内的所有过程中有效;用Public语句声明的变量,不仅对于同一模块内的所有过程有效,甚至对于整个应用程序的所有过程也都有效。
8、常量的声明
当程序中需要重复使用一个其值始终不发生改变的量时,可用#Const 语句来声明常量。
#Const
9、运算符
在VB中有4种运算符:算术运算符、关系运算符、连接运算符和逻辑运算符。
运算名称
指数运算
乘法运算
除法运算
求余数运算
整除运算
加法运算
减法运算
Dim a As Integer, b As Integer
a = 100
b = a Mod 3
MsgBox(b)
运算符号
^
*
/
Mod
+
-
图10、求余运算
:用于比较运算符左、右两边表达式之间的大小关系。其运算结果为布尔型数据(TrueFalse)。
【精品文档】
【精品文档】
VB中的关系运算符有:等于(=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)和不等于(<>)
Public Class Form1
Private Sub Form1_Load(ByVal sender As , ByVal e As rgs)
Handles
Dim mt As Integer, mk As Integer
= "关系运算"
= "大数红色小数蓝色"
Randomize()
mt = Int(Rnd() * 6 + 1)
mk = 4
If mt > mk Then
End If
If mt < mk Then
End If
End Sub
End Class
图11、关系运算结果 图12、关系运算结果
上面程序演示了关系运算的过程,不同的时间运行程序结果会不一样。
【精品文档】
【精品文档】
连接运算符有两个:“+”和“&”。“&”连接符用于强制把两个表达式作为字符串连接。“+”运算符是两个表达式都为同一类型,如果是字符串将两个字符串连接,如果是数字,则结果为两个数字相加的和。
Public Class Form1
Private Sub Form1_Load(ByVal sender As , ByVal e As rgs)
Handles
Dim strA As String, strB As String, intA As Integer
strA = "连接"
strB = "运算"
intA = 55
= strA & strB
= strA & intA
= 10 + intAa
End Sub
End Class
图13、连接运算
逻辑非(Not)、逻辑与(And)、逻辑或(Or)、逻辑异或(Xor)、逻辑等于(Eqv)和逻辑蕴含(Imp)。
Public Class Form1
【精品文档】
【精品文档】
Private Sub Form1_Load(ByVal sender As , ByVal e As rgs)
Handles
e = False
e = False
End Sub
Private Sub Button1_Click(ByVal sender As , ByVal e As rgs)
Handles
If = And Val() > 10 Then
e = False
e = False
e = False
d = True
e = True
= "欢迎登录本网站"
End If
If <> Or Val() = 0 Or Val() =
0 Then
d = False
d = True
e = True
= "密码错误"
End If
End Sub
End Class
上面代码描述了简单密码登录过程,程序要求输入数据(两个文本框)。如果两边文本框的数值相等并且大于10成功登录网站,如果两边文本框的数值不相等或是其中有一个文本框的值为0将显示“密码错误”信息。
图14、登录界面 图15、显示[密码错误]信息
【精品文档】
【精品文档】
图16、成功登录网站
第三章 算法和程序控制结构
1.算法:是解决某个问题或处理某件事的方法和步骤。
Public Class Form1
Public xueli(0 To 4) As String
Public addfen As Integer
Public fenst(0 To 4) As Integer
Private Sub Form1_Load(ByVal sender As , ByVal e As rgs)
Handles
= "人才招聘"
= "姓名"
= "年龄"
= "身高"
= "学历"
= "提交"
= "个人信息"
= "性别"
= "政治面貌"
= "男"
= "女"
= "党员"
= "群众"
= "信息反馈"
【精品文档】
【精品文档】
ine = True
= 80
addfen = 100
xueli(0) = "研究生"
xueli(1) = "本科"
xueli(2) = "大专"
xueli(3) = "中专"
xueli(4) = "高中"
fenst(0) = 10
fenst(1) = 5
fenst(2) = 3
fenst(3) = 1
fenst(4) = 1
e = False
End Sub
Sub 处理信息()
Dim i As Integer
If nsFocus = True Then
addfen = addfen + 1
End If
If nsFocus = True Then
addfen = addfen + 1
End If
If Val() > 35 Then
addfen = addfen - 1
End If
If Val() < 35 Then
addfen = addfen + 1
End If
If Val() >= 170 Then
addfen = addfen + 1
End If
If Val() < 160 Then
addfen = addfen - 1
End If
For i = 0 To 4
If = xueli(i) Then
addfen = addfen + fenst(i)
End If
Next i
End Sub
Private Sub Button1_Click(ByVal sender As , ByVal e As rgs)
Handles
处理信息()
【精品文档】
【精品文档】
e = True
If addfen > 110 Then
= & "同志:你好,你的个人条件很符合我们公司目前发展的需求。在此诚恳的邀请你到我们公司来工作!希望你看到信息后3天内到我们公司人事部报到。"
End If
If addfen >= 105 And addfen < 110 Then
= & "同志:你好,你的个人条件符合我们公司目前发展的需求。在此诚恳的邀请你到我们公司来工作!希望你看到信息后3天内到我们公司人事部报到。"
End If
If addfen >= 100 And addfen < 105 Then
= & "同志:你好,你的个人条件基本符合我们公司目前发展的需求。希望你看到信息后3天内到我们公司人事部报到面试和协商工作事宜。"
End If
If addfen < 100 Then
= & "同志:你好,你的个人条件不符合我们公司目前发展的需求。非常抱谦!希望你尽快找到适合的工作。"
End If
End Sub
End Class
上面代码模仿了一个简单的人才招聘过程,其中有一个加减分的算法和反馈信息算法。
图17、窗体设计页面和控件添加
【精品文档】
【精品文档】
注:生成窗体设计页面和控件添加的步骤:
“文件”、“新建”、“项目”
“工具箱”按钮,向窗体上添加控件。
【精品文档】
【精品文档】
4.点击添加的控件,打开主窗口上的
“属性”按钮窗口,为控件添加它的属性。
【精品文档】
【精品文档】
以上是为窗体添加控件的过程,重复3、4步就可以添加自己想要的所有控件。关于一些控件的初始化设置,你可以在控件属性页面里完成。如:控件的“Text”(名称属性)等。也可以在窗体触发连接事件里用代码设置,这要看个人习惯;我比较喜欢自己用代码设置,因为在这过程中你可以了解到很多关于控件属性的知识,有助于提高自己编程的水平。
图18、控件初始化显示窗体(要求提交个人信息页面)
【精品文档】
【精品文档】
图19、提交个人信息并自动反馈信息处理
2.算法的特性:
(1)有穷性:一个算法(对任何合法的输入)在执行有穷步后能够结束,并且在有限的时间内完成。
(2)确定性:算法中的每一步都有确切含义。
(3)可行性:算法中的操作能够用已经实现的基本运算执行有限次来实现。
(4)输入:一个算法有零个或者多个输入,零个输入就是算法本身确定了初始条件。
(5)输出:一个算法有一个或多个输出,以反映出数据加工的结果,没有输出的算法是没有意义的。
3.算法的描述方法:为了让算法清晰易懂,要选择一种好的描述方法。
(1)自然语言:就是用人们日常使用的语言描述解决问题的方法和步骤。缺点是语法和语义上存在多义性、繁琐,对程序流向描述不明了、不直观。
(2)伪代码:介于自然语言和计算机语言之间的文字和符号。
(3)传统流程图:使用不同的几何图形来表示不同性质的操作,使用流程线来表示算法的执行方向。
【精品文档】
【精品文档】
(4)N-S结构化流程图:是1973年美国学者I·Nassi 和 B·Shneiderman 提出的一种符合结构化程序设计原则的描述算法的图形方法,又叫盒图。
4.算法的基本控制结构:在程序设计中,构成算法的基本控制结构有3种,顺序结构、选择结构、循环结构。合理使用这些控制结构可以使程序结构清晰、易读性强,并且易于查错和排错。
(1)顺序结构:是最简单、最基本的结构方式,各流程框依次按顺序执行(程序从开始到结束按顺序执行,没有分支)。
开始
语句语句语句结束
(2)选择(分支)结构:就是结给定条件进行判断,条件为True时执行一个分支,条件为False时执行另一个分支。
条件
T F
语句1 语句2
(3)循环结构:可以根据需要多次重复执行一行或多行代码。
(a)当型循环:先判断后执行,当条为真时反复执行,当条件为假时结束循环。
(b)直到型循环:先执行后判断(循环体至少执行一次)。
【精品文档】
【精品文档】
条件
T
循环体
F
(1)在程序中,通常用文本框(TextBox控件)、输入对话框函数InpuBox来输入数据。
(2)数据的输出可以用Label控件、MsgBox信息对话框、TextBox控件等。
(1)单分支语句:If ….. Then
If Val() > 10 Then
= "大数"
End If
(2)双分支语句:If … Else … Then
If Val() > 10 Then
= "大数"
Else
= "小数"
End If
(3)If 语句的嵌套
If d = True Then
If Val() <> 123 Then
= "密码错误"
Else
= ""
= "登录成功"
【精品文档】
【精品文档】
End If
Else
If d = False Then
d = True
= "请输入密码"
Else
= ""
End If
End If
(1)For …. Next 循环语句
【精品文档】


发布评论