Visual Basic 开发从入门到精通

978-7-115-41987-3
作者: 陈强
译者:
编辑: 张涛

图书目录:

详情

从初学者的角度出发,以通俗易懂的语言、丰富多彩的实例,详细介绍了使用Visual Basic进行程序开发需要掌握的知识。全书共分22章,包括VB语言基础,算法和程序控制结构,数组的声明和应用,过程的创建和使用,内置函数与API函数,窗体和系统对象,标准模块和类模块,常用标准控件,菜单、工具栏和状态栏,对话框,鼠标键盘处理,程序调试和错误处理,文件系统编程,图形图像技术,多媒体技术等

图书摘要

版权信息

书名:Visual Basic 开发从入门到精通

ISBN:978-7-115-41987-3

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

• 著    陈 强

  责任编辑 张 涛

• 人民邮电出版社出版发行  北京市丰台区成寿寺路11号

  邮编 100164  电子邮件 315@ptpress.com.cn

  网址 http://www.ptpress.com.cn

• 读者服务热线:(010)81055410

  反盗版热线:(010)81055315


本书由浅入深地详细讲解了Visual Basic(简称VB)的开发技术,并通过具体实例的实现过程演示了各个知识点的具体应用。全书共24章,其中第1章讲解了Visual Basic技术的基础知识,包括搭建开发环境和编写第一段Visual Basic程序;第2~10章分别讲解了Visual Basic的基础语法、条件语句、流程控制、数组、函数和控件应用等知识,这些内容都是Visual Basic开发技术的核心知识;第11~17章分别讲解了数据库工具、Data控件和ADO控件、DataGrid控件、报表打印、存储过程和ActiveX控件等基本知识,这些内容是Visual Basic开发技术的重点和难点;第18~22章分别讲解了绘图处理、MSChat控件、图形动画编程和多媒体编程等内容;第23~24章通过两个综合实例的实现过程,介绍了Visual Basic技术在综合项目中的使用流程。全书内容循序渐进,以“技术解惑”和“范例演练”贯穿全书,引领读者全面掌握Visual Basic语言。

本书不但适用于Visual Basic的初学者,也适用于有一定Visual Basic基础的读者,也可以作为大专院校相关专业师生的学习用书和培训学校的教材。


从你开始学习编程的那一刻起,就注定了以后所要走的路:从编程学习者开始,依次经历实习生、程序员、软件工程师、架构师、CTO等职位的磨砺;当你站在职位顶峰的位置蓦然回首,会发现自己的成功并不是偶然,在程序员的成长之路上会有不断修改代码、寻找并解决Bug、不停测试程序和修改项目的经历;不可否认的是,只要你在自己的开发生涯中稳扎稳打,并且善于总结和学习,最终将会得到可喜的收获。

对于一名想从事程序开发的初学者来说,究竟如何学习才能提高自己的开发技术呢?其一的答案就是买一本合适的程序开发书籍进行学习。但是,市面上许多面向初学者的编程书籍中,大多数篇幅都是基础知识讲解,多偏向于理论;读者读了以后面对实战项目时还是无从下手,如何实现从理论平滑过渡到项目实战,是初学者迫切需要的书籍,为此,作者特意编写了本书。

本书用一本书的容量讲解了入门类、范例类和项目实战类3类图书的内容,并且对实战知识不是点到为止地讲解,而是深入地探讨。用纸质书+光盘资料(视频和源程序)+网络答疑的方式,实现了入门+范例演练+项目实战的完美呈现,帮助读者从入门平滑过渡到适应项目实战的角色。

1.以“入门到精通”的写作方法构建内容,让读者入门容易

为了使读者能够完全看懂本书的内容,本书遵循“入门到精通”基础类图书的写法,循序渐进地讲解这门开发语言的基本知识。

2.破解语言难点,“技术解惑”贯穿全书,绕过学习中的陷阱

本书不是编程语言知识点的罗列式讲解,为了帮助读者学懂基本知识点,每章都会有“技术解惑”板块,让读者知其然又知其所以然,也就是看得明白,学得通。

3.全书共计314个实例,和“实例大全”类图书同数量级的范例

书中一共有314个实例,其中104个正文实例,2个综合实例。每一个正文实例都穿插加入了2个与知识点相关的范例,即208个拓展范例。通过对这些实例及范例的练习,实现了对知识点的横向切入和纵向比较,让读者有更多的实践演练机会,并且可以从不同的角度展现一个知识点的用法,真正实现了举一反三的效果。

4.视频讲解,降低学习难度

书中每一章节均提供声、图并茂的语音教学视频,这些视频能够引导初学者快速入门,增强学习的信心,从而快速理解所学知识。

5.贴心提示和注意事项提醒

本书根据需要在各章安排了很多“注意”“说明”和“技巧”等小板块,让读者可以在学习过程中更轻松地理解相关知识点及概念,更快地掌握个别技术的应用技巧。

6.源程序+视频+PPT丰富的学习资料,让学习更轻松

因为本书的内容非常多,不可能用一本书的篇幅囊括“基础+范例+项目案例”的内容,所以,需要配套DVD光盘来辅助实现。在本书的光盘中不但有全书的源代码,而且还精心制作了实例讲解视频。本书配套的PPT资料可以在网站下载(www.toppr.net)。

7.QQ群+网站论坛实现教学互动,形成互帮互学的朋友圈

本书作者为了方便给读者答疑,特提供了网站论坛、QQ群等技术支持,并且随时在线与读者互动。让大家在互学互帮中形成一个良好的学习编程的氛围。

本书的学习论坛是:www.toppr.net。

本书的QQ群是:347459801。

本书循序渐进、由浅入深地详细讲解了Visual Basic语言开发的技术,并通过具体实例的实现过程演练了各个知识点的具体应用,如讲解了Visual Basic语句、数组、过程和函数、窗体处理、控件应用、工具栏和状态栏、菜单和对话框、程序调试、错误处理和创建帮助、数据库工具、使用Data控件和ADO控件、DataGrid控件和数据绑定、绘图处理、使用MSChat控件处理图形、图形动画编程和多媒体编程、网络编程、程序打包和部署等,最后通过开发一个简单的扫雷游戏和图书借阅系统等案例把上述知识应用起来。全书以“技术解惑”和“范例演练”贯串全书,引领读者全面掌握Visual Basic语言开发。

本书的最大特色是实现了入门知识、实例演示、范例演练、技术解惑、综合实战5大部分内容的融合。其中各章内容由如下模块构成。

① 入门知识:循序渐进地讲解了Visual Basic语言开发的基本知识点。

② 实例演示:遵循理论加实践的教学模式,用104个实例演示了各个入门知识点的用法。

③ 范例演练:为了加深对知识点的融会贯通,每个实例配套了2个演练范例,全书共计208个拓展范例,深入演示了各个知识的用法和技巧。

④ 技术解惑:把读者容易混淆的部分单独用一个板块进行讲解和剖析,对读者所学的知识实现了“拔高”处理。

下面以本书第3章为例,演示本书各章内容版式的具体结构。

① 入门知识

3.5.2 使用While/Wend语句

While/Wend语句先判断循环条件,然后决定是否执行循环体语句。While/Wend语句常被用于一些未知循环次数的程序中,和Do语句类似。

While / Wend语句的语法格式如下所示。

While 条件语句
  循环体
Wend

其中,只有当“条件语句”的返回值是True时,才会执行下面的循环体;否则,将跳出循环,执行后面的代码。

在下面的内容中,将通过一个简单实例来演示While / Wend语句的使用方法。

② 实例演示 + ③范例演练

实例007 计算“1!+ 2!+3!…+12!”的值

源码路径 光盘\daima\3\6\   视频路径 光盘\视频\实例\第3章\007

本实例演示说明了While/Wend语句的使用方法,功能是计算“1!+ 2!+3!…+12!”的值。本实例的实现流程如图3-28所示。

图3-28 实例实现流程

范例013:找素数的问题
源码路径:光盘\演练范例\013\
视频路径:光盘\演练范例\013\
范例014:分解质因数
源码路径:光盘\演练范例\014\
视频路径:光盘\演练范例\014\

下面将详细介绍上述实例流程的具体实现过程,首先创建项目工程并插入各个控件对象,具体流程如下所示。

(1)打开Visual Basic 6.0,创建一个标准EXE工程,如图3-29所示。

图3-29 创建工程

(2)在窗体上插入1个Command控件,并设置其属性,如图3-30所示。

图3-30 插入对象并设置属性

窗体内各对象的主要属性设置如下所示。

双击窗体到代码编辑界面,为Command1设置鼠标单击事件处理代码。具体代码如下所示。

Private Sub Command1_Click()
    Dim n As Integer, i As Integer, sum As Double
    Dim k As Double
    '循环计算"1!+2!+3!+…+20!"的和
i = 1
     k = 1
     While i <= 15
          k = k * i
          sum = sum + k
          i = i + 1
     Wend
Print "1!加到15!="; sum     '输出计算结果
End Sub
Private Sub Form_Load()

在上述代码中,首先定义了ik两个变量,并分别初始化它们的值为1;然后使用While/Wend语句,如果i 15,则计算i的阶乘。

至此,整个实例的设置、编写工作完成。将实例文件保存并执行后,将首先按指定样式显示窗体对话框,如图3-31所示;当单击【运算】按钮后,将输出对应的计算结果,如图3-32所示。

图3-31 窗体对话框

图3-32 输出计算结果

④ 技术解惑

3.7 技术解惑

3.7.1 几种语句的选择

3.7.2 结构的选择

3.7.3 慎用Goto语句

3.7.4 Visual Basic语句大全及详解

3.7.5 End和Stop的区别

初学编程的自学者        编程爱好者

大中专院校的教师和学生     相关培训机构的教师和学员

毕业设计的学生         初、中级程序开发人员

软件测试人员          参加实习的初级程序员

在职程序员

本书在编写过程中,十分感谢我的家人给予的巨大支持。本人水平毕竟有限,书中存在纰漏之处在所难免,诚请读者提出意见或建议,以便修订并使之更臻完善。编辑联系邮箱:zhangtao@ptpress.com.cn。

最后感谢读者购买本书,希望本书能成为读者编程路上的领航者,祝读者阅读快乐!

作者


实例001:演示窗体界面的交互

范例001:制作一个欢迎界面

范例002:实现一个字符转换程序

实例002:判断输入框内的年份是否是闰年

范例003:实现数据的交换

范例004:计算长方体的表面积

实例003:根据购买商品的金额设置打折价格

范例005:求3个数中的最值

范例006:根据成绩进行判断

实例004:根据购买商品的金额设置打折价格

范例007:编程计算通话费用

范例008:设置奖学金的等级

实例005:计算1到200之间的整数和

范例009:计算奇数的和

范例010:计算n的阶乘

实例006:计算任意两个正数的最大公约数

范例011:解决猴子摘桃的问题

范例012:解决参赛评委打分的问题

实例007:计算“1!+ 2!+3!…+12!”的值

范例013:找素数的问题

范例014:分解质因数

实例008:列出1~100间的所有素数

范例015:打印输出九九乘法表

范例016:输出有规律的图形

实例009:计算1~100间所有整数的和

范例017:找水仙花数

范例018:正整数的各位数字之和

实例010:退出当前的窗体程序

范例019:GoTo语句用法实例

范例020:End结束语句实例

实例011:输出定义数组的各元素值

范例021:用数组求平均成绩

范例022:数组下标说明实例

实例012:首先输出定义数组的各元素值,然后对数组矩阵元素进行重新排序并输出

范例023:演示矩阵的加法运算

范例024:计算矩阵中的最值

实例013:输出指定整数的杨辉三角效果

范例025:动态演示冒泡法过程

范例026:利用文本框组输入数据

实例014:制作一个简单的计算器

范例027:控件数组画图实例

范例028:实现七彩标签的效果

实例015:计算“1!+2!+3!”阶乘的值

范例029:过程的简单应用实例

范例030:使用过程求最值

实例016:使用Function过程计算指定数值的绝对值

范例031:用过程定义窗体大小

范例032:使用过程求组合数

实例017:传递窗体内定义的函数参数值

范例033:演示常量作为实参

范例034:演示变量作为实参

实例018:传递数组参数,并对数组数据进行加法运算处理

范例035:演示数组元素做实参

范例036:演示数组名做实参

实例019:对可循参数进行省略

范例037:演示数组做形参排序

范例038:演示数组做参数合并排序

实例020:设置可选参数的默认值,并输出结果

范例039:演示可选参数的用法

范例040:演示值参与变参的用法

实例021:计算并输出不定数量参数的和

范例041:演示参数的混合使用

范例042:演示函数嵌套求组合数

实例022:计算指定数值的阶乘

范例043:演示递归构图

范例044:演示递归的“栈溢出”

实例023:分别显示模态窗口和非模态窗口

范例045:实现类WinXP的窗体界面

范例046:实现圆形窗体界面效果

实例024:在窗体内输出指定格式的字符

范例047:实现渐变色的窗体界面效果

范例048:实现跟随分辨率变化的窗体界面

实例025:对用户单击窗口进行响应

范例049:加载窗体时触发的Load事件

范例050:卸载窗体时触发的Unload事件

实例026:通过Resize事件改变窗体的外观

范例051:失去焦点触发LostFocus事件

范例052:鼠标单击触发的Click 事件

实例027:在窗体内传递数据

范例053:创建SDI界面

范例054:创建MDI界面

实例028:实现跨窗体的简单操作

范例055:排列子窗体

范例056:悬挂子窗体

实例029:实现跨窗体的交互操作

范例057:实现透明窗体效果

范例058:实现字形窗体效果

实例030:在标签内显示当前系统时间

范例059:演示文本的定位选择

范例060:测试功能键

实例031:通过文本框内输入数字的变化实现简单的加法运算

范例061:自动删除文本中的非法字符

范例062:字体的单项选择

实例032:通过单选按钮实现简单的运算

范例063:演示多组单选功能的使用

范例064:使用单选按钮的属性、方法与事件

实例033:通过复选框设置文本框内文本的样式

范例065:实现字体的复选效果

范例066:实现个人调查表效果

实例034:实现列表框选项的选择处理

范例067:演示两种列表框样式

范例068:演示添加表项的用法

实例035:通过组合框为用户提供选项选择

范例069:演示组合框的3种风格

范例070:实现信息管理功能

实例036:实现对窗体内图片的处理

范例071:复制图片

范例072:实现立体浮雕效果

实例037:在图片框内按指定方式显示图片

范例073:演示AutoSize的用法

范例074:使用图像框的Stretch属性

实例038:通过滚动条控制框内文本字体的大小

范例075:滚动条接收用户输入

范例076:调色板应用程序

实例039:在窗体内即时显示当前的时间

范例077:制作日期时间表

范例078:实现一个流动字幕

实例040:在窗体内添加工具栏按钮

范例079:实现一个可伸缩展开的菜单

范例080:实现一个带历史信息的菜单

实例041:在ImageList内添加一幅图像

范例081:实现一个树状导航菜单

范例082:向菜单中添加图标

实例042:实现ImageList和Toolbar控件的关联,以在工具栏子项中显示设置的图片

范例083:实现一个动态菜单

范例084:实现一个弹出式菜单

实例043:在窗体内显示系统的当前时间

范例085:实现一个常用的状态栏

范例086:使用API创建状态栏

实例044:在窗体内创建一个下拉式菜单

范例087:使用Caption属性

范例088:使用Height、Width属性改变大小

实例045:在窗体内创建一个弹出式菜单

范例089:制作一个笑脸效果

范例090:给窗体添加滚动条

实例046:通过菜单内的“退出”命令实现退出功能

范例091:可伸缩展开的菜单

范例092:带历史信息的菜单

实例047:通过窗体实现一个通用对话框

范例093:实现特殊的退出效果

范例094:设置窗体在屏幕中的位置

实例048:通过窗体按钮的颜色对话框控制文本框内文本的颜色

范例095:将程序图标添加到托盘

范例096:设置控件随窗体自动调整

实例049:通过窗体按钮的字体对话框控制文本框内文本的字体

范例097:禁用控制菜单里的按钮

范例098:实现一个闪烁的警告窗体

实例050:通过窗体按钮实现帮助对话框效果

范例099:实现一个闪烁的窗体标题栏

范例100:实现一个窗体跟随移动效果

实例051:通过Resume语句忽略错误

范例101:编写折半查找过程

范例102:实现插入法排序

实例052:打开指定的帮助文档

范例103:求多个数的最大公约数

范例104:产生随机整数

实例053:通过Visual Basic 6.0压缩指定的Access数据库

范例105:建立数据库

范例106:添加数据表

实例054:通过Visual Basic 6.0附加指定位置的.MDF数据库文件和.LDF日志文件

范例107:演示表中数据的编辑

范例108:演示表中数据的查询

实例055:通过Visual Basic 6.0分离数据库

范例109:添加、删除、修改和保存记录

范例110:使用DAO对象浏览数据库记录

实例056:实现和指定Access数据库的连接

范例111:浏览数据库中的记录信息

范例112:检测绑定控件值是否被修改

实例057:实现和指定SQL Server数据库的连接

范例113:使用DAO对象浏览数据库记录

范例114:使用DAO对象操作记录

实例058:输出显示SQL Server数据库pubs内的数据

范例115:使用ADO控件浏览数据库

范例116:使用数据网格控件浏览数据库

实例059:浏览数据库pubs内authors表的数据信息

范例117:使用ADO对象访问数据库

范例118:查询指定列的信息

实例060:实现添加、删除和修改处理

范例119:使用聚集函数查询

范例120:将查询结果排序

实例061:将数据库title表内的“工商管理”专业修改为“电子商务”

范例121:限制结果行数

范例122:对查询结果分组

实例062:通过几种方式获取数据库内 authors表的字段信息

范例123:演示连接查询

范例124:演示嵌套查询

实例063:实现窗体内ADO控件和Access数据库的连接

范例125:用INSERT语句向表中插入数据

范例126:用UPDATE语句批量更新表中数据

实例064:实现窗体内ADO控件和SQL Server数据库的连接

范例127:用DELETE删除数据表中的数据

范例128:检测绑定控件值是否被修改

实例065:通过ODBC实现和Access数据库的连接

范例129:使用Field对象设计字段

范例130:创建一个QueryDef对象查询

实例066:通过ODBC实现和SQL Server数据库的连接

范例131:增加字符和数据型字段的值

范例132:增加日期型字段的值

实例067:在绑定控件显示指定数据库表内的数据

范例133:使用Data控件增加数据

范例134:使用Data控件修改数据

实例068:显示指定数据库中的数据

范例135:使用DataGrid显示数据库中的数据

范例136:使用DataGrid增加、删除、修改数据

实例069:对指定数据库数据实现浏览、添加、修改和删除操作

范例137:在DataCombo控件中显示数据

范例138:在DataList控件中显示数据

实例070:打印SQL Server 2000自带的pub数据库中的表authors数据

范例139:实现打印预览

范例140:打印简单文本

实例071:通过Visual Basic 6.0窗体程序为数据库创建存储过程

范例141:在Visual Basic 6.0中调用存储过程

范例142:在Visual Basic 6.0中使用视图

实例072:通过Visual Basic 6.0窗体程序删除指定的存储过程

范例143:在Visual Basic 6.0中使用触发器

范例144:在Visual Basic 6.0中使用游标

实例073:通过存储过程以网格样式显示指定数据库中的数据

范例145:用Connection对象执行语句

范例146:用Command对象执行语句

实例074:为SQL Server 2000内置pubs数据库的VIEW_state表创建订单

范例147:用ADO对象绑定MSHFlexGrid

范例148:使用MSHFlexGrid批量录入数据

实例075:通过Visual Basic 6.0向导创建一个简单的ActiveX控件

范例149:多功能文档编辑器

范例150:设置段落缩进

实例076:通过Visual Basic 6.0手动创建一个简单的ActiveX控件

范例151:播放GIF动画

范例152:播放Flash动画

实例077:通过用户选定的文件路径和指定格式,显示出符合要求的文件名

范例153:打开对话框的实例

范例154:保存对话框的实例

实例078:使用Input函数读取当前目录下文件123.txt内容

范例155:管理文件夹

范例156:删除文件夹

实例079:使用Input#语句读取当前目录下文件123.txt内容

范例157:复制文件夹

范例158:管理文件

实例080:使用Line Input#语句读取当前目录下文件123.txt内容

范例159:获取文件信息

范例160:寻找可执行文件

实例081:使用Write#语句在文件123.txt中写入指定内容

范例161:建立顺序文件

范例162:顺序文件写操作

实例082:使用Print#语句在文件123.txt中写入指定内容

范例163:读取顺序文件

范例164:建立随机文件

实例083:分别使用Get语句和Put语句实现对文件123.txt的读写操作

范例165:建立二进制文件

范例166:识别相对路径

实例084:将图片文件以二进制格式保存到数据库中

范例167:检测文件是否存在

范例168:删除指定类型文件

实例085:读取保存在数据库中二进制格式的图片文件

范例169:快速查找文件

范例170:保存目录到文件

实例086:使用指定的颜色填充窗体内的图形

范例171:演示窗体坐标系

范例172:用方法自定义坐标系

实例087:在窗体内绘制指定样式的图形

范例173:当前坐标的实例

范例174:线宽与线型

实例088:在窗体内绘制指定样式的直线

范例175:用_Line方法画网格线

范例176:用Line方法画矩形

实例089:在窗体内绘制指定样式的图形

范例177:用_Line方法绘制抛物线

范例178:用Line方法绘制随机射线

实例090:在窗体内显示每月的销售额,使对应月份和对应的销售额在柱形图中显示出来

范例179:绘制长方体

范例180:制作奥运五环旗

实例091:在窗体内将数据库中的学生各科成绩数以图形统计样式显示出来

范例181:绘制正弦曲线

范例182:绘制阿基米德螺线

实例092:在窗体内提供光源照射,实现旋转时的被照管线面增亮显示的效果

范例183:用Circle方法画同心圆

范例184:用Circle方法画弧和扇形

实例093:将数据库中的数据统计显示在图表内

范例185:成绩统计饼图

范例186:绘制艺术图案

实例094:调用设置函数使指定的图片以指定的效果展示

范例187:翻转并放大位图

范例188:实现图形切入效果

实例095:通过Multimedia MCI控件播放AVI格式文件

范例189:播放VCD

范例190:MMControl播放多媒体文件

实例096:通过ActiveMovie控件播放媒体文件

范例191:列表播放midi等媒体文件

范例192:实现一个媒体文件浏览器

实例097:通过Mp3play.ocx控件制作一个MP3播放器

范例193:实现音量控制

范例194:实现简易谱曲键盘

实例098:通过Winsock控件实现服务器端和客户端的TCP连接

范例195:网络连通检测

范例196:获取网络连接信息

实例099:演示Visual Basic 6.0中WebBrowser控件的具体使用流程

范例197:获取IP地址

范例198:获取MAC地址

实例100:通过Inet控件实现网络下载功能

范例199:获取本机信息

范例200:网络连接列表

实例101:根据域名获取其IP地址

范例201:实现定时网络共享

范例202:实现映射网络驱动器

实例102:获取文本框内指定网页的源代码

范例203:备份服务器数据库

范例204:获取局域网内机器名和IP

实例103:获取当前计算机的端口使用情况信息

范例205:设置IE主页

范例206:网站导航效果

实例104:调用微软的Outlook Express发送在线邮件

范例207:获取网页超链接

范例208:提取网页源码

综合实例01:扫雷游戏

综合实例02:图书借阅系统


Visual Basic是一种可视化的编程语言,利用这种可视化开发技术可以快速地开发出许多应用项目。因为Visual Basic提供了友好的开发界面,所以深受开发人员的喜爱。作为微软的专业开发语言,Visual Basic在开发领域经久不衰,被广泛地应用于各种级别的项目工程中。在本章的内容中,将详细介绍Visual Basic开发技术的基础知识,带领读者逐步进入Visual Basic世界。

本章内容

技术解惑

知识点讲解:光盘:视频\PPT讲解(知识点)\第1章\Visual Basic介绍.mp4

1991年,微软公司推出了Visual Basic(简称VB)。Visual即可视的、可见的,指的是在开发像Windows操作系统的图形用户界面(Graphic User Interface,GUI)时,不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可。Basic意思为初始者通用符号指令代码语言。在本节的内容中,将简单介绍Visual Basic技术的基本知识。

Visual Basic有学习版、专业版和企业版3种版本,它满足了不同的开发需要。各版本的具体说明如下所示。

基础版本,包括所有的内部控件以及网格、选项卡和数据绑定控件。

它是针对计算机专业开发人员的、一整套功能完备的开发工具。该版本包括学习版的全部功能以及ActiveX控件、Internet Information Server Application Designer、集成的Visual Database Tools 和 Data Environment、Active Data Objects和Dynamic HTML Page Designer。

这是Visual Basic 6.0的最高版本,企业版使得专业编程人员能够开发功能强大的分布式应用程序。该版本包括专业版的全部功能以及 Back Office 工具,例如 SQL Server、Microsoft Transaction Server、Internet Information Server、Visual SourceSafe和SNA Server等。

本书使用的是Visual Basic 6.0的企业版(中文版),主要介绍Visual Basic程序设计的基本概念、开发环境、基本数据结构,使大家具有用Visual Basic解决基本应用问题的能力。

Visual Basic 6.0有如下4个突出特点。

1.提供可视化编程环境

Visual Basic 6.0是一种可视化的编程语言,具有“所见即所得”的特点。通过Visual Basic 6.0专用的可视化开发环境,可以迅速地、可视化地设计出需要的项目程序。

2.基于面向对象,大大提高了开发效率

面向对象编程是当前所有高级语言所必须具备的特点。在面向对象中,窗体和控件对象都被看作为一个对象。作为面向对象的编程语言,它将代码和数据结合在每一个对象中。用户只需要了解每个对象能够完成何种任务,而不需要了解它如何实现和工作。这样,开发人员就只需要编写少量的代码,就能够实现对应的功能,从而大大提高了开发效率。

3.事件驱动

Visual Basic 6.0的运行机制是基于事件驱动的,它把一个大型的应用程序分解为多个独立的小程序,并分别由不同的事件来完成。事件驱动改变了传统的程序机制,因为每一个子程序实现的功能都是单一的,所以每一个子程序都不会太大。

4.集成化开发环境

Visual Basic 6.0提供了集成化的开发环境,开发人员可以迅速地在设计界面和代码编辑界面灵活转换和调试。

知识点讲解:光盘:视频\PPT讲解(知识点)\第1章\安装Visual Basic.mp4

了解Visual Basic 6.0的基本信息后,还需要搭建专用的开发环境。在本节的内容中,将简要介绍Visual Basic 6.0的安装环境、配置步骤和添加/删除组件的方法,为读者步入本书后面知识的学习打下基础。

Visual Basic 6.0因为本身是微软的产品,所以对计算机硬件的要求比较低,可以在大多数计算机上进行安装、搭建;并且对操作系统也没有特殊的要求,它可以在包括Windows 97以上的系统中运行。

读者可以通过多个渠道来获取Visual Basic 6.0的安装资源,如购买安装光盘或网络下载等。下面以安装光盘方式为例,介绍Visual Basic 6.0的安装流程。具体流程如下所示。

(1)将光盘放入光驱,双击“SETUP.EXE”文件,弹出安装向导界面,如图1-1所示。

图1-1 安装向导界面

(2)单击【下一步】按钮,弹出用户许可协议界面,如图1-2所示。

图1-2 用户许可协议界面

(3)选择“接受协议”选项并单击【下一步】按钮,在弹出的产品号和用户名界面,分别输入产品ID等信息,如图1-3所示。

图1-3 产品号和用户名界面

(4)单击【下一步】按钮,在弹出界面中选择“安装Visual Basic 6.0中文企业版”选项,如图1-4所示。

图1-4 确定安装界面

(5)单击【下一步】按钮,在弹出界面中选择安装目录,如图1-5所示。

图1-5 选择安装目录界面

(6)单击【下一步】按钮,按照默认选项即可完成安装,如图1-6所示。

图1-6 正在安装界面

注意:在上述安装过程中,从步骤(6)开始正式安装,读者可以根据个人需要选择“典型安装”或“自定义安装”。在安装完成后,计算机将重新启动,重启后将弹出显示“安装MSDN”对话框界面,如图1-7所示。

图1-7 “安装MSDN”对话框界面

MSDN可以对开发人员提供在线帮助,读者可以依照其默认选项依次单击【下一步】按钮来安装MSDN。

安装Visual Basic 6.0后,在系统内将安装其默认的应用组件。但是在现实应用中,还经常需要添加或删除一些组件。Visual Basic 6.0添加/删除组件的具体操作如下所示。

(1)将安装光盘放入光驱,然后依次单击【开始】︱【控制面板】,单击左侧的【添加/删除】选项,打开“添加或删除程序”对话框,如图1-8所示。

图1-8 【添加\删除】选项

(2)在图1-8中找到Visual Basic选项并选中,单击【更改】按钮后弹出“Visual Basic 6.0安装程序”对话框,如图1-9所示。

图1-9 安装程序界面

在图1-9所示的“Visual Basic 6.0中文企业版安装程序”对话框中,有如下所示的3个操作按钮。

知识点讲解:光盘:视频\PPT讲解(知识点)\第1章\Visual Basic的启动和退出.mp4

Visual Basic 6.0的开发环境是一个可视化的开发环境,这方便了开发人员的使用。在本节的内容中,简要介绍Visual Basic 6.0启动和退出的方法。

启动Visual Basic 6.0的方法比较简单,只需单击其桌面快捷方式即可。另外,也可以依次单击【开始】︱【所有程序】︱【Visual Basic 6.0中文版】选项来启动。启动将首先弹出一个“新建工程”对话框界面,如图1-10所示。

图1-10 “新建工程”对话框界面

在图1-10所示界面中,有3个操作选项供用户选择。具体信息如下所示。

退出Visual Basic 6.0的方法比较简单,具体来说有如下两种常用方法。

注意:当关闭一个Visual Basic 6.0工程项目时,如果没有保存这个项目,则会弹出“保存更改”对话框供用户选择“是”或“取消”操作。具体如图1-11所示。

图1-11 “保存更改”对话框界面

知识点讲解:光盘:视频\PPT讲解(知识点)\第1章\可视化开发环境介绍.mp4

通过Visual Basic的可视化开发环境平台,可以轻松地编写出应用项目代码。运行Visual Basic 6.0后,在开发环境中将显示标题栏、菜单栏、工具栏、工具箱和工程资源管理器窗口等元素,如图1-12所示。

图1-12 Visual Basic 6.0可视化开发环境界面

在下面的内容中,将对上述Visual Basic 6.0的开发环境元素进行简要介绍。

1.标题栏

启动Visual Basic 6.0后,标题栏显示的是“工程1-Microsoft Visual Basic[设计]”。其中,[设计]表示当前的工作状态是“设计模式”。在Visual Basic 6.0中有如下3种工作状态模式。

2.菜单栏

在菜单栏中将显示Visual Basic 6.0开发所需要的所有操作命令,各项菜单栏的具体说明如下所示。

3.工具栏

工具栏的作用是为开发人员提供常用的操作命令,单击工具栏中的某个命令图标后即可迅速完成相应的操作。用户将鼠标指针悬停于某个工具栏图标后,将显示对应图标的功能提示文本,如图1-13所示。

图1-13 光标悬停于图标后的提示文本效果

工具栏中各图标的具体说明如下所示。

4.工具箱

Visual Basic 6.0的工具箱内将显示开发所需要的各种控件,在默认情况下将显示20个标准控件按钮。同样将鼠标指针悬停于某个工具箱图标后,将显示对应图标功能的提示文本。工具箱中各控件按钮的具体说明如下所示。

注意:在Visual Basic 6.0的工具箱内除了有上述按钮外,还可以根据需要在里面添加新的控件。具体方法是在工具箱空白处单击【部件】选项,在弹出的“部件”对话框内选择要插入的控件。具体如图1-14所示。

图1-14 “部件”对话框界面

从图1-14所示的界面可以看出,插入部件分为控件、设计器和可插入对象3部分。

5.工程资源管理器窗口

一个Visual Basic 6.0工程可以由多个不同类型的文件构成,例如工程文件、窗体文件和标准模块文件等。在工程资源管理器中,将以树形目录结构的样式列出当前工程内的所有文件,如图1-15所示。

图1-15 工程资源管理器窗口界面

在图1-15所示的工程资源管理器窗口界面中,有如下3个按钮来设置窗口的显示方式。

在工程资源管理器窗口中,将以树形列表样式显示当前工程的组成文件。组成文件的类型主要有如下3种。

6.属性窗口

属性窗口位于资源管理器窗口的正下方,其功能是用来设置窗体和控件的属性。当在Visual Basic 6.0中选择某控件或某窗体时,将在属性窗口中显示对应的各属性设置列表,如图1-16所示。

图1-16 属性窗口界面

开发人员可以通过单击【按字母序】按钮或【按分类序】按钮,来设置各属性的显示顺序。

7.代码编辑界面

代码编辑界面是Visual Basic 6.0的主体界面,用于显示和编辑程序的代码。应用程序中的每一个窗体或标准模块都和一个独立的代码编辑器相对应,如图1-17所示。

图1-17 代码编辑界面

开发人员可以通过如下4种方式打开代码编辑器窗口。

在图1-17所示的代码编辑窗口中,可以通过对象下拉列表框来选择处理对象名,通过过程下拉列表框来选择处理过程。在编写代码过程中,当输入合法的语句或函数时,在代码编辑器窗口中会自动弹出提示代码,如图1-18所示。如果编写的代码格式有误,当单击回车键后会自动弹出错误提示,如图1-19所示。

图1-18 弹出提示代码格式

图1-19 弹出错误提示对话框

知识点讲解:光盘:视频\PPT讲解(知识点)\第1章\常见的错误方式.mp4

在Visual Basic 6.0编程应用中,有4种常见错误方式,具体说明如下所示。

1.编辑时错误

当用户在代码窗口编辑代码时,Visual Basic 6.0会对程序进行语法检查,当发现语句没有输完、关键字输错等情况时,系统会弹出对话框,提示出错,并在错误处加亮显示,以便用户修改。

2.编译时错误

是指用户单击了“启动”按钮,Visual Basic 6.0开始运行程序前,先编译执行的程序段时产生的错误,此错误是由于用户未定义变量、遗漏关键字等原因而产生的。发现错误时系统会停止编译,提示用户修改。

3.运行时错误

指Visual Basic 6.0在编译通过后,运行代码时发生的错误,一般是由于指令代码执行了非法操作引起的,如:数据类型不匹配、试图打开一个不存在的文件等。系统会报错并加亮显示、等候处理。

4.逻辑错误

如果程序运行后得不到所希望的结果,则说明存在逻辑错误。如:运算符使用不正确、语句的次序不对、循环语句的起始和终值不正确。这种错误系统不会报错,需要用户自己分析判断。

知识点讲解:光盘:视频\PPT讲解(知识点)\第1章\Visual Basic程序调试方法.mp4

当编写好Visual Basic程序后,需要对程序进行调试,以确保程序的正确性。调试Visual Basic程序的方法有3种,分别是中断状态调试、调试窗口调试和断点逐句跟踪调试。在下面的内容中,将对上述调试方法进行简要介绍。

1.进入/退出中断状态

进入中断状态有4种方法。

(1)程序运行时发生错误自动进入中断。

(2)程序运行中用户按中断键强制进入中断。

(3)用户在程序中预先设置了断点,程序执行到断点处即进入中断状态。

(4)采用单步调试方式,每运行一个可执行代码后,即进入中断状态。

2.利用调试窗口

在Visual Basic 6.0中有如下3种类型的调试窗口。

这是调式窗口中使用最方便,也是最常用的窗口。可以在程序中用Debug.Print方法,把输出送到立即窗口,也可以在该窗口中直接使用Print语句或“?”显示变量的值。

该窗口显示当前过程中所有变量的值,当程序的执行从一个过程切换到另一个过程时,该窗口的内容发生改变,它只反映当前过程中可用的变量。

该窗口可显示当前的监视表达式,在此之前必须在设计阶段,利用调试菜单的“添加监视命令”或“快速监视”命令添加监视表达式以及设置的监视类型在运行时显示在监视窗口,根据设置的监视类型进行相应的显示。

3.插入断点和逐句跟踪

在调试程序时,通常会设置断点来中断程序的运行,然后逐句跟踪检查相关变量、属性和表达式的值是否在预期的范围内。可在中断模式下或设计模式时设置或删除断点,在代码窗口选择怀疑存在问题的地方作为断点,按下F9键,则程序运行到断点处即停下,进入中断模式,在此之前所关心的变量、属性、表达式的值都可以看到。

知识点讲解:光盘:视频\PPT讲解(知识点)\第1章\Visual Basic用户界面设计基础.mp4

Visual Basic界面的设计有两步:先绘制控件,然后确定控件属性。具体说明如下所示。

在本节的内容中,将对设置界面属性的基本知识进行详细讲解。

在Visual Basic 6.0的对象中,有大量的对象属性需要设置。其常用的属性信息如下所示。

1.Name属性

用于设置对象的名称,对象都有名称,计算机把名称看成对象与对象之间的根本差异,因此,在同一窗体里不许出现重名的情况(除非这是一个控件数组),且名字不得超过40个字。

在简单的程序里,给控件命名不是很必要,完全可以使用控件Name属性的默认值。例如Text1。但在有几十个控件的复杂窗体里,就很难区分它们。所以,Visual Basic 6.0推荐由3个小写字母的前缀和一个第一个字母为大写的描述性单词组成的名字。例如cmdMyButton是一个命令按钮(前缀是cmd)。

Visual Basic 6.0推荐的对象名称前缀信息如表1-1所示。

表1-1 推荐的对象名称前缀信息

对象

前缀

例子

确认框(Check Box)

chk

chkCareerChioce

组合框(Combo Box)

cbo

cboCrimesCommitted

命令钮(Command Button)

cmd

cmdExit

数据库控件(Data Control)

dat

datTopSecretInfo

目录列表框(Directory List Box)

dir

dirTree

驱动器列表框(Drive List Box)

drv

drvHardDisk

文件列表框(File List Box)

fil

filDocuments

窗体(Form)

frm

frm1040Tax

框架(Frame)

fra

fraGroupButtons

水平滚动条(Horizontal Scroll Bar)

hsb

hsbTemperature

图形(Image)

img

imgPrettyDrawing

标签(Label)

lbl

lblFakeName

线(Line)

lin

linBorder

列表框(List Box)

lst

lstCandidates

菜单(Menu)

mnu

mnuHamAndEggs

选项钮(Option Button)

opt

optStation101

图形框(Picture Box)

pic

picPrettyPicture

几何图形(Shape)

shp

shpUpOrShipOut

文本框(Text Box)

txt

txtWarning

垂直滚动条(Vertical Scroll Bar)

vsb

vsbMoneyRaised

2.Caption属性

Caption即对象的标题,是可以在对象外观上直接看见的文本,可以长达255字符,包括空格和标点符号,比如一个叫cmdOk的命令按钮,它的Caption属性就可以是“Ok”。但是并不是所有的对象都有此属性,比如文本框、图片框、线条等就没有。

如果为按钮设置热键,在设置Caption属性时,在需要加下划线的字母前加上“&”</SPAN>符号,例如“&File”</SPAN>,输出的就是“File”,这样就可以通过按ALT键和标题上那个带下划线的字母来选取它了,不必为此编写任何代码。

注意:

Name和Caption两者看起来相同,其实功能是完全不同的。具体来说主要具有如下3点区别。

(1)Name是系统用来识别对象的,编程时需要用它来指代各对象;Caption是给用户看的,提示用户该对象的作用。

(2)Name可以采用系统默认的名称,但Caption应该根据实际情况改成意义明了的名词。

(3)所有对象都有Name,但不一定都有Caption。

3.Top和Left属性

这两个属性决定对象的位置。只有两种情况需要在属性窗口里设置这两个属性:第一种是用户没有鼠标,第二种是程序员需要十分精确地设定这两个值。当选中对象,单击并拖曳它的时候,便开始修改这两个值了。

4.Height和Width属性

这两个属性决定了对象的大小,当选中控件时,它周围出现8个小黑方块,把鼠标指针指向这些方块,鼠标指针将变成一个双向的箭头,这时按下鼠标键并拖曳它,即可改变控件的大小,也就改变了Height和Width属性。

窗体是一个Visual Basic项目的基础,所有的Visual Basic程序都是基于窗体开始的。在下面的内容中,将对Visual Basic窗体的基本知识进行简要介绍。

Visual Basic窗体的常用属性信息如表1-2所示。

表1-2 Visual Basic窗体的常用属性信息

属性

名称

说明

Name

窗体名称

系统识别窗体的标识名,一个窗体名必须以一个字母开头,可包含数字和下划线,但不能包含空格和标点符号

Caption

窗体标题

出现在窗体标题栏中的文本内容

Icon

窗体图标

这是用户经常要使用的一种属性。当用户的应用程序在工具条上最小化或在Windows桌面上变为一个独立应用程序时,该属性决定将采用何种图标,窗体控制框里的图标也由它决定

BackColor

窗体背景色

可以从属性框里弹出调色板,选择所需要的颜色

ForeColor

窗体前景色

窗体上打印文字的颜色

BorderStyle

边框风格

这个属性决定了窗体边框的样式,共有6种属性值。改变窗体的BordrStyle属性后,窗体在屏幕上没有变化,它只在运行时才变为所要求的样子

Apearance

外形

这个属性用来决定控件是否采用三维效果

ControlBox

控件按钮控件按钮

用来决定是否采用控件框的属性,仅在程序运行时才有效

Font

字体

用来改变该窗体上显示信息的字体、字型和字号,它控制着直接在窗体上打印的文本显示

Visible

可见性

该属性决定窗体是否可见,默认情况下是可见的。错误地改变其值是很危险的,窗体会从眼前消失

WindowState

窗体状态

指定窗体在运行时的3种状态:正常、最小化、最大化

Enabled

活动性

默认值为True,决定窗体能否被访问

Left、Top、Height、Width

左边距、顶边距、高度、宽度

决定窗体在屏幕上的位置及窗体大小

1.设置窗体属性

可以在设计状态下直接通过属性窗口设置,也可以在程序代码中改变属性值。

2.窗体的常用方法

窗体可以通过方法来实现某项操作,Visual Basic窗体的常用方法如下所示。

3.窗体的常用事件

窗体可以通过事件来实现对某操作的响应,并完成某功能的处理。Visual Basic窗体的常用事件信息如下所示。

此事件发生在窗体被装入内存时,且发生在窗体出现在屏幕之前。窗体出现之前,Visual Basic会看一看Load事件里有没有代码,如果有,那么它先执行这些代码,再让窗体出现在屏幕上。

此两种事件在单击或双击窗体时发生。不过单击窗体里的控件时,窗体的Click事件并不会发生,Visual Basic会去看控件的Click事件里有没有代码。

显示多个窗体时,可以从一个窗体切换到另一个窗体。每次激活一个窗体时,发生Activate 事件,而前一个窗体发生Deactivate事件。

当窗体被改变大小时会触发此事件。

知识点讲解:光盘:视频\PPT讲解(知识点)\第1章\一个简单的Visual Basic程序.mp4

在前面的内容中,了解了Visual Basic 6.0的基础知识和可视化开发环境。在本节的内容中,将通过一个简单的Visual Basic 6.0程序实例,使读者加深对Visual Basic的认识。

使用Visual Basic 6.0进行程序开发的具体流程如下所示。

(1)新建一个工程。

(2)创建应用程序界面。

(3)设置对象的属性值。

(4)编写事件处理过程。

(5)运行和调试工程。

(6)保存工程。

上述流程的具体实现过程如图1-20所示。

图1-20 Visual Basic 6.0程序设计流程

实例001 演示窗体界面的交互

源码路径 光盘\daima\1\  视频路径 光盘\视频\实例\第1章\001

本实例的功能是运行后首先弹出一个窗体界面,当单击【执行】按钮后将显示指定的文本,当单击【结束】按钮后将结束当前窗体程序。

下面将详细介绍本实例的实现过程。

1.新创建工程和窗体

依次单击【开始】︱【所有程序】︱【Visual Basic 6.0中文版】选项启动Visual Basic 6.0,在新创建工程对话框中选择“EXE”。单击【打开】按钮后新创建一个“工程1”项目,如图1-21所示。

图1-21 新创建“工程1”项目界面

范例001:制作一个欢迎界面
源码路径:光盘\演练范例\001\
视频路径:光盘\演练范例\001\
范例002:实现一个字符转换程序
源码路径:光盘\演练范例\002\
视频路径:光盘\演练范例\002\

2.创建应用程序界面

本步骤的功能是,在窗体内插入需要的控件,并分别调整这些控件的位置。具体实现流程如下所示。

(1)在工具箱中选择标签按钮,然后在窗体内拖动鼠标,插入1个标签控件Lable1,如图1-22所示。

图1-22 插入标签控件Lable1

(2)在工具箱中选择按钮控件图标,然后在窗体内拖动鼠标,分别插入2个按钮Command1和Command2,如图1-23所示。

图1-23 插入2个按钮控件

(3)选中窗体内的所有选项,通过【格式】选项调整它们的对齐方式,如图1-24所示。

图1-24 调整插入窗体内控件的对齐方式

注意:当在窗体内插入控件元素后,可以通过【格式】选项调整它们的对齐方式,如上例的处理方式。另外,也可以通过鼠标调整它们的大小和位置,具体移动方法是通过<Ctrl>键+光标移动键(↑、↓、←、→)来实现,并且也可以通过鼠标箭头来控制控件的大小。在实际应用中,通常需要对窗体内的空间格式进行设置,具体方法是通过单击菜单栏中的【格式】选项来实现。如果不需要移动某个窗体控件,可以通过依次单击【格式】︱【锁定控件】选项来实现。当然也可以对窗体内的空件进行直接复制、剪切和删除操作。

3.设置窗体对象属性

通过属性窗口可以设置实例窗体内对象的属性,具体流程如下所示。

(1)选中form1窗体,设置其Caption属性值为“一个简单的Visual Basic程序”,如图1-25所示。

图1-25 设置Caption属性值

(2)选中Label1控件,设置其Caption属性值为空,如图1-26所示。

图1-26 设置Label1控件的Caption属性值

(3)分别选中Command1和Command2控件,设置其Caption属性值分别为“执行”和“结束”,如图1-27所示。

图1-27 设置Command1和Command2控件的Caption属性值

(4)编写处理过程代码。

鼠标双击Command1控件来到代码边辑界面,为Command1控件设置如下处理代码。

Private Sub Command1_Click()
Label1.Caption = "欢迎学习Visual Basic 6.0!"                '单击后显示的文本
End Sub

鼠标双击Command2控件来到代码编辑界面,为Command2控件设置如下处理代码。

Private Sub Command2_Click()
End
End Sub

(5)运行和调试工程。

经过上述步骤操作后,本实例基本设置完毕。单击“工具栏”中的启动按钮或单击“F5”键,运行当前工程。程序执行后,如果没有任何错误则显示设置样式的窗体界面。具体如图1-28所示。单击【执行】按钮后,将在Label1空间位置显示指定的提示文本“欢迎学习Visual Basic 6.0!”,如图1-29所示。

图1-28 初始执行效果

图1-29 输出提示文本

当单击【结束】按钮后则结束当前程序的运行。

(6)保存工程。

当工程设计完毕并调试成功后,即可将工程文件保存。可以通过如下3种方法保存Visual Basic 6.0程序。

开发人员可以为当前工程设置属性,具体实现流程如下所示。

(1)在“菜单栏”中依次单击【工程】︱【工程1属性】选项,弹出“工程属性”对话框,如图1-30所示。

图1-30 “工程属性”对话框

(2)选择启动对象为Form1,设置工程名称为“你好”,如图1-31所示。

图1-31 设置工程名称

(3)选择“生成”选项卡,设置版本信息的值为“123”,如图1-32所示。

图1-32 设置版本信息的值

注意:对于简单的Visual Basic应用程序来说,生成的可执行EXE文件可以直接在Windows系统下执行,例如上述实例文件。但是对于一些复杂的Visual Basic程序,在执行时还需要一些类库文件的支持。例如,常见的DLL和OCX文件。为此,在发布Visual Basic程序时,需要将这些类库文件进行打包处理,创建一个安装包。创建工程安装包十分必要,特别是大型的项目程序。

至此,本节的Visual Basic实例设计完成。从整个实例的实现过程可以看出,Visual Basic 6.0可视化开发环境的功能十分强大,开发人员只需编写少量的代码即可设计出功能强大的项目工程。

因为Visual Basic 6.0技术简单易用,并且功能强大,所以一直深受广大程序员的喜爱。作为一名初学者,肯定会在学习中遇到很多疑问和困惑。为此在本节的内容中,作者将自己的心得体会传授给大家,帮助读者解决一些困惑性和深层次性的问题。

大家要好好体会Visual Basic语言在风格、算法与数据结构、设计与实现、界面、排错、测试、性能、可移植性这些方面的特色,万万不要浮躁,若自己基础打不牢,去学习那些精彩的技巧是无任何用处的。学编程语言需要经过不断的理论学习和编程实践,经过练习再练习,才能掌握这门语言的精髓。

关于怎样学好Visual Basic语言,这是仁者见仁、智者见智的,但是最起码要遵循如下两个原则。

1.多看代码

在有一定基础以后一定要多看别人的代码。注意代码中的算法和数据结构。学习Visual Basic语言的关键是算法和数据结构,并且要熟练掌握每个控件的基本用法。另外,别的方面也要关注一下,诸如变量的命名、函数的用法等。

2.多动手实践

程序开发比较注重实践和演练,光学不练不行。对于初学者来说,可以多做一些练习,对于自己不明白的地方,可以自己编一个小程序试验一下,这样能给自己留下深刻的印象。在自己动手的过程中,要不断纠正自己不好的编程习惯和错误。在有一定的基础之后,可以尝试编一点小游戏,可以参考相关资料来编写一定规模的代码。基础很扎实的时候,可以编一些关于数据库方面的项目当练习,例如学生管理系统。


Visual Basic是一种编程语言,所以具有本身的语法结构。在本章的内容中,将逐一讲解关键字、标识符、数据类型、变量、常量、数组和运算符表达式的基本知识,为读者步入本书后面知识的学习打下基础。

本章内容

技术解惑

知识点讲解:光盘:视频\PPT讲解(知识点)\第2章\使用关键字.mp4

任何一门编程语言都有自己的关键字。关键字俗称保留字,即程序员不能使用这些保留字来编写代码,每一个关键字都有各自的具体含义。在Visual Basic中,规定关键字的第一个字母必须为大写。Visual Basic 6.0的常用关键字如表2-1所示。

表2-1 Visual Basic 6.0常用关键字信息

As

New

To

Null

Empty

Optional

Fore

Property

Input

Seek

Let

Step

Mid

Time

Nothing

Wtth

Option

ByRef

Private

Else

Resume

False

Static

Get

Then

Len

True

On

Binary

Next

Date

Public

Error

Print

Friend

String

Is

Set

Lock

Events

知识点讲解:光盘:视频\PPT讲解(知识点)\第2章\使用标识符.mp4

标识符是为变量、常量、数据类型、过程和函数设置的名称。通过使用标识符,可以实现对变量、常量、数据类型、过程和函数的引用。Visual Basic 6.0有如下3类标识符。

1.系统标识符

即Visual Basic 6.0中定义的关键字和保留字,它们表示特定的含义,不能具有其他的作用。例如,有Public、String、Private和Static等。

2.系统预定义标识符

即Visual Basic 6.0能够识别,可以为用户实现其他特定的作用。Visual Basic 6.0中的系统函数的函数名就属于系统预定义标识符。

3.自定义标识符

即用户在编写代码时自行定义的标识符,例如自行定义的变量、函数和数组等都是自定义标识符。

知识点讲解:光盘:视频\PPT讲解(知识点)\第2章\使用变量.mp4

变量是指在程序执行的过程中其值可以改变的量。每一个变量会在计算机内存中占据一个存储单元,不同类型的变量在内存中占有的空间也不相同。在本节的内容中,将详细讲解Visual Basic 6.0变量的基本知识。

在Visual Basic中命名变量时需要遵循一定的规则,规则的具体说明如下所示。

微软建议的Visual Basic 6.0变量命名规则是:以小写字母开头,第一个单词后的每一个单词都以大写字母开头,其他字母小写。例如,myName和name。

声明一个变量即事先将变量的有关信息通知程序,以便系统可以确定变量的存储格式。在大多数的高级编程语言中,使用变量时必须遵循“先声明,后使用”的原则。但是在VB中,变量在使用时不一定要“先声明,后使用”,它有显式声明、隐式声明之分。

1.隐式声明

即不声明而直接使用,变量以Variant类型处理。另外,通常在变量名后加特定的后缀字符,通过后缀字符来隐式说明变量的类型。一般后缀字符和变量声明的关系如下所示。

2.显式声明

显式声明的语法格式如下所示。

[关键字] 变量名 [AS  类型]

其中,Visual Basic 6.0各变量声明“关键字”的具体说明如下所示。

看下面的代码:

dim temp as integer
temp=2
a=4

上面的代码分别显式声明了变量temp和隐式声明了变量a。

为了保证Visual Basic 6.0项目程序的健壮性,建议读者采用强制变量声明。在具体声明时,可以使用“Option Explicit”语句来设置项目强制显式声明。声明后一旦项目内有未声明的变量,则会弹出对应的错误提示。

在编写代码时,可以将“Option Explicit”语句加入到项目文件的声明段中,也可以通过如下流程来强制设置。

(1)依次单击Visual Basic 6.0菜单栏中的【工具】︱【选项】,弹出“选项”对话框,如图2-1所示。

图2-1 “选项”对话框

(2)选择“编辑器”选项卡,勾选“要求变量声明”前的复选框,如图2-2所示。

图2-2 “编辑器”选项卡界面

经过上述流程设置后,用Visual Basic 6.0编写出的项目程序必须强制声明,否则将会出错。例如,下面的代码就是使用了强制声明语句。

option explicit
sub form_click()
  dim a as integer
  dim b as integer
  a=4
  b=5
end sub

Visual Basic的标准数据类型有数值型、字符型、逻辑型、日期型、对象型和变体数据类型共6种,这6种标准类型的具体说明如下所示。

1.数值(Numeric)数据类型

数值数据类型有整型、浮点型、货币型和字节型4种,具体说明如下所示。

(1)整型。

整型是指不带小数点和指数符号的数,整型运算速度快、精确,但表示数的范围小。整型有整型和长整型两种。

(2)浮点型。

浮点型由符号、尾数(Q)以及指数(J)3部分组成。指数分别用“E”表示单精度、“D”表示双精度。浮点数的符号均占1位。浮点数有单精度浮点数和双精度浮点数两种。

注意:浮点数表示的数的范围大,但有误差,在做浮点数的运算时,应尽量使每一次运算的结果都在有效位数范围内;尽量不要使两个相差很大的数值直接相加或相减。

(3)货币型。

货币型数(Currency)是定点数,在内存中存储为64位(8个字节)整型的数值形式,其小数点左边有15位数字,右边有4位数字。取值范围是−922,337,203,685,477.5808~922,337,203,685,477.5807。Currency 数据类型通常被用于货币计算与定点计算领域中。

(4)字节型。

字节型数(Byte)是二进制数。其存储为单精度型、无符号整型、8 位(1个字节)的数值形式,取值范围在0~255。

Byte 数据类型在存储二进制数据时很有用。

2.字符(String)数据类型

字符数据类型用于存放字符数据,所谓字符型数据就是用双引号括住的字符串,例如“Abcde”和“Visual Basic 欢迎你!”等。在字符串中每个字符占1个字节,字符数据的范围以字符串长度的大小来度量。

Visual Basic有两种字符串,分别是变长字符串和定长字符串。

(1)变长字符串。

变长字符串所占的空间大小为10个字节加字符串,最多可包含大约20亿个字符。变长字符串的定义格式如下。

关键字  变量名 AS  String

(2)定长字符串。

定长字符串所占字节就是字符串的长度,可包含 1~216个字符。定长字符串的定义格式如下。

关键字 变量名AS String *字符串长度

3.逻辑(Boolean)数据类型

逻辑数据类型变量主要用来进行逻辑判断,它的存储位数是16位。逻辑(Boolean)数据类型数据只有两个值,分别是True(真)或False(假)。

在Visual Basic中,逻辑数据可以转换成整型数据。这时,True转换为−1,False转换为0;而当其他类型的数据转换成逻辑数据时,非零数转换成True,0转换为False。

4.日期(Date)数据类型

日期数据类型用于表示和存储日期和时间的数据,它是按8个字节的浮点数存储。任何字面上可被认作日期和时间的字符(除汉字外),只要用磅号(#)括起来都可以认作为日期型数据。例如,#1 Jan,97#、#January 1,1999# 格式都可以看作为日期类型。

日期表示的范围是公元100年1月1日~9999年12月31日;时间表示的范围是:从0:00:00~23:59:59。

注意:当其他数据转换成日期型数据时,小数点左边的数值代表日期,而小数点右边的数值代表时间:0为午夜12点,0.5为中午12点;负数代表的是1899年12月31日之前的日期和时间。

5.对象(Object)数据类型

对象数据类型:存储为32位(4个字节)的数值形式,作为对象的引用。利用Set语句,声明为Object的变量可以赋值为任何对象的引用。例如下面的代码。

Sub form_click()
     Dim Temp AS Object
     Set Temp =form1
End Sub

6.变体(Variant)数据类型

变体数据类型也称为万用数据类型,这是一种特殊的数据类型,它所需类型可以根据上下文的变化而变化。除了定长的String数据及用户定义的类型之外,可以处理任何类型的数据而不必进行数据类型的转换。它是对所有未定义的变量的默认数据类型的定义。

Variant类型的数据可以根据运算的实际情况而“变体”,Visual Basic提供了一个函数VarType专门用来检测Variant中保存的数据类型,例如:VarType(123)的返回值为2,表示为整型。

VarType函数的返回值与数据类型的关系如表2-2所示。

表2-2 VarType函数数据类型检测

内部常数

VarType返回值

数据类型

vbEmpty

0

空(Empty)

vbNull

1

无效(Null)

vbInteger

2

整型(Integer)

vbLong

3

长整型(Long)

vbLong

4

单精度(Single)

vbDouble

5

双精度型(Double)

vbCurrency

6

货币型(Currency)

vbDate

7

日期型(Date)

vbString

8

字符型(String)

vbObject

9

OLE自动化对象(OLE Automation Object)

vbError

10

错误(Error)

vbBoolean

11

逻辑型(Boolean)

vbVariant

12

变体数组(Variant)

vbDataObject

13

非OLE自动化对象(Non-OLE Automation Object)

vbByte

17

字节型(Byte)

vbArray

8192

数组(Array)

知识点讲解:光盘:视频\PPT讲解(知识点)\第2章\使用常量.mp4

常量是指在程序运行过程中不再发生改变的数据。例如“ASC”和“1234”都是常量。Visual Basic中包含文字常量、符号常量和系统常量3种常量。在本节的内容中,将简要讲解Visual Basic常量的基本知识。

文字常量包含数值常量、字符串常量、逻辑型常量和日期型常量。

Visual Basic 6.0中的整型、长整型、单精度浮点数、双精度浮点数、货币型以及字节型都称为数值型数据。在使用数值型数据时,应该注意以下3点。

(1)如果数据内包含小数,则应该使用Single、Double、或Currency类型。其中Single类型的有效数字为7位,Double类型的有效数字为15位,Currency类型支持15位整数和4位小数。

(2)数值类型的数据都有一个有效的取值范围,如果程序内数据超出这个范围,就会发生溢出错误。

(3)Visual Basic 6.0通常使用十进制数,但也有时会使用八进制或十六进制。

用一个符号(一个字母组合)来代替长长的数字常量,具体的声明格式如下所示。

Const 字符常量名 [AS 类型]=表达式

上述各参数的具体说明如下。

在上述表达式中不能调用函数,即其中不能有函数元素。可以用先前定义过的符号常数定义新常数。例如下面的代码。

Const PI=3.1415926                   '声明了常量PI,代表3.1415926 ,单精度型
Const MAX As Integer =&H21ED         '声明了常量MAX,代表十六进制整型数21ED
Const COUNT# =53.78                  '声明了常量COUNT,代表53.78,双精度型
Const BIRTHDAY=# 3/22/72#
Const PI 2= PI * 2

系统常量是由Visual Basic提供的并能够识别的、具有专用名称和作用的常数。Visual Basic 6.0提供了颜色常数、控件常数、窗体常数、绘图常数、图形常数和键码常数等32类近千个常数,这些常数位于Visual Basic的对象库中。具体如表2-3所示。

表2-3 Visual Basic的常用颜色常数

常数

描述

常数

描述

vbBlack

&H0

黑色

vbBlue

&HFF0000

蓝色

vbRed

&HFF

红色

vbMagentavbCya

&HFF00FF

洋红

vbGreen

&HFF00

绿色

n

&HFFFF00

青色

vbYellow

&HFFFF

黄色

vbWhite

&HFFFFFF

白色

知识点讲解:光盘:视频\PPT讲解(知识点)\第2章\运算符和表达式.mp4

运算符是对数据进行加工处理的过程,描述各种不同运算的符号叫作运算符,而参与运算的数据称为操作数。概括来说,表达式是用来表示某个求值规则,由原算符号实现对变量、常量、函数和对象等操作数进行合理操作的过程。表达式可以用来执行运算、操作或数据测试,一个表达式将产生对应的结果值,结果值的的类型由运算符的类型所决定。在Visual Basic 6.0中共包括5类运算符和表达式,在本节的内容中,将详细讲解这5种运算符和表达式的基本知识。

算术运算符和算术表达式是用来进行算数处理的,例如数学计算。其运算结果一般是一个数值。

1.算数运算符

Visual Basic 6.0的算数运算符如表2-4所示。

表2-4 算术运算符

运算符 说明 示例 优先级
- 取负值 Test=-7 由高到低
自左到右
括号优先
^ 指数 Test=3^2表示3的2次方,结果为9
* 乘法 Test=37*16
/ 浮点数除法 Test=37/16 ’结果为2.3125
\ 整数除法 Test=37\16 ’结果为2,表示先四舍五入为整数后再相除
Mod 求余数 Test=37 mod 16 ’结果为5,表示先四舍五入为整数后再求余数
+,- 加法、减法 Test=37+16
Test=37-16

2.算数表达式

常量、变量和函数是算数表达式,将它们加上圆括号或用运算符连接后也称之为表达式。在书写算数表达式时,应该注意与数学表达式的区别。在具体应用中,应该注意如下4点。

(1)不能漏写运算符号,即使是*。

(2)要使用小括号。

(3)每个符号必须并排写在同一横线上,不能使用次方的上标和下标的格式。

(4)要把数学表达式中一些符号修改为Visual Basic 6.0中可以表示的符号。

关系表达式是把两个算数表达式或字符表达式连接起来的表达式。Visual Basic 6.0的关系运算符信息如表2-5所示。

表2-5 关系运算符

运算符

含义

=

等于

>

大于

>=

大于等于

<

小于

<=

小于等于

<>

不等于

Visual Basic 6.0的关系表达式又称为条件表达式,如果条件成立则表达式值为True,否则为False。Visual Basic 6.0的关系表达式信息如表2-6所示。

表2-6 关系表达式

运算符

含义

示例

结果

=

等于

"ABCDE"="ABR"

False

>

大于

"ABCDE">"ABR"

False

>=

大于等于

"bc">="大小"

False

<

小于

23<3

False

<=

小于等于

"23"<="3"

True

<>

不等于

"abc"<>"ABC"

True

连接运算就是将两个表达式连接在一起。Visual Basic 6.0连接运算符有如下两个。

连接运算符的处理结果如表2-7所示。

表2-7 两种连接运算符“&”和“+”的比较

表达式1

表达式2

&

+

“123”

“3”

“1233”

“1233”

123

3

“1233”

126

“123”

3

“1233”

126

“123a”

3

“123a3”

报错

Visual Basic 6.0逻辑运算符的信息如表2-8所示。

表2-8 Visual Basic 6.0的逻辑运算符

运算符

含义

优先级

说明

示例

结果

Not

取反

1

当操作数为假时,结果为真

Not F
Not T

T
F

And

2

两个操作数均为真时,结果才为真

T And T
F And F
T And F
F And T

T
F
F
F

Or

3

两个操作数中有一个为真时,结果为真

T Or T
F Or F
T Or F
F Or T

T
F
T
T

Xor

异或

3

两个操作数不相同,结果才为真,否则为假

T Xor F
T Xor T

T
F

Eqv

等价

4

两个操作数相同时,结果才为真

T Eqv F
T Eqv T

F
T

Imp

蕴含

5

第一个操作数为真,第二个操作数为假时,结果才为假,其余都为真

T Imp F
T Imp T

F
T

Visual Basic 6.0逻辑表达式的运算顺序是按照表2-8的顺序从上到下的。

例如,下面的代码是一个典型的是一个逻辑表达式。

a>20 AND a<40

而在数学上可以写为40>a>20。

看下面逻辑表达式的值。

(15>3)And (6>2)                    结果为 True
(7>3)Or (2>6)                      结果为 True
Not(2>6)And (6>2)                    结果为 True
("a">"A")Xor ("b">"B")             结果为 False
(7.8>3.2)Eqv (16.8>7.2)            结果为 True
(16.3>7.0)Imp(4.5>19.2)            结果为 False
(4.5>19.2)Imp(16.5>7.0)            结果为 True

注意:逻辑运算一般是对关系表达式或逻辑量进行的,但也可以对数值进行运算。在对数值进行运算时,是以数字的二进制值逐位进行逻辑运算的。例如7的二进制数为0111,对它们逐位进行逻辑运算得到二进制数为0010,结果是十进制数2。

日期表达式是由运算符+、−、算数运算符、日期型常量、日期型变量和函数组成的。日期数据是一种特殊的执行数据,它们之间只能用加、减来运算。Visual Basic 6.0的日期表达式有如下3种运算情况。

(1)两个日期型数据可以相减,结果是一个数值型数据。例如,下面代码的运算结果是12。

#4/28/2008#−#4/16/2008#

(2)表示天数的数值型数据可以加到日期型数据中,结果是一个日期型数据。例如,下面代码的运算结果是“#4/28/2008#”。

#4/18/2008# + 10

(3)一个日期型数据可以减去一个表示天数的数值型数据,结果是一个日期型数据。例如,下面代码的运算结果是“#4/18/2008#”。

#4/28/2008# − 10

知识点讲解:光盘:视频\PPT讲解(知识点)\第2章\运算符的优先级.mp4

在一个Visual Basic 6.0项目程序中,可能需要多个不同类型的运算符同时进行运算处理。在运算时,应该按照它们的优先级顺序进行运算。在Visual Basic 6.0程序中,各个运算符的优先级顺序如表2-9所示。

表2-9 Visual Basic 6.0运算符的优先级顺序

优先级顺序 运算符类型 运算符 优先级
1 算数运算符 指数(^)运算符 由高到低
自左到右
括号优先
2 负数(-)
3 乘除(* /)
4 整数除法(\)
5 求模运算(Mod)
6 加减运算(+ —)
7 字符串运算符 &
8 关系运算符 =、<>、<、>、<=、>=
9 逻辑运算符 Not
10 And
11 Or
Xor
Eqv
Imp

注意:运算符和表达式的值在整个Visual Basic 6.0体系中十分重要,因为几乎所有的项目程序都会涉及到变量和数据的相互操作。Visual Basic 6.0的运算符和表达式体系十分清晰,读者只需把握“由高到低、自左到右、括号优先”这一理念,并通过对应的实例来慢慢体会即可掌握。

在不同的范围内也可以有同名变量。例如,可以有名为 Temp 的公用变量,然后在过程中声明名为Temp的局部变量。在过程内通过引用名字Temp来访问局部变量,而在过程外则通过引用名字Temp 来访问公用变量。通过用模块名限定模块级变量就可在过程内访问这样的变量。

Public Temp As Integer
Sub Test ()
   Dim Temp As Integer
   Temp = 2                      ' Temp 的值为 2
     MsgBox Form1.Temp           ' Form1.Temp 的值为 1
     End Sub
Private Sub Form_Load ()
   Temp = 1                      ' 将 Form1.Temp 的值设置成 1
   End Sub
      Private Sub Command1_Click ()
       Test
   End Sub

一般说来,当变量名称相同而范围不同时,局限性大的变量总会用“阴影”遮住局限性不太大的变量(即优先访问局限性大的变量)。所以,如果还有名为 Temp 的过程级变量,则它会用“阴影”遮住模块内部的公用变量Temp。

除了范围之外,变量还有存活期,在这一期间变量能够保持它们的值。在应用程序的存活期内一直保持模块级变量和公用变量的值。但是,对于 Dim 声明的局部变量以及声明局部变量的过程,仅当过程在执行时这些局部变量才存在。通常,当一个过程执行完毕,它的局部变量的值就已经不存在,而且变量所占据的内存也被释放。当下一次执行该过程时,它的所有局部变量将重新初始化。

但是可以将局部变量定义成静态的,从而保留变量的值。在过程内部用 Static 关键字声明一个或多个变量,其用法和 Dim 语句完全一样。

Static Depth

例如,下面的函数将存储在静态变量 Accumulate 中的以前的运营总值与一个新值相加,以计算运营总值。

Function RunningTotal (num)
      Static ApplesSold
      ApplesSold = ApplesSold + num
      RunningTotal = ApplesSold
End Function

如果用 Dim而不用Static声明 ApplesSold,则以前的累计值不会通过调用函数保留下来,函数只会简单地返回调用它的那个相同值。

Visual Basic 6.0标识符的含义比较容易理解,但是在具体使用时必须遵循它本身的原则。具体说明如下所示。

Visual Basic表达式有如下5个特点。



相关图书

Rust游戏开发实战
Rust游戏开发实战
JUnit实战(第3版)
JUnit实战(第3版)
Kafka实战
Kafka实战
Rust实战
Rust实战
PyQt编程快速上手
PyQt编程快速上手
Elasticsearch数据搜索与分析实战
Elasticsearch数据搜索与分析实战

相关文章

相关课程