当前位置:文档之家› VS2008--VB编程实例

VS2008--VB编程实例

VS2008——VB编程实例(入门教程)

1. VB(Visual Basic)的发展

微软公司在1991年推出了建立在Window开发平台基础上的开发工具——Visual Basic 1.0。随着Window操作平台的不断完善,微软公司也相继推出了Visual Basic2.0 、Visual Basic3.0和Visaul Basic4.0,这些版本主要用于在Window3.x环境中的16位计算机上开发应用程序。1997年微软公司推出了Visual Basic5.0可以在Window9x或者Window NT环境中32位计算机上开发应用程序。1998年又推出Visual Basic6.0,它的功能更加完善。

2.VB语言的基础

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:一个模块的标识符。

4.常用数据类型:

4.1字符型(String)

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim strA As String

strA = "Hello world"

Label1.Text = strA

End Sub

End Class

上面代码是在VS2008-VB类里建立了Window窗体应用程序,并在窗体上添加一个标签控件(Label1),用关键字Dim 声名一个字符型变量 strA 并赋值“Hello world”,再把它赋给标签(Label1)。

图1、执行结果

4.2数值型

数值型可分为5种,Integer , Long , Single , Double , Byte 。

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim It As Integer, lt As Long, st As Single, dt As Double, bt As Byte

It = 123

lt = 12345678

st = 3.14

dt = 3.1415926

bt = 9

TextBox1.Text = It

TextBox2.Text = lt

TextBox3.Text = st

TextBox4.Text = dt

TextBox5.Text = 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 System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Label1.Text = "欢迎参加到VB学习队伍中来!"

Label2.Visible = False

Button1.Text = "Yes"

Button2.Text = "No"

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Label1.Enabled = True

Label2.Visible = True

Label2.Text = "我很喜欢VB语言编程"

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Label1.Enabled = False

Label2.Visible = True

Label2.Text = "我对它不感兴趣"

End Sub

End Class

上面代码是在VS2008-VB类中建立Window窗体应用程序项目,并在窗体中添加2个标签控件(Label1 ,Label2)和2个按钮控件(Button1 , Button2)并添加了2个按钮的单击事件。在窗体触发连接事件中把Label2的可视属性设置为假(False[布尔型])………

图3、执行结果图4、按Yes键结果

图5、按No键结果

4.4日期型

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim mydate As Date

mydate = #1/1/2015#

Me.Visible = False

MsgBox(mydate)

Me.Close()

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 System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim mt As My_data

https://www.doczj.com/doc/6e18970723.html, = "张大山"

mt.xb = "男"

mt.xh = "201403001"

mt.score = "优"

Me.Visible = False

MsgBox("姓名:" & https://www.doczj.com/doc/6e18970723.html, & Chr(10) & "性别:" & mt.xb & Chr(10) & _

"学号:" & mt.xh & Chr(10) & "成绩:" & mt.score)

Me.Close()

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 System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim mt As My_class

mt = New My_class

mt.setlx(10)

mt.setly(10)

mt.setrx(150)

mt.setry(200)

Label1.Text = mt.getdata

End Sub

End Class

在窗体中添加标签控件(Label1)用来显示类(方法)计算结果。

图8、显示类(方法)记录类型

6.枚举类型

Public Class Form1

Enum my_color

m_rod = 190

m_green = 90

m_blue = 165

End Enum

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Label1.Text = "My_color"

Label2.Text = "m_rod " & my_color.m_rod

Label3.Text = "m_green " & my_color.m_green

Label4.Text = "m_blue " & my_color.m_blue

End Sub

End Class

图9、显示枚举类型数据

7.变量和变量命名

变量相当于一个容器,它对应着计算机内存的存储单元,因此它可以保存数据。

7.1.变量命名规则:

(1)变量只能由英文、汉字、数字及下划线组成。

(2)变量名必须由英文字母或汉字开头,最后一个符号可以是数据类型声明符,如Dim a%。(3)变量名长度可达255个字符,有效字符为40个。

(4)VB中的关键字不能作为变量名。

(5)不能在变量名中出现标点符号、空格或者嵌入!、@、#、$、%、&等字符。

(6)在变量有效的范围内不能用同名命名变量。

(7)变量名不区分大小写。

7.2.变量声明的方式

(1)显式声明变量:使用声明语句声明变量。

Dim mydata As Integer

Private m_p As String

Public m_color As Byte

Static itLenght As Integer

(2)隐式声明变量:不声明直接使用变量。

a=153

itWidth=35

7.3.变量的作用域

一个变量被声明后,只在声明它的区域内有效。例如在一个过程内声明的变量,只在该过程内有效;一个在模块的通用声明声明的变量,只在该模块内的所有过程中有效;用Public语句声明的变量,不仅对于同一模块内的所有过程有效,甚至对于整个应用程序的所有过程也都有效。

8、常量的声明

当程序中需要重复使用一个其值始终不发生改变的量时,可用#Const语句来声明常量。

#Const PI = 3.1415926

9、运算符

在VB中有4种运算符:算术运算符、关系运算符、连接运算符和逻辑运算符。

Dim a As Integer, b As Integer

a = 100

b = a Mod 3

MsgBox(b)

图10、求余运算

9.2关系运算符:用于比较运算符左、右两边表达式之间的大小关系。其运算结果为布尔型数据(True\False)。

VB中的关系运算符有:等于(=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)和不等于(<>)

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim mt As Integer, mk As Integer

Label1.Text = "关系运算"

Label2.Text = "大数红色小数蓝色"

Randomize()

mt = Int(Rnd() * 6 + 1)

mk = 4

If mt > mk Then

Label2.ForeColor = Color.Red

End If

If mt < mk Then

Label2.ForeColor = Color.Blue

End If

End Sub

End Class

图11、关系运算结果图12、关系运算结果

上面程序演示了关系运算的过程,不同的时间运行程序结果会不一样。

9.3连接运算符

连接运算符有两个:“+”和“&”。“&”连接符用于强制把两个表达式作为字符串连接。“+”运算符是两个表达式都为同一类型,如果是字符串将两个字符串连接,如果是数字,则结果为两个数字相加的和。

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim strA As String, strB As String, intA As Integer

strA = "连接"

strB = "运算"

intA = 55

Label1.Text = strA & strB

Label3.Text = 10 + intAa

End Sub

End Class

图13、连接运算

9.4逻辑运算符

逻辑非(Not)、逻辑与(And)、逻辑或(Or)、逻辑异或(Xor)、逻辑等于(Eqv)和逻辑蕴含(Imp)。

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Label1.Visible = False

Label2.Visible = False

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If TextBox1.Text = TextBox2.Text And Val(TextBox1.Text) > 10 Then

Label2.Visible = False

Button1.Visible = False

GroupBox1.Visible = False

Label1.Enabled = True

Label1.Visible = True

Label1.Text = "欢迎登录本网站"

End If

If TextBox1.Text <> TextBox2.Text Or Val(TextBox1.Text) = 0 Or Val(TextBox2.Text) = 0 Then

Label1.Enabled = False

Label2.Visible = True

Label2.Text = "密码错误"

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 System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.Text = "人才招聘"

Label1.Text = "姓名"

Label2.Text = "年龄"

Label3.Text = "身高"

Label4.Text = "学历"

Button1.Text = "提交"

GroupBox1.Text = "个人信息"

GroupBox2.Text = "性别"

GroupBox3.Text = "政治面貌"

RadioButton1.Text = "男"

RadioButton2.Text = "女"

RadioButton3.Text = "党员"

RadioButton4.Text = "群众"

GroupBox4.Text = "信息反馈"

TextBox5.Multiline = True

TextBox5.Height = 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

GroupBox4.Visible = False

End Sub

Sub处理信息()

Dim i As Integer

If RadioButton1.ContainsFocus = True Then

addfen = addfen + 1

End If

If RadioButton3.ContainsFocus = True Then

addfen = addfen + 1

End If

If Val(TextBox2.Text) > 35 Then

addfen = addfen - 1

End If

If Val(TextBox2.Text) < 35 Then

addfen = addfen + 1

End If

If Val(TextBox3.Text) >= 170 Then

addfen = addfen + 1

End If

If Val(TextBox3.Text) < 160 Then

addfen = addfen - 1

End If

For i = 0 To 4

If TextBox4.Text = xueli(i) Then

addfen = addfen + fenst(i)

End If

Next i

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

处理信息()

GroupBox4.Visible = True

If addfen > 110 Then

TextBox5.Text = TextBox1.Text & "同志:你好,你的个人条件很符合我们公司目前发展的需求。在此诚恳的邀请你到我们公司来工作!希望你看到信息后3天内到我们公司人事部报到。"

End If

If addfen >= 105 And addfen < 110 Then

TextBox5.Text = TextBox1.Text & "同志:你好,你的个人条件符合我们公司目前发展的需求。在此诚恳的邀请你到我们公司来工作!希望你看到信息后3天内到我们公司人事部报到。"

End If

If addfen >= 100 And addfen < 105 Then

TextBox5.Text = TextBox1.Text & "同志:你好,你的个人条件基本符合我们公司目前发展的需求。希望你看到信息后3天内到我们公司人事部报到面试和协商工作事宜。"

End If

If addfen < 100 Then

TextBox5.Text = TextBox1.Text & "同志:你好,你的个人条件不符合我们公司目前发展的需求。非常抱谦!希望你尽快找到适合的工作。"

End If

End Sub

End Class

上面代码模仿了一个简单的人才招聘过程,其中有一个加减分的算法和反馈信息算法。

图17、窗体设计页面和控件添加注:生成窗体设计页面和控件添加的步骤:

1.打开VS2008选择“文件”、“新建”、“项目”

2.建立窗体项目

3.打开主窗口上的“工具箱”按钮,向窗体上添加控件。

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 时执行另一个分支。

(3)循环结构:可以根据需要多次重复执行一行或多行代码。

(a )当型循环:先判断后执行,当条为真时反复执行,当条件为假时结束循环。 (b )直到型循环:先执行后判断(循环体至少执行一次)。

5.数据的输入和输出

(1)在程序中,通常用文本框(TextBox 控件)、输入对话框函数InpuBox 来输入数据。

(2)数据的输出可以用Label 控件、MsgBox 信息对话框、TextBox 控件等。

6.选择结构

(1)单分支语句:If ….. Then

If Val(TextBox1.Text) > 10 Then TextBox1.Text = "大数" End If

(2)双分支语句:If … Else … Then If Val(TextBox1.Text) > 10 Then TextBox1.Text = "大数" Else

TextBox1.Text = "小数"

End If

(3)If 语句的嵌套

If TextBox1.Enabled = True Then If Val(TextBox1.Text) <> 123 Then TextBox1.Text = "密码错误"

Else

TextBox1.Text = ""

TextBox1.Text = "登录成功"

End If

Else

If TextBox2.Enabled = False Then TextBox2.Enabled = True

TextBox2.Text = "请输入密码"

Else

TextBox1.Text = ""

End If

End If

7.循环结构

(1)F or …. Next 循环语句

相关主题
文本预览
相关文档 最新文档