初级VB教程资料很好用的.docx
《初级VB教程资料很好用的.docx》由会员分享,可在线阅读,更多相关《初级VB教程资料很好用的.docx(97页珍藏版)》请在冰豆网上搜索。
初级VB教程资料很好用的
VB编程基础
程序设计语言
计算机的工作原理——“存储程序”(存储程序和程序控制)
计算机只能执行预先由程序安排它去做的事情
要利用计算机来解决问题,就必须采用程序设计语言来编制程序
程序设计语言大致有三类:
机器语言,汇编语言,高级语言
VB概述
VB的发展过程
Windows的产生,推动了Windows应用程序的开发
基本BASIC→结构化BASIC→可视化BASIC→网络化BASIC(VB.NET)
VB的特点
面向对象的可视化编程
把程序和数据“封装”起来成为一个对象;每个对象都是可视的
从VB工具箱中选用控件(即现成部件,如文本框、命令按钮等),构成应用程序的用户界面
事件驱动的编程机制
传统的程序设计语言面向过程,VB语言面向对象
通过事件来触发执行相应的事件过程(“事件驱动“),从而执行对象的操作和达到运算、处理的目的。
结构化的设计语言
友好的VB集成开发环境
VB的启动和关闭
启动VB
按运行一般应用程序的方法来启动它。
创建一个默认的“标准EXE”类型的VB应用程序
“新建工程”对话框
VB集成开发环境
退出VB
VB应用程序设计初步
设计VB应用程序的步骤
大致分为两大部分工作:
设计用户界面和编写程序代码
用户界面(用户使用计算机的综合操作环境)
先要确定对象,然后针对这些对象进行代码编程
最常用的对象是窗体(即窗口),各种控件对象必须建立在窗体上。
用户界面设计又包括建立对象和对象属性设置两部分。
设计VB应用程序的大致步骤如下:
(1)建立用户界面的对象;
(2)设置对象的属性值;
(3)编写程序代码,建立事件过程;
(4)保存和运行应用程序
第一个简单程序
例1.1在运行中当用鼠标单击窗体时,窗体上显示出“欢迎您来到VB世界!
”
设计步骤如下:
1.创建窗体
在系统默认提供的窗体上输出若干文字,不必专门设计用户界面。
2.编写程序代码,建立事件过程
代码窗口:
进入;选择了对象和事件;编写程序代码
事件过程名,由两部分组成:
对象名和事件名
3.保存工程
保存窗体文件(.frm)和工程文件(.vbp)
4.运行程序
执行“启动”命令,即用解释方式运行程序
执行“结束”命令,即可结束程序的运行
窗体显示情况
第二个简单程序
例1.2设计一个应用程序,由用户输入正方形的边长,计算并输出正方形的面积
分析:
要创建的应用程序用户界面(图3)
窗体上含有两个标签、两个文本框和两个命令按钮
两个标签分别用于显示文字“边长”和“面积”
两个文本框用于输入数据和显示计算结果
程序功能要求:
运行时,用户在“边长”文本框中输入某一个数,当单击“计算”按钮时,则在“面积”文本框中显示该数的平方数。
单击“结束”按钮,则结束程序的运行。
设计步骤
1.创建窗体
在默认窗体Form1上添加控件,以构建用户界面
2.在窗体上添加界面的控件
设置控件的方法
在Form1窗体上添加以下控件:
标签Label1:
用于显示文字“边长”;
标签Label2:
用于显示文字“面积”。
文本框Text1:
用于边长数;
文本框Text2:
用于显示计算结果(平方数)。
命令按钮Command1:
用于计算输入数的平方,并把结果显示在文本框Text2中;
命令按钮Command2:
用于结束应用程序的运行。
设置对象属性
在“属性窗口”中进行设置以下对象的属性:
(1)设置窗体Form1的Caption(标题名)属性为“计算正方形的面积”。
(2)设置标签Label1的Caption属性为“边长”。
(3)设置标签Label2的Caption属性为“面积”。
(4)设置文本框Text1的Text(文本内容)属性为空。
(5)设置文本框Text2的Text属性为空。
(6)设置按钮Command1的Caption属性为“计算”。
(7)设置按钮Command2的Caption属性为“结束”。
(8)其他属性采用默认值。
编写程序代码,建立事件过程
例1.2的程序代码(图4)
程序说明:
Dim语句;数据类型Single(单精度);Val函数;语句“Text2.Text=x*x”的作用
保存工程
保存窗体文件和工程文件
运行程序
单击工具栏上的“启动”按钮,即可采用解释方式来运行程序。
运行后,在“边长”文本框中输入某一个数(如23),单击“计算”按钮时,系统会启动事件过程Command1_Click,则取数和运算,最后把计算结果显示在“面积”文本框(Text2)中。
单击“结束”按钮,可以启动事件过程Command2_Click,则执行End语句来结束程序的运行。
运行效果
对象和事件的基本概念
对象及其属性、方法和类
1.对象
对象是VB系统中的基本运行实体,如窗体(Form)、标签(Label)、文本框(TextBox)、命令按钮(CommandButton)等。
对象是一组程序代码和数据的集合。
2.容器对象
其他对象的载体或容器。
如窗体
3. 属性
对象的特征。
不同的对象有不同的属性。
每一个对象都有一组特定的属性。
例如文本框的属性有Name(名称)、Text(文本内容)、Maxlength(最大字符数)、Multiline(多行)等。
属性默认值
设置对象属性的常用两种方法
•
(1) 在属性窗口中设置
•
(2) 在程序运行中更改对象的属性(动态修改)
[对象名.]属性名=属性值
•示例:
Label1.Caption="输入数"´设置标签的标题
4.方法
方法是对象能够执行的动作。
它是对象本身内含的函数或过程,用于完成某种特定的功能
一般格式:
[对象名.]方法名[(参数)]
示例:
Form1.Cls´消除窗体Form1上的内容
Print"VisualBASIC"´在当前窗体上显示
5.类
一组用来定义对象的相关属性和数据的集合
类是创建对象的模型,对象则是按模型生产出来的成品
事件、事件过程及事件驱动
1.事件
由系统预先设置好的、能被对象识别的动作。
例如:
鼠标的移动(MouseMove)、单击(Click)和双击(Dblclick),窗体的装载(Load)等。
每一种对象能识别的事件是不同的
程序中一般只用到几个常用的事件(与操作要求有关)
2.事件过程
事件过程的语法格式如下
Sub对象名_事件名()
处理事件的程序代码
EndSub
示例
命令按钮Command1的单击(Click)事件过程为:
PrivateSubCommand1_Click()
Forml.Caption="在窗体上画圆“
´以圆心(2400,1500),半径为800画圆
Forml.Circle(2400,1500),800
EndSub
3. 事件驱动
当某个事件(一般由用户操作来引发)发生时,系统就会自动执行此事件的事件过程
由事件控制整个程序的执行流程
事件过程要经过事件的触发才能被执行,这种工作模式称为事件驱动方式
VB的集成开发环境
集VB程序的设计、编辑、编译和调试于一体,集中提供程序开发所需要的各种工具、窗口和方法
主窗口
由标题栏、菜单栏和工具栏组成
VB工作状态(模式):
设计、运行和中断(Break)
工具箱和控件
VB工具箱中包含了各种VB标准控件。
包含一个指针和20个标准控件
控件就像盖房子使用的门、窗、砖瓦等,都是现成部件,只要到现场组合就可以了。
1.在窗体上添加一个控件
2.控件的缩放、移动、复制和删除
3.选定多个控件
4.控件的布局
其他窗口
1.窗体编辑器窗口
设计应用程序的界面。
设计窗体的外观,添加控件、图形,移动控件、改变大小等。
2.工程资源管理器窗口
管理工程中的窗体和各种模块
以层次结构方式列出了当前工程中的所有文件
三个按钮:
“查看代码”,“查看对象”,“切换文件夹”
3.属性窗口
用于列出所选定窗体或控件的属性设置值,并允许用户设置或修改
这些属性值将作为程序运行时各对象属性的初始值
(1) 对象列表框
(2) 排序方式选项卡
(3)属性列表框
(4)属性解释区
4.代码窗口
用来编辑程序代码
5.窗体布局窗口
显示窗体在屏幕中的位置。
调整窗体的位置
工程的管理
VB是通过工程(Project,也称为项目)来管理应用程序中的所有不同文件的。
工程中的文件(常用)
工程文件.vbp
窗体文件.frm
标准模块文件.bas
创建、打开和保存工程
创建工程;打开工程;保存工程;关闭工程
添加、删除和保存文件
添加文件、删除文件和保存文件
生成可执行文件
两种运行程序的方式:
解释方式;编译方式
执行“文件”菜单中的“生成....exe”命令
本章小结
演示:
(1)将例1.2的应用程序“编译”成可执行文件,然后进入Windows环境,直接运行该程序文件
(2)分别采用解释方式和编译方式运行“时钟”程序
VB语言基础
标识符
标识符是程序员为变量、常量、数据类型、过程、函数、类等定义的名字。
VB中标识符的命名规则如下:
标识符必须以字母开头,后跟字母、数字或下划线。
标识符的长度不能超过255个字符。
自定义的标识符不能和VB中的运算符、语句、函数和过程名等关键字同名,同时也不能与系统已有的方法和属性同名。
关键字是VB保留下来的作为程序中有固定含义的标识符,不能被重新定义。
运算符
运算符是代表VB某种运算功能的符号。
VB程序会按运算符的含义和运算规则执行实际的运算操作。
VB中的赋值运算符是“=”
VB中的逻辑运算符
运算符说明
Not取反运算符(运算数为假时,结果为真,反之结果为假)
And与运算符(运算数均为真时,结果才为真)
Or或运算符(运算数中有一个为真时,结果为真)
Xor异或运算符(运算数相反时,结果才为真)
Eqv等价运算符(运算数相同时才为真,其余结果均为假)
Imp蕴含运算符(第一个运算数为真,第二个运算数为假时,结果才为真,其余结果均为假)
书写规则
VB代码中不区分字母的大小写
语句书写自由
在同一行上可以书写多条语句,语句间用“:
”号分隔。
单行语句可分若干行书写,在本行后加上续行符“_”(由一个空字符和一个下划线字符组成)。
一行最多允许255个字符。
注释有利于程序的维护和调试
注释以Rem开头,也可以以“'”引导注释内容。
常量、变量及数据类型
与一般程序设计语言一样,VB中使用常量和变量来存储各种类型的数据。
常量用名字来表示某个数值,将无意义的单纯数字用有含义的符号来表示,方便用户使用。
变量用名字来表示其中存储的数据,用数据类型表示其中存储的数据的具体类型。
还可以使用一种特殊的变量数组来表示一系列相关的变量。
数据类型用来限制不同的数据存储时占据的空间的大小。
常量
字符串常量是用双引号括起来的一串字符。
数值常量共有5种表示方式:
整数、长整数、定点数、浮点数和字节数。
布尔常量只有True(真)和False(假)两个值。
日期常量使用两个“#”符号把表示日期和时间的值括起来。
符号常量又分为两种:
系统内部定义常量和用户定义常量。
变量
声明变量,可被声明为在不同范围内使用
普通局部变量:
Dim变量名[As数据类型名]
静态局部变量:
Static变量名[As数据类型名]
模块变量:
Private变量名[As数据类型名]
全局变量:
Public变量名[As数据类型名]
变量赋值,变量名=表达式
引用变量,在需要使用变量中的值时,必须引用变量的名字来取出其中存放的数值。
数据类型
一般情况下,对于固定类型的变量,都要指明其数据类型。
在VB中,允许使用的有如下几种数据类型:
数值数据类型:
用于表示某种数值类的数据。
Integer(整型)、Long(长整型)、Single(单精度浮点型)、Double(双精度浮点型)和Currency(货币型)
字节数据类型:
用于表示并存储二进制数据。
字符数据类型:
用于表示一个由很多字符组成的字符串。
布尔数据类型:
用于表示只有两种相反取值的数据。
日期数据类型:
用于保存日期和时间,赋值时用两个“#”符号把表示日期和时间的值括起来。
可变数据类型:
能够存储所有系统定义类型的数据。
对象(Object)数据类型:
用来引用应用程序中或某些其他应用程序中的对象。
数组
除了一般的变量,在VB中还允许使用数组来表示一系列相关变量的集合。
数组内的元素是连续存放的,而且有上、下两个边界限制数组内元素的个数和数组的起始位置及结束位置。
一般情况下,一个数组中的元素类型必须相同,可以是前面讲过的各种基本类型。
特殊的是当数组类型指定为Variant时,其中元素的类型可以为各种基本类型的混合。
数组可以是一维的,也可以是多维的。
数组的种类:
固定数组,该数组的大小始终保持不变
动态数组,该数组的大小在程序运行过程中可以改变
固定数组
声明固定大小的数组
声明一个固定数组变量时,必须给定一个数组使用的有效范围。
设定上下界
声明数组时,在数组名后跟一个用括号括起来的上界(默认下界为0),上界不超过Long数据类型的范围。
声明格式如下:
[Private|Public]数组名(数组长度-1)As数组中元素类型
例如:
声明一个元素为整型、长度为7的局部数组A,可以使用如下语句声明:
PrivateA(6)AsInteger
可以用关键字To显式提供下界。
例如:
声明一个元素为整型、长度为7,索引值范围从1~7的局部数组A。
PrivateA(1To7)AsInteger
包含其他数组的数组,可以建立Variant数据类型数组,并与不同数据类型的数组共同使用。
多维数组
例如,以下的语句声明一个10×10的二维数组:
DimMatrix(9,9)asDouble
可用显式下界来声明两个维数或两个维数中的任何一个:
DimMatrix(1To9,1To9)asDouble
动态数组
在事先不知道数组的大小时,可以声明该数组为动态数组,在程序中需要时再指定数组的大小。
创建动态数组的步骤为:
声明数组为动态数组,只需给数组附以一个空维数表。
DimMatrixX()
在需要指定数组大小时,再使用ReDim语句分配数组中实际元素的个数。
ReDim数组名(数组长度-1)
在重定义数组时,一般都会清除原来的元素,如果带Preserve关键词,则不清除原来的元素。
ReDimPreserveMatrixX(15)
顺序结构
赋值语句
它是最简单的顺序结构,其使用语法如下:
[Let]变量=表达式其中,关键字Let为可选项,通常都省略该关键字。
Print方法
Print方法用于在窗体、立即窗口、图片框、打印机等对象中显示文本字符串和表达式的值。
语法如下:
[对象表达式.]Print[表达式表][,|;]
一般情况下,每一次Print方法要自动换行,即后面执行Print时将在新的一行上显示信息。
为了仍在同一行上显示,可以在Print方法末尾加上分号或逗号。
为了使数据按指定的位置输出,VB提供了几个与Print配合使用的函数。
Tab函数与Print方法或Print#语句一起使用,对输出进行定位。
PrintTab(10);“姓名”;Tab(30);“年龄”
在Print方法或Print#语句中,用Spc函数跳过n个空格。
Print"ABC";Spc(5);"DEP"'输出:
ABCDFE
Spc函数与Tab函数的作用类似,可以互相代替。
但应注意,Tab函数从对象的左端开始计数,而Spc函数只表示两个输出项之间的间隔。
注释语句Rem
注释语句用来在程序中包含注释。
其使用语法如下:
Rem|‘注释内容
在Rem关键字与注释内容之间要加一个空格。
如果在其他语句行后使用Rem关键字,则必须使用冒号“:
”与语句隔开。
可以用一个单引号“‘”来代替Rem关键字。
若使用单引号,则在其他语句行使用时不必加冒号。
注释语言可以单独占有一行,也可以放在语句的后面。
End语句
End停止执行过程或块。
可以在过程中的任何位置关闭代码执行。
在执行时,End语句会重置所有模块级别变量和所有模块的静态局部变量。
若要保留这些变量的值,改为使用Stop语句,则可以在保留这些变量值的基础上恢复执行。
End语句提供了一种强迫中止程序的方法。
选择结构
VB中的选择结构语句分为If语句和SelectCase语句两种。
If语句又分为单行格式和多行格式。
单行格式If语句
If条件Then语句1[Else语句2]
编写一个函数求两个数中最大数。
PrivateFunctionMaxValue1(aAsInteger,bAsInteger)AsInteger
Ifa>bThenMaxValue1=aElseMaxValue1=b
EndFunction
多行格式If语句
格式一
格式二
格式三
SelectCase表达式
Case表达式结果表1
语句体1
[Case表达式结果表2
语句体2]
……
[CaseElse
语句体n]
EndSelect
SelectCase语句
在这种结构中,只有一个
用于判断的表达式,根据此
表达式的不同计算结果,
执行不同的语句体部分。
SelectCase语句的一般格式为:
SelectCase语句一般格式中的表达式结果表列可以有如下四种格式,即允许出现四种Case形式:
•表达式结果
•表达式结果1[,表达式结果2]……[,表达式结果n]
•表达式结果1To表达式结果2
•Is关系运算符数值或字符串
循环结构
循环结构可以分为For循环、While循环和Do循环语句结构。
For循环:
属于计数型循环,程序按照此种结构中指明的循环次数来执行循环体部分。
For循环格式如下:
除了上述For循环外,还有一个集合For循环语句,其使用语法如下:
•该语句对集合中的每个元素进行一次循环,直到集合中无更多的元素时,执行Next后面的语句。
•
While循环用于对条件进行判断,如果条件成立,可以循环执行循环体,直到成立,条件不循环结束为止。
•While循环的格式如下:
•此种循环允许嵌套,可以嵌套多层,每个用于表示结束的Wend均与最近的一个While配对。
•求1~n(正整数)的所有正整数之和的函数
Do循环
Do循环
与While循环不同的是:
While循环只能在初始位置检查条件是否成立,若成立,进入循环体;不成立,不进入循环体,执行循环体后的语句。
而Do循环可以有两种格式,既可以在初始位置检验条件是否成立,也可以在执行一遍循环体后的结束位置判断条件是否成立,能否进入下一次循环。
•格式一
•格式二
中途跳出语句
在VB中,有如下几种中途跳出语句:
ExitFor:
用于中途跳出For循环,可以直接使用,也可以用条件判断语句加以限制,在满足某个条件时才能执行此语句,跳出For循环。
例如:
在For循环内部添加语句“If条件ThenExitFor”。
ExitDo:
用于中途跳出Do循环,同上类似,既可以直接使用,也可以用条件判断语句限制使用。
ExitSub:
用于中途跳出Sub过程,既可以直接使用,也可以用条件判断语句限制使用。
ExitFunction:
用于中途跳出Function过程,可以直接使用,也可以用条件判断语句限制使用。
使用上述几种中途跳出语句,可以为某些循环体或过程设置明显的出口,能够增强程序的可读性。
过程
将程序分割成较小的逻辑部件可以简化程序设计任务,这些部件称为过程,它们可以变成增强和扩展VB的构件。
子过程:
子过程(Sub过程)是在响应事件时执行的代码块。
子过程的语法如下:
过程的参数表类似于变量声明,它声明了从调用过程传递进来的值。
子过程分为:
通用过程和事件过程这两类。
通用过程
通用过程:
通用过程告诉应用程序如何完成一项指定的任务。
一旦确定了通用过程,就必须由应用程序来调用。
•建立通用过程是为了让事件过程来调用它,这样就不必重复编写代码。
•上图说明了通用代码的使用,三个Click事件中的代码都调用Gen()子过程,子过程运行自身的代码,然后将控制返回到Click事件过程。
事件过程
当VB中的对象对一个事件的发生作出标识时,便自动用相应于事件的名称调用该事件的过程。
事件过程通常总是处于空闲状态。
因为名称在对象和代码之间建立了联系,所以说事件过程是附加在窗体和控件上。
•事件过程的语法如下:
•虽然可以自已编写事件过程,但使用VB提供的代码过程会更方便,这个过程自动将正确的过程名包括进来。
从“对象框”中选择一个对象,从“过程框”中选择一个过程,就可在“代码编辑器”窗口选择一个模板。
函数过程
VB包含内部函数,如Sqr、Sin和Chr。
此外,还可用Function语句编写自已的函数(Function)过程。
函数过程的语法是:
与Sub过程一样,Function过程也是一个独立的过程,可读取参数、执行一系列语句并改变其参数的值。
与子过程不同的是,Function过程可返回一个值到调用的过程。
下面是已知一个三角形的三条边长,计算其面积的函数:
在窗