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 循环语句

【精品文档】