Visual Basic是一种有代表性的较流行的可视化语言,利用它使得创建具有专业外观的用户界面的编程工作简单易行。
我们的目的与任务是使大家通过本课程的学习和实例的分析,掌握使用Visual Basic开发Windows应用程序的一般方法和特点,理解Windows应用程序的基本概念,主要功能和Windows应用程序开发的基本思想,能够根据实际需要自行开发简单的Windows应用程序,并为今后进一步使用Visual Basic或其他面向对象的可视化开发工具开发Windows应用程序打下基础。
第1章 Visual Basic 概述和开发环境
一 VB的发展
Visual BASIC的发展
1991年Microsoft首次推出了可视化的BASIC1C Visual Basic 1.0
1992年秋Microsoft推出Visual BASIC 2.0,对1.0版本作了许多改进;
1993年Microsoft推出Visual BASIC 3.0,增加了数据库访问功能和三维图形外观设计功能;
1995年推出了Visual Basic 4.0,适应了32位操作系统的要求,能开发32位应用程序。
1997年推出了基于win95的Visual Basic 5.0,增加了对Internet的支持和开发能力,分三个版本(学习版、专业版、企业版)
1998年推出了Visual BASIC 6.0,进一步加强对数据库和Internet的访问。
二 VB的三种版本
Visual Basic有三种版本,可以满足不同的开发需要。
学习版:使编程人员轻松开发 Windows 和 Windows NT(r)的应用程序。该版本包括所有的内部控件以及网格、选项卡和数据绑定控件。学习版提供的文档有 Learn VB Now CD 和包含全部联机文档的Microsoft Developer Network CD。
专业版:为专业编程人员提供了一整套功能完备的开发工具。该版本包括学习版的全部功能以及ActiveX控件、Internet Information Server Application Designer、集成的Visual Database Tools 和 DataEnvironment、Active Data Objects和Dynamic HTML Page Designer。专业版提供的文档有Visual Studio Professional Features手册和包含全部联机文档的Microsoft Developer Network CD。
企业版:使得专业编程人员能够开发功能强大的组内分布式应用程序。该版本包括专业版的全部功能以及 Back Office 工具,例如 SQL Server。
三 VB应用程序的主要特点
1.具有面向对象的可视化设计工具:VB在设计应用程序界面时,可以通过键盘鼠标以及徒手画出来,不需要大量的代码再编译生成。
2.事件驱动编程:在使用VB设计应用程序时,必须首先确定应用程序是通过哪个事件(如鼠标单击、键盘输入等)同用户进行交互的,这就是事件驱动编程。
四 基本界面
菜单栏
工具栏
工具箱
VB工程管理器
组件属性窗口
窗体布局窗口
窗体设计区域
代码编辑区域
五 实例
第2章 VB编程基础
一 VB的几个基本概念
1 对象
VB是面向对象的程序设计技术.在VB中.一切可以操作的
实体成为对象.如按钮,文本框,菜单条,窗体等等.
2 类
在VB中.对象是由类创建的.因此对象可以说是类的具体实例.
3 属性
是指对象的各种性质,特性.
设置属性的值:
1.设计阶段:通过属性窗口设置对象的属性
2.运行阶段:对象名.属性名=属性值
读取属性的值:变量=对象.属性
4 方法
是对象要执行的动作
格式:对象名.方法名
5 事件
是指由系统事先指定的.能被对象识别和响应的动作.
鼠标事件:Click,DbClick,MouseDdwn,MouseUp,MouseMove
6 事件驱动机制
二 VB6.0应用的基本开发方法
1 交互式开发
传统的应用程序开发过程可以分为三个明显的步骤:编码-编译-测试.
VB应用程序开发过程使三个步骤没有明显的界限,交互式地开发.
2 事件驱动应用程序的工作方式
典型事件序列:
(1)启动应用程序.装载和显示窗体
(2)窗体(或窗体上的控件)接受事件
(3)如果在相应的事件过程中存在代码,就执行代码
(4)应用程序等待下一次事件
三 VB6.0应用程序开发过程
1 创建应用程序界面
2 设置属性
3 编写代码
4 保存应用程序
5 调试,运行应用程序
6 生成可执行文件
第3章 VB6.0程序设计基础
一 数据类型
数据类型 类型名称 类型声明字符 所占字节 有效值
字节型 BYTE 0-255 10,157,220
整型 INTEGER % 2 -32768--32768
长整型 LONG & 4 -2147483648--2147483648
单精度型 SINGLE ! 4 -3.402823E38到3.402823E38
双精度型 DOUBLE # 8 -1.79769313486232D308到1.79769313486232D308
货币型 CURRENCY @ 8 -922337203685477.5808到922337203685477.5807
日期型 DATE 8 100.1.1~9999.12.31
布尔型 BOOLEAN 2 TRUE或FALSE
对象型 OBJECT 4 任何对象的引用
变长字符串 STRING $ 字符串长度,1字节/字符
定长字符串 STRING*NUM $ NUM
可变类型 VARIANT 不定
数据类型转换
一般程序设计语言对不同类型数据的处理比较严格.将不同类型的值赋给同一变量,可能会产生逻辑错误.在VB中,一些数据类型可以自动转换.例如,数字字符串可自动转换为数值型.但是,许多数据类型不能自动转换,因此,VB 提供了函数可将已有的数据转换成特定的数据类型的数据类型转换函数.
注意,对目标数据类型,传递到转换函数的值必须是有效的,否则会发生错误.例如:如果想要把Long 类型的数据转换为Integer类型的数据,则Long类型的数据必须在Integer数据类
型的有效范围内.
编程语言vb是什么VB中四种数据存储形式
1 变量:是指程序在运行过程中其值可以改变的那些量
变量命名规则
1.第一个字符必须是字母
2.后接字符可以是字母,数字,下划线,但不可以是小数点,空格以及! @ # ¥ % &等变量变形说明符.
3.最后一个字符可以是类型说明符(! @ # ¥ % &)
4.变量名最长可达255个字符
5.不能与保留字重名
声明变量
1.隐式声明:只是变量不经声明.直接使用
虽然隐式声明使用方便,但用户一时疏忽而输错字符时,程序运行过程中由于不能检查出错误,其执行结果就不能达到预期的效果,而且这种错误不能利用编译系统检查出来,较难查,特别是在大型复杂的程序中更是如此.因此,要养成在使用一个变量之前先声明它(即显式声明)的良好的编程习惯.
2.显示声明:变量声明后再使用的方式成为显式声明,它在模块级别中使用,我们可以强制必须显式声明模块中的所有变量,然后才能在程序中使用变量,这样可以避免发生一些由于错误输入而引起的程序错误.
强制显示声明的两种方式
(1)工具-选项-编辑器-勾选"要求变量声明"-重新启动VB
(2)窗体对象列表选择(通用),再声明区声明Option Explicit
使用DIM语句声明变量(也可以用来声明数组)
1.声明一个变量 Dim StuName As String
2.声明多个变量 Dim m As Integer,N As Integer
3.声明多个不同类型的变量 Dim a,b As Boolean,c As Date
全局变量的声明:在标准模块的声明部分,使用关键字Public或者Global声明,可以被工程中的任一窗体,任一模块中的任一过程或函数使用.
全局变量的使用过程中一定要特别注意,因为每一个程序模块都可能改变它的值,所以如果控制不当,极易出现错误
2 常量:常量指在程序运行过程中,其值不能改变的量.在编写程序时,常会遇到一些固定不变的数值,将它声明为常量来用.利用常量可以减少输入错误,简化固定数值的修改过程,增强程序的可读性.VB 中的常量分为两类
系统内部常量
是为应用程序和控件提供的
如:VbRed(红) VbWhite(白)
符号常量(自定义常量)
用户自定义常量使用关键字CONST进行声明
[Public|Private] Const 变量名 [As 数据类型]=表达式
Public是公有声明,使用Public 声明的常量可在整个应用程序中使用,它必须在标准模块的声明区中使用.在窗体模块或类模块中不能声明Public常量.
Private是私有声明,Private可用在模块级声明常量,此常量只准许在模块级使用;Private关键字不能在过程声明变量时使用
缺省为Public
如:Const PI As Double=3.1415926
几点说明:
1.用Const声明的变量在程序运行的过程中是不能被重新赋值的
2.在常量声明的同时要对常量赋值
3.可以在声
明的常量指定类型
4.在使用一常量为另一常量初始化时注意循环引用时会出错
3 数组:是多个有序数据类型(包括VARIANT数据值)的值的集合
数组的定义和声明
数组的定义语法如下
Dim 数组名([[下标下界 To] 下标上界])[As 数据类型]3
如:Dim A(10) As Integer '表示数组名为A,此数组下标下界为缺省值0,下标上界为10,有11个Integer类型的元素,从A(0)、A(1)到A(10)
Dim B(3,4) As Integer '表示B是一个二维 Integer 数组
Dim C(1 To 5,4 To 9,2 To 5) As Integer '表示C是一个显式指定了上下界的三维 Integer 数组
Option Base语句
声明数组下标的缺省下界,必须在模块的数组声明之前使用
语法:Option Base{0|1}
静态数组
数组中的元素个数是固定不变的,它们占用的空间大小也是固定不变的.
动态数组
有时在数组开始使用前,不能知道需要多大的数组才能满足实际需要.当然可以把数组的大小定义到足够大来满足任意的实际应用需要,这种方法效率很低(大量浪费内存空间).如果使用动态数组,就可以在程序运行时根据实际需要,精确定义数组的大小.
动态数组的声明过程:
1.使用Dim声明数组
Dim MyArray()As Integer
2.使用ReDim语句重新定义
Dim MyArray(10,10)
要使用原有的数据保留,可使用以下语句:
ReDim Preserve MyArray(10,20)
注意:使用ReDim 时,重新定义数组会使所有数组元素的值消失,而使用Preserve可以保留数据.但是用Preserve只能在改变数组的最后一维的大小时,保留数组的数据.对于一维数组来说,所有数据都会保留,而对于多维数组:只能改变最后一维的大小,才能保留全部数组数据,否则出错.
LBound和UBound函数
LBound(数组名[,指定的维数]):返回指定数组维的可用最小下标
UBound(数组名[,指定的维数]):返回指定数组维的可用最大下标
4 记录:又称"用户自定义数据类型",是由多个变量构成的结构化的数据类型.变量称作记录的成员.成
员可以是不同数据类型的变量(包括记录类型)
例如,一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项,都与某一个学生相互联系.如果将num(学号)、name(姓名)、sex(性别)、age(年龄)、score(成绩)、addr(地址)分别定义为互相独立的简单变量,是难以反映它们之间的内在联系的.应当把它们组织成一个组合项,在一个组合项中同时包含若干个类型不同(当然也可以相同)的数据项.
记录类型的定义
用End Type语句定义(注意:只能在模块的声明部分使用)
如:
Type Student
Num As Integer '成员名 As 数据类型
Name As String*20
sex As String*1
End Type
记录类型变量的命名规则同一般变量命名相似,但不能使用类型声明后缀(% & #
@ ! $)
定义记录类型变量
用Dim(或Public,Static)来声明拥有这种数据类型的变量.
如:Dim Student1,Student2 As Student
定义Student1和Student2为Student类型变量,即它们具有Student类型的结构
赋值
如:Student1.Sex="男"
Student1.Name="王华"
记录数组
一个记录变量可以是一组数据(如一个学生的学号、姓名、成绩……等数据).如果对一个班的学生的数据进行统计与处理,显然应该使用记录数组.记录数组与以前的数组不同之处在于每个数组元素都是一个记录类型的数据
二 运算符和表达式
运算符
用来对运算对象进行各种运算的操作符号
分为:算术运算符.连接运算符.关系运算符.逻辑运算符.特殊运算符.
表达式
由多个运算对象和运算符组合再一起的合法算式.
分为:算术表达式.关系表达式.逻辑表达式.
算术运算符
VB中,主要运算符有:
^ 指数
+ 加或取正值
- 减或取负值
* 乘
/ 除
\ 整数除法(整除)
Mod 求余
连接运算符
用来连接字符串的运算符.在VB中有两个连接运算符:
& 强制两个表达式(类型可能不通)作字符串连接
+ 当两边的表达式中混着数值字符串及数值的话,结果是对数值求和.
关系运算符
用来比较两个数或表达式的运算符,其运算结果为True,False或Null.
运算符 True False Null
< 表达式1<;表达式2 表达式1>=表达式2 表达式1或表达式2=Null
<= 表达式1<=表达式2 表达式1>表达式2 表达式1或表达式2=Null
> 表达式1>表达式2 表达式1<=表达式2 表达式1或表达式2=Null
>= 表达式1>=表达式2 表达式1<;表达式2 表达式1或表达式2=Null
= 表达式1=表达式2 表达式1<>表达式2 表达式1或表达式2=Null
<> 表达式1<>表达式2 表达式1=表达式2 表达式1或表达式2=Null
逻辑运算符
用来进行逻辑运算的运算符.
Not 逻辑非
And 逻辑与
Or 逻辑或
Xor 异或
Eqv 逻辑相等
Imp 蕴涵
特殊运算符
VB中提供两种特殊运算符:Is和Like
Is:比较两个对象变量,返回结果为True或False
Like:把一个字符串表达式与一个给定模式进行匹配,匹配成功结果为Ture,否则为False.
匹配字符和匹配内容:
?
任何单一字符
* 零个或多个字符
# 任何一个数字(0-9)
[Charlist] Charlist中的任何单一字符
[! Charlist] 不在Charlist中的任何单一字符
如:MyCheck="F"Like"[!A-Z]" 返回结果为False
运算符的优先级
在一个表达式中需要进行运算操作时,每一步都按预先确定的顺序进行计算求解,这个顺序由运算符的优先顺序所决定的。当表
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论