Microsoft Word - 扉页.doc

Similar documents
VB程序设计教程

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

穨文件1

试卷代号 : 座位号 OJ 中央广播电视大学 学年度第一学期 " 开放专科 " 期末考试 Visual Basic 程序设计试题 题号 一 二 三 四 五 总分 分数 I I I I I I I 2011 年 1 月 得分 评卷人 I I I 题 { 每小题

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

图书在版编目穴 CIP 雪数据做事细节全书 / 赵彦锋编著郾 北京 : 企业管理出版社, ISBN Ⅰ 郾做... Ⅱ 郾赵... Ⅲ 郾工作方法 通俗读物 Ⅳ 郾 B 中国版本图书馆 CIP 数据核字 (2005) 第 号 书

Microsoft Word - 实验3.doc

四川省普通高等学校

Microsoft Word - VB全文.doc

Microsoft Word Visual_Basic程序设计上机实践教程正文.doc

FJXBQ

<C8EBC3C5C6AAA3A8B5DA31D5C2A3A92E696E6464>

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

手册 doc

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7>

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

untitled

内容简介本书是 Visual Basic 程序设计 ( 曲宏山 饶拱维主编, 科学出版社 ) 或其他同类 Visual Basic 程序设计教材配套使用的上机实验指导用书, 是编者多年教学和软件开发实践经验的总结 全书共 14 个实验, 在每个实验前都列出了相关章节的知识点, 以方便读者对所学内容加

浙江 云南 山西 学院 最高分 最低分 一本线 二本线 最高分 最低分 一本线 二本线 最高分 最低分 一本线 二本线 机械工程 能源与环境系统工程 机械设计制造及其自动化

可视化编程技术

图书在版编目 (CIP) 数据程序员的数学. 3, 线性代数 /( 日 ) 平冈和幸, ( 日 ) 堀玄著 ; 卢晓南译. 北京 : 人民邮电出版社, ( 图灵程序设计丛书 ) ISBN Ⅰ. 1 程 Ⅱ. 1 平 2 堀 3 卢 Ⅲ. 1 电子计算

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

Microsoft Word - 小心翼翼的二十一點N.doc

数学与应用数学 3 3 物理学 2 2 普通本科 电子信息科学与技术 3 3 俄语 3 3 国际事务与国际关系 3 3 海事管理 4 4 海洋技术 2 2 海洋渔业科学与技术 4 4 海洋资源与环境 2 2 汉语国际教育 3 3 汉语言文学 3 3 化学 2 2 环境工程 3 3 旅游管

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

省份 科类 本一线 出档线 人数 最高分 最低分 平均分 理 青海 文 理 山东 文 理

PowerPoint 演示文稿

Microsoft Word - CX1000-HMI_程序开发_PLC通讯

省份 批次 文科 重点线出档线最高分最低分平均分录取人数重点线出档线最高分最低分平均分录取人数 备注 山东 本一批 本一批

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344>


一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

省份批次科类录取专业招生数 录取 最低分 备注 艺术 音乐学 ( 地方免费师范生 ) 专业成绩 美术学 ( 地方免费师范生 ) 综合成绩 提前艺术体育本 科 提前一批本科 体育 ( 文 ) 体育 ( 理 ) 文史 体育教育 ( 地方免费师范生 ) 专

C#程序设计实验

旅游科学

第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法

考试时间课程名称级人数考试地点 机械工程 17 级卓越 1 30 D-386 机械工程 17 级卓越 2 30 D-386 自动化 17 级 1 30 D-3108 自动化 17 级 2 30 D-3108 电子信息工程 17 级 1 32 C-170 电子信息工程 17 级 2 32 C-242

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378>

VB控件教程大全

Microsoft PowerPoint - 03.Fortran程序设计基础1

"Hi" "Visual Basic 6.0" ""( 空字符串 ) 3. 货币 (Currency) 第 3 章数据类型及其运算 35 货币数据类型是为计算货币而设置的数据类型 在内存中用 8 个字节 (64 位 ) 存储, 精 确到小数点后 4 位 ( 小数点前 15 位 ), 在小数点后第 4

QY

成教2014招生计划.xls

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1A1D4F1>


图书在版编目 (CIP) 数据 满堂花醉 / 沈胜衣著. 南京 : 江苏教育出版社, ( 沈郎文字 ) ISBN Ⅰ. 满... Ⅱ. 沈... Ⅲ. 作家 - 人物研究 - 世界 Ⅳ.K815.6 中国版本图书馆 CIP 数据核字 (2005) 第 041

chap07.key

设计模式 Design Patterns

厦门大学 2010 年本科招生分省录取情况统计 省份 科类 本一线出档线最高分 最低分 平均分 安徽 文史 理工 北京 文史 理工

中国科学技术大学 材料工程 05 校外调剂 0870 化学工程 吉林大学 应用化学 05 校外调剂 0870 化学工程 四川大学 制药

图书在版编目 (CIP) 数据 文学与现代性批判 / 邵建著. 南京 : 江苏教育出版社, ISBN Ⅰ. 文... Ⅱ. 邵... Ⅲ. 当代文学 - 文学研究 - 中国 Ⅳ.I206.7 中国版本图书馆 CIP 数据核字 ( 2005 ) 第 04185

北京市招生情况一览表 专业 年份 专业名称 2014 招生计划 最高分 文 2015 最低分 史 平均分 招生计划 最高分 类 文 2016 最低分 史 平均分 招生计划 最高分 类 文 最低分 史 平均分 类 金融学 财政学

实验目的 (1) 熟练掌握顺序 分支 循环三种结构 (2) 会使用流程控制结构编写程序 第三章程序的流程控制 实验要求 (1) 掌握 if-else swith-case 的使用 (2) 掌握 while do-while for 的使用 (3) 掌握分支嵌套和循环嵌套 (4) 分析理解如何避免死循

Microsoft PowerPoint - OPVB1基本VB.ppt

Microsoft Word - Vcj05.doc

ChinaBI企业会员服务- BI企业

1. 要退出 Do---Loop 循环, 可使用的语句是 ( ) 语句 A. Exit B. Exit For C. Exit Do D. End Do 5. 有程序代码如下 : Text1. Text=" 欢迎学习 VB!" 则 T e x t 1, Text, 和 " 欢迎学习 VB!" 分别代

36 SQ2016YFHZ 能源相关方向组 7 月 17 日 ( 星期一 ) 黑龙江 2 11:20-11:55 37 SQ2016YFHZ 能源相关方向组 7 月 17 日 ( 星期一 ) 广东 2 13:00-13:35 38 SQ2016YFHZ 能源相关方

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/

2017創形パンフ表1_表4

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple

!"# $ %&'!"#$

Microsoft Word - 正文.doc

Microsoft Word - 扉页.doc

F515_CS_Book.book

2

Microsoft PowerPoint - 07 派生数据类型

01

<4D F736F F D204A617661B3CCD0F2C9E8BCC6BBF9B4A1A3A8B5DA35B0E6A3A9CAB5D1E9D6B8B5BCD3EBCFB0CCE2BDE2B4F020B5DA33D5C22E646F63>

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc

Microsoft Word - 第3章.doc

PowerPoint 演示文稿

内 容 提 要

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

没有幻灯片标题

数据结构

Microsoft Word - 正文.doc

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基



电院 2018 年硕士夏令营暨自主招生复试成绩公示 (7 月 ) 各位考生, 下面表中是参加电院 2018 年硕士夏令营暨自主招生的复试成绩公示名单, 具体拟录取情况要等 9 月中旬才能得知 名单中的考生如有放弃或没有取得本科推免资格的, 请及时邮件通知马老师

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos(

Converting image (bmp/jpg) file into binary format

国内高等医学院校基础医学二级学科评价结果(1)

序号学校名称公示网址 1 北京大学 2 中国人民大学 34f629c9c4bd25b25f046.pdf 3 清华大学

Microsoft PowerPoint - 01_Introduction.ppt

专注于做最好的嵌入式计算机系统供应商

内容简介本书以 Visual Basic 6.0 中文版为背景, 详细介绍了 Visual Basic 程序设计的基本知识 基本语法 编程方法和常用算法, 同时将可视化界面设计与程序设计语言有机地结合, 通过内容丰富的实例较系统地介绍了使用 Visual Basic 开发 Windows 应用程序的

本科一批文史一志愿平行投档情况统计 院校名称 非定向 投档最低分 总分 ( 含优惠 ) 语文数学外语 安徽财经大学 安徽大学 北方工业大学 北京大学 北京第二外国语学院 6

内容简介 本书以 2002 年一级教程等级考试大纲为基础, 重点难点突出, 内容包括计算机基础知识 ; 计算机系统的组成 ; 中文 Windows 98 操作系统 ;Word 97 的使用 ;Excel 97 的使用 ;PowerPoint 97 的使用 ; 因特网的初步知识和简单应用 每一章简略介

CHAPTER VC#

山西 体育教育 ( 师范类 ) 体育文 368 休闲体育 体育教育 ( 师范类 ) 体育理 350 运动人体科学

无类继承.key

通用可视化开发语言实习指导书.doc

ExcelUtility 类库使用说明 ( 续 ) 开发 / 设计 : 左文俊 第一个新增功能, 列宽自适应, 当超过 30 个字符则将单元格内容设为换行 任意一个无模板的导出方法均支持该功能, 示例代码如下 : /// <summary> /// 测试方法

第 2 章 Visual Basic 语言基础 本章主要介绍 Visual Basic 6.0 的编程基础知识, 包括常量 变量的基本概念 ; 数据类型及定义 ; 运算符与表达式的使用 ; 程序结构 ; 自定义过程 函数的基本语法和使用 本章还详细探讨了变量作用范围, 介绍了 VB 应用程序的启动模

untitled

附件 : 清华大学机械工程等 131 个专业认证结论 序号认证学校及专业名称认证结论认证结论有效起止时间 1 清华大学机械工程 2 北京工业大学机械工程 3 北京石油化工学院机械工程 4 浙江工业大学机械工程 5 东北大学材料成型及控制工程 6 燕山大学材料成型及控制工程 7 华中科技大学材料成型及

Microsoft Word - 扉页.doc

Transcription:

21 世纪全国应用型本科计算机系列实用规划教材 Visual Basic 程序设计 主编闵联营董华松副主编任占营刘全参编张惠宋雅娟李艳勤黄源李会芳 Dreamweaver MX 2004

内容简介 Visual Basic 作为程序设计的入门语言, 具有易学易懂的特点 Windows 是当今主流操作系统, 而 Visual Basic 作为一种支持可视化程序设计的语言, 也是开发 Windows 应用程序最简单易学的语言之一 本书是一本全面 系统地介绍 Visual Basic 程序设计的教程 全书共分 11 章, 介绍了 Visual Basic 程序开发环境 数据类型和表达式 常用内部函数 程序控制结构 常用控件 数组 过程 键盘和鼠标事件过程 菜单与对话框程序设计 图形程序设计 文件处理和数据库程序设计等内容 本书在编排上由简及繁 由浅入深和循序渐进, 力求通俗易懂 简捷实用 全书内容全面, 实例丰富 书中所有例题均在 Visual Basic 6.0 上运行通过 本书可以作为高等院校非计算机专业计算机程序设计课程的教材和计算机专业可视化程序设计教材, 也可以作为全国计算机等级考试 ( 二级 Visual Basic) 的培训教材和参考书, 还可供各类程序设计培训班学员和 Visual Basic 语言自学者参考 市版权局著作权合同登记号图字 :01-2003-8586 号图书在版编目 (CIP) 数据 Visual Basic 程序设计 / 闵联营, 董华松主编. 北京 : 北京大学出版社,2006.1 (21 世纪全国应用型本科计算机系列实用规划教材 ) ISBN 7-301-10503-7 Ⅰ.V Ⅱ.1 闵 2 董 Ⅲ. BASIC 语言 程序设计 高等学校 教材 Ⅳ. TP312 中国版本图书馆 CIP 数据核字 (2006) 第 003438 号 书名 :Visual Basic 程序设计著作责任者 : 闵联营董华松主编责任编辑 : 周欢标准书号 :ISBN 7-301-10503-7/TP 0876 出版者 : 北京大学出版社地址 : 北京市海淀区成府路 205 号 100871 网址 :http://cbs.pku.edu.cn http://www.pup6.com 电话 : 邮购部 62752015 发行部 62750672 编辑部 62750667 邮购部 62752015 电子信箱 :pup_6@163.com 排版者 : 北京东方人华北大彩印中心电话 :62754190 印刷者 : 发行者 : 北京大学出版社经销者 : 新华书店 787 毫米 1092 毫米 16 开本 16 印张 384 千字 2006 年 1 月第 1 版 2006 年 1 月第 1 次印刷定价 :22.00 元

21 世纪全国应用型本科计算机系列实用规划教材 联合编写学校名单 ( 按拼音顺序排名 ) 1 安徽财经大学 2 安徽工业大学 3 安阳师范学院 4 北华大学 5 北京化工大学 6 北京建筑工程学院 7 北京理工大学 8 渤海大学 9 长春大学 10 长春工业大学 11 长春理工大学 12 长春税务学院 13 滁州学院 14 楚雄师范学院 15 东北电力大学 16 福建工程学院 17 福建师范大学 18 广西财经学院 19 桂林工学院 20 哈尔滨理工大学 21 海南大学 22 韩山师范学院 23 杭州师范学院 24 合肥工业大学 25 合肥学院 26 河北经贸大学 27 河南科技学院 28 黑龙江八一农垦大学 29 黑龙江科技学院 30 湖南大学 31 湖北经济学院 32 孝感学院 33 湖州师范学院 34 华北科技学院 35 华南师范大学 36 华中农业大学 37 华中师范大学 38 华北水利水电学院 39 淮北煤炭师范学院 40 黄石理工学院 41 吉林农业大学 42 集美大学 43 江汉大学 44 江苏科技大学

45 内蒙古大学 46 南昌工程学院 47 南京航空航天大学 48 南开大学 49 南阳理工学院 50 宁波工程学院 51 平顶山学院 52 青岛理工大学 53 青岛科技大学 54 青海民族学院 55 曲阜师范大学 56 山西大学 57 山西广播电视大学 58 陕西理工学院 59 上海第二工业大学 60 上海海事大学 61 沈阳大学 62 沈阳化工学院 63 石家庄铁道学院 64 苏州大学 65 台州学院 66 太原理工大学 67 太原师范学院 68 唐山师范学院 69 同济大学 70 皖西学院 71 武汉大学 72 武汉科技学院 73 武汉理工大学 74 武夷学院 75 忻州师范学院 76 新疆石油学院 77 许昌学院 78 玉溪师范学院 79 浙江工业大学之江学院 80 衢州广播电视大学 81 中国农业大学 82 中国石油大学

本系列教材编写目的和教学服务 21 世纪全国应用型本科计算机系列实用规划教材 在全国的各位编写老师的共同辛勤努力下, 在编委会主任刘瑞挺教授和其他编审委员会成员的悉心指导下, 经过北京大学出版社第六事业部各位编辑的刻苦努力, 终于与师生们见面了 教材编写目的 目前, 我国高等教育正迎来一个前所未有的发展机遇期 高等教育的发展已进入到一个新的阶段 高等本科院校也逐渐演变成 研究型 学术型 和 应用型 就业型 两类 作为知识传承载体的教材, 在高等院校的发展过程中起着至关重要的作用 但目前教材建设却远远滞后于应用型人才培养的步伐, 许多院校一直沿用偏重于研究型的教材, 应用型教材比较缺乏, 这势必影响应用型人才的培养 为顺应高等教育普及化迅速发展的趋势, 配合高等院校的教学改革和教材建设, 坚持 因材施教 的教学原则, 注重理论联系实际, 全面促进高等院校教材建设, 进一步提高我国高校教材的质量, 北京大学出版社大力推出高校 应用型本科 各专业相关教材 本系列教材不仅讲解基础理论技术, 更突出工程实际应用, 注重技术与应用的结合 本套计算机系列教材的编写思想主要如下 : (1) 要符合学校 学科的计算机课程设置要求 以高等教育的培养目标为依据, 注重教材的科学性 实用性 通用性, 尽量满足同类专业院校的需求 (2) 要定位明确 要准确定位教材在人才培养过程中的地位和作用, 正确处理系列教材与系列课程 读者层次的关系, 面向就业, 突出应用 (3) 合理选材和编排 教材内容应处理好传统内容与现代内容的关系, 大力补充新知识 新技术 新工艺 新成果 根据教学内容 学时 教学大纲的要求, 制定模块化编写体例, 突出重点 难点 (4) 体现建设 立体化 精品教材的宗旨 提倡为主干课程配套电子教案 学习指导 习题解答 课程设计 毕业设计等教学配套用书 教学服务 1. 提供教学资源下载 本系列大部分教材中涉及到的实例 ( 习题 ) 的原始图片和其他素材或者是源代码 原始数据等文件, 都可以在相关网站上下载 每本教材都配有 PPT 电子教案, 老师可随时在网络上下载并可修改为适合自己教学的 PPT 2. 提供多媒体课件和教师培训 针对某些重点课程, 我们配套有相应的多媒体课件, 对大批量使用本套教材的学校, 我们会免费提供多媒体课件 另外, 我们还将免费提供教师培训名额, 不定期组织老师进行培训 3. 欢迎互动 欢迎使用本系列教材的老师和同学提出意见和建议, 有建设性的将给予奖励 ; 同时有教材或者专著出版要求的老师, 请与我们联系 北京大学出版社第六事业部 (http://www.pup6.com)

信息技术的应用化教育 ( 代丛书序 ) 刘瑞挺 / 文北京大学出版社第六事业部组编了一套 21 世纪全国应用型本科计算机系列实用规划教材 为了做好这项工作, 他们制订了详细的编写目的 丛书特色 内容要求和风格规范 在内容上强调面向应用 任务驱动 注重实例分析 培养能力 ; 在风格上力求文字精练 脉络清晰 图表丰富 版式明快 一 组编过程 2004 年 10 月, 该部开始策划教材丛书, 派出编辑分别深入各地高校, 了解教学第一线的情况, 物色合适的作者 2005 年 4 月 16 日在北京大学召开了 21 世纪全国应用型本科计算机系列实用规划教材 研讨会 来自全国 73 所院校的 102 位教师汇聚一堂, 共同商讨应用型本科计算机系列教材建设的思路, 并对规划选题进行了分工 2005 年 7 月 21 日在青岛又召开了 21 世纪全国应用型本科计算机系列实用规划教材 审纲会 编审委员会成员和 46 个选题的主编 参编, 共 100 多位教师参加了会议 审稿会分专业基础课 软件开发与软件工程 硬件与网络技术 计算机应用技术等小组对大纲及部分稿件进行了审定, 力争使这套规划教材成为切合当前教学需要的高质量的精品教材 二 转变观念为了搞好这套教材, 要转变一些重要的观念 首先, 需要转变的观念就是大学及其培养人才的定位 大学并不都是 研究型 的, 每个大学生不一定都当科学家 事实上, 大多数学校应该是 应用型 的, 大学生将直接进入社会基层 生产一线 服务前沿, 成为各行各业的实践者和带头人 其次, 应该转变的观念就是教材建设的思路 许多人偏爱于 研究型 的教材, 即使写 应用型 教材, 也多半是对前者进行删繁就简 避虚就实, 这样还不能产生真正 应用型 的教材 因此, 以 学科 为中心 追求雄厚 理论基础 的传统应该被以 应用 为导向 追求熟练 实践技能 的思路所取代 第三, 必须转变对计算机技术的认识 20 年前, 有人把计算机技术理解为 BASIC 编程 ;10 年前, 有人把 Windows 95 和 Word 称为计算机文化 ; 今天, 中小学陆续开出 信息技术 课, 有人对此怀疑观望, 其实它意义深远 以计算机为核心的信息技术, 今后 20 年的发展主题将是在各个领域的应用普及 大学计算机应用型本科的教材建设应该面向信息技术的深入应用, 而不是相反, 因为信息时代已经不是遥远的未来 三 信息技能以计算机为核心的信息技术, 从一开始就与应用紧密结合 例如,ENIAC 用于弹道计算,ARPANET 用于资源共享以及核战争时的可靠通信 即使是非常抽象的图灵机模型, 也

II 与第二次世界大战时图灵博士破译纳粹密码的工作相关 今天的信息技术有三个重要的特点 : 第一, 信息技术是计算机与通信技术融合的辉煌成果 长期以来, 计算机技术和通信技术并行不悖地独立发展 20 世纪后半叶, 两者相互渗透, 产生了程控电话 数据通信 网络技术 高清晰电视, 世界各国构建了全球的 宽带的 网站密布的信息高速公路, 出现了无处不在的手机通信和移动办公系统 随身听 数码摄录相机 家庭影院 智能控制系统, 还有越来越多的嵌入式系统 人们的工作方式和生活方式都发生了质的飞跃 第二, 信息技术与各行各业紧密结合 我国的职业门类有 : 农林牧渔 交通运输 生化与制药 地矿与测绘 材料与能源 土建水利 制造 电气信息 环保与安全 轻纺与食品 财经 医药卫生 旅游 公共事业 文化教育 艺术设计传媒 公安 法律, 这些门类都需要信息技术 第三, 在发展初期, 以计算机为核心的信息技术是一项专门技术, 只有专家才需要它 才能掌握它, 在专家与平民之间有很深的 信息鸿沟 今天, 信息技术已经不再是只有专家才需要 才能掌握的专门技能, 而是普通人都需要 也都能掌握的基本信息技能 但是, 信息鸿沟 也迁移到普通人之间 具有信息优势的学生能良性循环, 强者更强 有了这样广阔的应用信息背景, 再造计算机应用型本科的课程体系就有了基础 四 能力结构 关于应用型计算机人才的能力结构, 我们不用 宫殿 模型, 而用 雄鹰 模型 前者是建筑学模型, 适合描述学科 ; 后者是生物学模型, 适合描述人才 雄鹰 模型包括主体 两翼 头部 尾部等, 它有可成长性 首先, 数据是信息技术的主体, 数据技术是基本功 通常, 数据包括文字 公式 表格 图形 图像 动画 声音 视频等等 因此, 你不仅要会录入文章 绘制图表, 还应该会采集音乐 编辑视频 大家面对的是多媒体数据, 应该能收集它 整理它, 数据经过整理就成为有用的信息 其次, 信息技术的两翼是数据库技术和网络技术 为了管理好 使用好数据, 就必然用到数据库技术, 数据库技术是一切信息管理的基石 为了分享数据和信息, 就需要网络技术 有了上述数据主体技术和两个 翅膀, 你应该可以起飞了 但是能飞多高, 能飞多远, 还应该有编程技术 智能技术 安全技术的支持 这相当于头尾各部分的作用 编程将使大家的信息技能游刃有余 人工智能使你飞得更远, 安全技术能使你飞得更稳 有人可能会责难我们, 难道大学本科生还需要学习办公软件的技能吗? 他们认为这是让人 笑掉大牙 的事 其实, 办公软件是最重要的提高生产效率的应用软件, 很容易使用, 但各人使用效率的高低则十分悬殊 我们设想, 今后大学生在入学前先学会计算机的基本操作, 我们再开一门高级办公技术的课, 通过严格的行业及个人行为规范, 对学生进行应用化训练, 养成正确的职业习惯 将来工作时能提高效率 改善质量 降低成本 这决不是贻笑大方的事

III 五 初步规划 应用型本科教材的规划是一个长期的战略任务, 不是短期的战术行为 因此, 目前的规划教材不可能一步到位, 还会保留一些传统的基础课 例如, 数字电路与逻辑设计 微机原理及接口技术 单片机原理及应用等 即使是纯硬件专业的学生, 如何学这些传统硬件课都值得商榷, 更何况公共基础课 我们将分门别类逐步建设好应用型本科的重点课程和教材 : (1) 基础类教材 : 信息技术导论, 计算机应用基础, 高级办公技术, 数据与操作, 密码与安全, 实用数据结构, 实用离散数学 ; (2) 数据库类教材 : 数据库原理与应用, 信息系统集成, 数据采掘与知识发现 ; (3) 网络类教材 : 计算机网络, 因特网技术, 网络管理与安全, 网站与网页设计 ; (4) 编程类教材 : 面向对象程序设计,C++ 程序设计,Java 程序设计 ; (5) 提高类教材 : 软件工程原理及应用, 人工智能原理及应用 新教材要体现教育观念的转变, 系统地研究普通高校教学改革的需求, 优先开发其中教学急需 改革方案明确 适用范围较广的教材 注重规划教材的科学性 实用性 易学性, 尽量满足同类专业院校的需求 教材内容应处理好传统与现代的关系, 补充新知识 新技术 新工艺 新成果 我相信北京大学出版社在全国各地高校教师的积极支持下, 精心设计, 严格把关, 一定能够建设一批符合应用型人才培养目标的 适应计算机应用型人才培养模式的系列精品教材, 而且能建设一体化设计 多种媒体有机结合的立体化教材, 为各门课程配套电子教案 学习指导 习题解答 课程设计等辅导资料 让我们共同努力吧! 刘瑞挺教授曾任中国计算机学会教育培训委员会副主任 教育部理科计算机科学教学指导委员会委员 全国计算机等级考试委员会委员 目前担任的社会职务有 : 全国高等院校计算机基础教育研究会副会长 全国计算机应用技术证书考试委员会副主任 北京市计算机教育培训中心副理事长

21 世纪全国应用型本科计算机系列实用规划教材 专家编审委员会 ( 按姓氏笔画排名 ) 主任 刘瑞挺 副主任胡昌振段禅伦 崔广才 谢红薇 委员叶俊民杨璐陈天煌范冰冰 陈仲民胡明秦锋龚声蓉

21 世纪全国应用型本科计算机系列实用规划教材 分系列专家编审委员会名单 ( 按姓氏笔画排名 ) 计算机应用技术 主任 胡昌振 副主任 杨璐 龚声蓉 委员 云敏 马秀峰 李明 肖淑芬 周松林 杨长生 钟声 赵忠孝 高巍 软件开发与软件工程 主任 谢红薇 副主任 叶俊民 陈天煌 委员 王建国 孙辉 吕海莲 李福亮 何朝阳 张世明 陈佛敏 贺华 赵绪辉 徐庆生 徐辉 硬件与网络技术 主任 崔广才 副主任范冰冰胡明 委员龙冬云冯嘉礼曲朝阳汤惟张有谊 董春游 程小辉 专业基础课 主任 段禅伦 副主任陈仲民秦锋 委员王昆仑王虹仇汶田敬军刘克成 朴春慧吴晓光苏守宝陈付贵昝风彪 谭水木 魏仕民

前 言 Visual Basic 是近年来得到迅速推广和应用的一种可视化的计算机高级编程语言, 它适于在 Windows 平台上开发应用程序 Visual Basic 因其功能强大 容易掌握, 受到广大初学者和程序开发人员的喜爱 目前不少高校开设了 Visual Basic 程序设计课程, 许多学生通过短短的数十小时的学习, 就能用它编写一些相对简单的 Visual Basic 应用程序, 为今后的深入应用打下很好的基础 事实表明,Visual Basic 作为大学生 ( 尤其是非计算机专业的大学生 ) 学习程序设计的第一种语言是比较合适的 为此, 我们在近几年教学实践的基础上编写了这本书 本书介绍了 Visual Basic 程序设计的基础知识, 主要包括界面设计和程序代码的设计 全书共分 11 章 第 1 章是 Visual Basic 的概述, 介绍 Visual Basic 的集成开发环境 Visual Basic 开发应用程序的一般开发过程等内容 ; 第 2 章介绍 Visual Basic 程序基本的语法单位和语法规则, 包括 Visual Basic 的数据类型 常量和变量 运算符和表达式 常用内部函数等 ; 第 3 章主要讨论 Visual Basic 组成程序流程控制的三种基本结构及相关语句 ; 第 4 章集中地介绍 Visual Basic 工具箱中的常用控件的基本属性和方法 ; 第 5 章讨论数组的定义和使用方法 ; 第 6 章介绍过程的有关概念和使用方法 ; 第 7 章具体探讨键盘和鼠标事件过程 ; 第 8 章介绍如何使用 Visual Basic 提供的菜单技术 工具栏技术 对话框技术 多重文档技术设计应用程序界面 ; 第 9 章介绍 Visual Basic 基本的图形处理技术 ; 第 10 章介绍 Visual Basic 对数据文件的组织处理方法, 以及用于文件操作的有关控件 ; 第 11 章介绍数据库的初步概念以及 Visual Basic 中对数据库进行处理的基本方法 本书针对初学者的特点, 在体系结构和内容上注意了由简及繁 由浅入深 循序渐进 深入浅出以及理论与实践密切结合 全书内容全面, 实例丰富 书中所有例题均在 Visual Basic 6.0 上运行通过 本书由武汉理工大学闵联营老师和中国石油大学董华松老师主编 第 1 2 章由江汉大学刘全老师编写, 第 3 8 章由董华松老师编写, 第 4 5 章由浙江工业大学之江学院张惠老师编写, 第 6 7 和 9 章由闵联营老师编写, 第 10 和 11 章分别由长春大学宋雅娟老师和华北科技学院任占营老师编写 最后由闵联营老师统编全书 由于作者水平有限, 书中难免有不足之处, 恳请读者批评指正 编者 2005 年 9 月

目 录 第 1 章 Visual Basic 概述... 1 1.1 Visual Basic 的特点和版本... 1 1.1.1 Visual Basic 的特点... 1 1.1.2 Visual Basic 6.0 版本简介... 2 1.2 Visual Basic 的启动与退出... 3 1.3 Visual Basic 的集成开发环境... 4 1.3.1 标题栏... 5 1.3.2 菜单栏... 5 1.3.3 工具栏... 6 1.3.4 工具箱... 7 1.3.5 窗口... 8 1.4 可视化编程的基本概念... 10 1.4.1 对象... 10 1.4.2 属性... 10 1.4.3 事件... 11 1.4.4 方法... 11 1.5 创建窗体... 12 1.5.1 窗体的属性... 12 1.5.2 窗体的方法... 14 1.5.3 窗体的事件... 15 1.6 用 Visual Basic 开发应用程序... 15 1.6.1 用 Visual Basic 开发应用程序的一般步骤... 15 1.6.2 编写一个简单的 Visual Basic 应用程序... 17 1.7 小结... 18 1.8 习题... 19 第 2 章 Visual Basic 程序设计基础... 21 2.1 数据类型... 21 2.1.1 数值型数据... 21 2.1.2 字符串型数据... 22 2.1.3 布尔型数据... 22 2.1.4 日期型数据... 22 2.1.5 对象型数据... 22 2.1.6 可变类型数据... 23 2.2 常量和变量... 23 2.2.1 常量... 23 2.2.2 变量... 24 2.3 运算符与表达式... 26 2.3.1 算术运算符与算术表达式... 26 2.3.2 字符串运算符与字符串表达式... 27 2.3.3 关系运算符与关系表达式... 28 2.3.4 逻辑运算符与逻辑表达式... 28 2.3.5 表达式的运算顺序... 29 2.4 小结... 30 2.5 习题... 30 第 3 章 Visual Basic 程序控制结构... 32 3.1 顺序结构... 32 3.1.1 赋值语句... 32 3.1.2 数据输入和输出... 33 3.1.3 注释 暂停与程序结束语句... 35 3.1.4 应用举例... 36 3.2 选择结构... 36 3.2.1 单行结构条件语句... 37 3.2.2 块结构条件语句... 38 3.2.3 多分支选择语句... 40 3.2.4 应用举例... 42 3.3 循环结构... 43 3.3.1 For Next 循环结构... 43 3.3.2 Do Loop 循环结构... 45 3.3.3 While Wend 循环结构... 48 3.3.4 循环的嵌套... 49 3.3.5 应用举例... 50 3.4 小结... 51 3.5 习题... 53

VIII Visual Basic 程序设计 第 4 章 Visual Basic 常用内部控件... 56 4.1 概述... 56 4.2 命令按钮... 57 4.2.1 命令按钮的常用属性... 57 4.2.2 命令按钮的常用事件... 58 4.3 文本控件... 59 4.3.1 标签... 59 4.3.2 文本框... 60 4.4 单选按钮 复选框和框架... 63 4.4.1 单选按钮... 63 4.4.2 复选框... 65 4.4.3 框架... 67 4.5 列表框和组合框... 68 4.5.1 列表框... 68 4.5.2 组合框... 72 4.6 图像框和图片框... 74 4.6.1 图片框... 74 4.6.2 图像框... 76 4.7 滚动条... 77 4.7.1 滚动条的常用属性... 77 4.7.2 滚动条的常用事件... 78 4.8 定时器... 79 4.9 小结... 80 4.10 习题... 81 第 5 章数组... 85 5.1 数组的基本概念... 85 5.1.1 数组与数组元素... 85 5.1.2 数组的维数... 85 5.2 数组的定义... 86 5.2.1 静态数组的定义... 86 5.2.2 动态数组的定义... 86 5.3 数组的基本操作... 87 5.3.1 数组元素的输入与输出... 87 5.3.2 数组元素的复制... 89 5.3.3 保留动态数组的内容... 90 5.4 数组应用举例... 91 5.5 控件数组... 94 5.5.1 控件数组的建立... 94 5.5.2 控件数组的使用... 95 5.6 小结... 97 5.7 习题... 98 第 6 章过程... 102 6.1 过程的定义... 102 6.1.1 Sub 过程... 102 6.1.2 Function 过程... 104 6.2 过程的调用... 105 6.2.1 调用 Sub 事件过程... 106 6.2.2 调用 Sub 通用过程... 106 6.2.3 调用 Function 过程... 107 6.3 参数的传递... 108 6.3.1 形参和实参... 108 6.3.2 参数按值传递和按地址传递... 109 6.3.3 数组参数... 110 6.3.4 可选参数与可变参数... 112 6.3.5 对象参数... 113 6.4 递归过程... 114 6.5 变量的作用域与生存期... 117 6.5.1 变量的作用域... 117 6.5.2 变量的生存期... 120 6.6 小结... 121 6.7 习题... 122 第 7 章鼠标和键盘事件过程... 126 7.1 鼠标... 126 7.1.1 鼠标事件... 126 7.1.2 鼠标光标形状... 128 7.2 键盘... 129 7.2.1 KeyDown 和 KeyUP 事件... 129 7.2.2 KeyPress 事件... 130 7.3 拖放... 132 7.3.1 与拖放有关的属性 事件和方法... 132 7.3.2 OLE 拖放... 135 7.4 小结... 137 7.5 习题... 137 VIII

目录 IX 第 8 章界面设计...142 8.1 菜单的设计...142 8.1.1 下拉式菜单...142 8.1.2 弹出式菜单...144 8.1.3 菜单事件与菜单命令...145 8.2 对话框的设计...147 8.2.1 自定义对话框...147 8.2.2 通用对话框...148 8.2.3 通用对话框控件的使用...153 8.3 状态栏的设计...154 8.4 工具栏的设计...157 8.4.1 使用手工方式制作工具栏...157 8.4.2 使用工具栏控件制作工具栏...158 8.4.3 文档编辑器的实现...161 8.5 多文档界面设计...164 8.5.1 多文档界面 (MDI)...164 8.5.2 建立多文档界面...165 8.5.3 创建 MDI 应用程序的菜单...166 8.6 Visual Basic 的工程结构...167 8.7 小结...167 8.8 习题...168 第 9 章 Visual Basic 图形设计...171 9.1 图形设计基础...171 9.1.1 坐标系统...171 9.1.2 颜色...173 9.2 图形控件...176 9.2.1 Shape 控件...176 9.2.2 Line 控件...177 9.3 绘图方法...178 9.3.1 画点方法...178 9.3.2 画直线 矩形方法 (Line)...180 9.3.3 画圆方法 (Circle)...181 9.3.4 PaintPicture 方法...183 9.4 与绘图有关的常用属性和事件...185 9.4.1 清除图形方法...185 9.4.2 线宽属性和线型属性...185 9.4.3 填充颜色属性和填充样式属性... 185 9.4.4 自动重画属性... 186 9.4.5 Paint 事件... 187 9.5 小结... 188 9.6 习题... 189 第 10 章文件... 191 10.1 文件的基本概念... 191 10.1.1 文件的类型... 191 10.1.2 文件访问函数和语句... 191 10.2 顺序文件... 192 10.2.1 顺序文件的打开与关闭... 192 10.2.2 顺序文件的读写... 193 10.3 随机文件... 195 10.3.1 定义数据类型和变量声明... 195 10.3.2 随机文件的打开与关闭... 195 10.3.3 随机文件的读写操作... 196 10.4 文件系统控件... 196 10.4.1 驱动器列表框控件... 196 10.4.2 目录列表框控件... 197 10.4.3 文件列表框控件... 198 10.5 文件系统对象模型... 200 10.5.1 文件系统对象模型概述... 200 10.5.2 管理驱动器... 201 10.5.3 管理文件夹... 202 10.5.4 管理文件... 203 10.6 文件应用举例... 205 10.7 小结... 207 10.8 习题... 207 第 11 章数据库程序设计... 209 11.1 数据库和 SQL 语言基础... 209 11.1.1 数据库简介... 209 11.1.2 结构化查询语言... 210 11.2 可视化数据管理器... 212 11.2.1 启动可视化数据管理器... 212 11.2.2 新建数据库... 213 11.2.3 打开数据库... 214 IX

X Visual Basic 程序设计 11.2.4 添加数据表...214 11.2.5 数据的增加 删除和修改...218 11.2.6 数据的查询...219 11.2.7 数据窗体设计器...221 11.3 数据控件和数据绑定控件...221 11.3.1 数据控件...222 11.3.2 Recordset 对象的属性和方法...222 11.3.3 数据绑定控件...223 11.4 使用 ADO 访问数据... 225 11.4.1 ADO 对象模型... 225 11.4.2 ADODC 控件... 226 11.5 应用示例... 229 11.6 小结... 232 11.7 习题... 232 参考答案... 234 参考文献... 239 X

第 1 章 Visual Basic 概述 教学提示 :Visual Basic 语言是 Microsoft Windows 操作系统环境下的程序开发工具, 是以 BASIC 语言为基础 以事件驱动作为运行机制的可视化程序设计语言 迄今为止, Visual Basic 经历了几次升级, 它的功能也日益强大和完善 1998 年 Microsoft 公司又推出了 Visual Basic 6.0 版本, 本书就是以 Visual Basic 6.0 为背景, 详细介绍利用 Visual Basic 进行程序设计的方法 教学要求 : 通过本章的学习, 了解 Visual Basic 的特点, 熟悉 Visual Basic 的集成开发环境, 掌握建立一个 Visual Basic 应用程序的方法 1.1 Visual Basic 的特点和版本 1.1.1 Visual Basic 的特点 Visual Basic 是一种面向对象的程序设计语言, 与传统的程序设计语言相比,Visual Basic 不仅简单易学, 而且功能比较强大, 在许多方面有了重大的改进和突破 在这里将介绍 Visual Basic 的几个最基本的特点 1. 可视化用传统的高级语言编写程序时, 对界面的设计和算法的实现, 常常需要编写大量的代码来完成 并且只有在该程序运行时, 才能看到用户的界面效果, 如果不满意, 又需要回到设计阶段重新设计, 这样的程序调试方式影响了编程效率 然而,Visual Basic 则不一样, 它为用户编写应用程序提供了可视化的集成开发环境, 使用户不需要编写大量代码去描述界面元素的外观和位置, 只要把系统预先建立的元素对象放在窗口中, 并对该元素的属性进行设置, 就可以快速地构造出美观实用的用户界面 即运行后的实际效果与预先 画 出的界面是一样的 因此, 用户可以方便地设计美观 友好的界面, 这样就大大简化了界面设计, 同时也提高了编程效率 2. 事件驱动传统的编程方式是面向过程的, 设计人员必须将要处理的事物编写出一个完整的程序, 计算机按照程序的流程运行, 直到程序的结束语句为止 在这种编程方式下, 程序设计人员必须十分周全地考虑程序运行过程中的每一个细节, 否则稍有不慎就有可能造成不可预见的错误 然而 Visual Basic 改变了这种编程方式, 它采用面向对象的程序设计方法, 即通过事件来执行对象的操作 每一个对象都能响应多个不同的事件 每个事件都能驱动一段

2 Visual Basic 程序设计 程序代码 例如, 命令按钮是一个对象, 当用户单击该按钮时, 将产生一个 单击 事件, 而在产生该事件时, 将执行一段设计人员预先设计好的程序, 用来实现指定的功能 用 Visual Basic 设计大型应用程序时, 不必建立具有统一控制的 包罗万象的大程序, 只需要编写若干个微小的子程序, 即事件过程 这些过程分别面向不同的对象 由用户操作引发某个事件来驱动完成某种特定的功能, 或由来自系统的消息触发来执行指定的操作, 这样使得程序编制工作变得相对简单, 提高了编程效率 3. 交互式传统高级语言编程一般都要经过 3 个步骤, 即编码 编译和测试代码, 其中每一步还需要调用专门的处理程序, 而 Visual Basic 与传统的高级语言不同, 它将这 3 个步骤的操作都集中在它的集成开发环境内统一处理, 使得 3 个步骤之间不再有明显的界限, 大大方便了设计人员的使用 在大多数语言中, 如果设计人员在编写代码时发生错误, 则只有在该程序编译时, 错误才会被编译器捕获, 此时设计人员必须查找并改正错误, 然后再一次进行编译, 对于每一个发现的错误都要重复这样的过程 而 Visual Basic 则不同, 它采用交互式的在线检测方式, 即在设计人员输入代码时, 便对其进行解释, 即时捕获并突出显示其语法或拼写错误, 使设计人员能及时发现错误并改正错误 4. 可扩充性 Visual Basic 是一种高度可扩充的语言, 它为用户提供了多种途径来扩充其功能, 主要表现为支持其他软件开发商为扩充其功能而开发的外部控件, 只要这些外部控件的文件扩展名为.ocx 就可以加入到 Visual Basic 系统中, 以扩充其功能 Visual Basic 还提供了 OLE (Object Linking and Embedding, 对象的链接与嵌入 ) 功能 利用这一功能在 Visual Basic 的应用程序中, 可以使用其他 Windows 应用程序对象的某些功能, 例如, 用户在建立一个 Visual Basic 应用程序时, 可以使用 Microsoft Excel 建立一个计算表格 另外 Visual Basic 还支持动态交换和动态链接技术, 通过动态数据交换 (DDE) 的编程技术,Visual Basic 开发的应用程序能与其他 Windows 应用程序之间建立数据通信, 通过动态链接库技术, 在 Visual Basic 程序中可方便地调用用 C 语言或汇编语言编写的函数, 也可调用 Windows 的应用程序接口 (API) 函数, 利用这些 API 函数, 可大大增强 Visual Basic 的编程能力, 并可实现一些用 Visual Basic 语言本身不能实现的一些特殊功能 1.1.2 Visual Basic 6.0 版本简介在 Visual Basic 6.0 中提供了 3 种版本, 即学习版 专业版和企业版 这 3 种不同的版本分别可以满足不同的设计人员对开发的需要, 用户可以根据需要选择不同的版本 1. 学习版 Visual Basic 6.0 的基础版本, 该版本主要是为初学者开发的, 用它可以开发基于 Windows 9x/NT 的应用程序, 该版本包含所有内部控件 2

第 1 章 Visual Basic 概述 3 2. 专业版主要是为专业人员创建基于客户机 / 服务器应用程序而设计的, 该版本包括学习版的全部功能以及 ActiveX 控件 Internet 控件 Crystal Report Writer 控件等开发工具 3. 企业版该版本的用户主要是专业软件开发人员, 包括了专业版的全部功能, 同时具有自动化管理 数据库 管理工具和 Microsoft Visual Source soft 面向工程版的控制系统等 该版本主要用于创建更高级的分布式 高性能的客户机 / 服务器或 Internet 上的应用程序 1.2 Visual Basic 的启动与退出 Visual Basic 作为 Visual Studio 6.0 套装软件中的成员, 可以和 Visual Studio 6.0 一起安装, 也可以单独安装, 单独安装的 Visual Basic 6.0 中文版包括 4 张光盘, 其中 2 张为 MSDN ( 联机帮助 ) 1. 启动 Visual Basic 6.0 Visual Basic 6.0 的启动方式主要有 4 种 (1) 单击 Windows 桌面左下角的 开始 按钮, 执行 开始 程序 Visual Basic 6.0 菜单操作 (2) 建立启动 Visual Basic 6.0 的快捷方式, 通过快捷方式图标启动 Visual Basic 6.0 (3) 使用 开始 菜单中的 运行 命令, 在 打开 栏内输入 C:\Program Files\Microsoft Visual Studio\VB98\VB6.EXE, 单击 确定 按钮, 即可启动 Visual Basic 6.0 在成功启动 Visual Basic 6.0 之后, 屏幕上会显示一个 新建工程 对话框, 如图 1.1 所示 图 1.1 新建工程 对话框 3

4 Visual Basic 程序设计 新建工程 对话框中有 3 个标签, 单击它们可打开相应的选项卡 1 新建 选项卡: 创建新的 Visual Basic 6.0 应用程序工程 该选项卡中有若干个工程类型, 在这里对这几种类型进行说明 标准 EXE: 用来创建一个标准的 EXE 文件 ActiveX EXE: 用来创建一个 ActiveX 可执行文件 ActiveX DLL: 用于创建一个与 ActiveX EXE 功能相同的 DLL 文件 ActiveX 控件 : 用来创建一个 ActiveX 控件 Visual Basic 应用程序向导 : 用于帮助用户建立应用程序框架, 使用户可以快速建立一个具有基本功能的应用程序 数据工程 : 用于建立一个数据工程 IIS 应用程序 :IIS 应用程序是一种 Visual Basic 应用程序, 它组合了 HTML 技术和动态的 基于浏览器的应用程序的编译 Visual Basic 代码技术 IIS 应用程序位于 Web 服务器上, 从浏览器接收请求, 并运行与请求相关的代码, 然后向浏览器发出响应请求 外接程序 : 用于建立自定义的 Visual Basic 的 IDE 外接程序 ActiveX 文档 EXE 和 ActiveX 文档 DLL:ActiveX 文档相当于可以在支持超链接环境下运行的 Visual Basic 程序 DHTML 应用程序 : 与 IIS 应用程序相似, 只是在客户端的浏览器上, 解释与响应浏览器上终端的用户操作 Visual Basic 企业版控件 : 该选择不是用来建立应用程序, 而是用来在工具箱中加入企业版控件图标 2 现存 选项卡: 选择和打开现有的工程, 继续进行编辑 修改和调试 3 最新 选项卡: 列出最近使用过的工程 如果不希望 Visual Basic 每次启动时都出现该对话框, 可以选择该对话框下方的 不再显示这个对话框 复选框, 在这种情况下, 集成开发环境每次启动时, 会自动创建一个类型为 标准 EXE 的工程 2. Visual Basic 的退出退出 Visual Basic 的方法主要有 3 种 (1) 在 Visual Basic 窗口中, 选择 文件 菜单中的 退出 命令 (2) 通过组合键 Alt+Q 或 Alt+F4 也可退出 Visual Basic 集成环境 (3) 单击 Visual Basic 窗口右上角的关闭按钮 无论采用何种方式退出 Visual Basic, 系统都会在退出集成开发环境时, 检查目前打开的工程是否被修改 如果用户对工程做了修改, 则系统会提示用户保存其最新版本 1.3 Visual Basic 的集成开发环境 和大多数开发工具一样,Visual Basic 也提供了一个集成开发环境, 在这样一个工作平台 4

第 1 章 Visual Basic 概述 5 上, 用户可以完成应用程序的设计 编辑 编译及调试等工作, 因此, 熟练掌握 Visual Basic 集成开发环境是学习 Visual Basic 的第一步 如前所述,Visual Basic 被启动后, 用户在对话框中选择一个要建立的工程类型, 单击 打开 按钮, 就进入了 Visual Basic 的集成开发环境 ( 如图 1.2 所示 ) 下面的 Visual Basic 集成开发环境界面是由以下几部分构成的 标题栏 工具栏 菜单栏 工具箱 工程资源管理窗口 窗体设计器 属性窗口 窗体布局窗口 图 1.2 Visual Basic 集成开发环境 1.3.1 标题栏标题栏是 Visual Basic 集成环境窗口顶部的水平条, 在标题栏中显示了当前操作的工程名称以及 Visual Basic 的工作模式, 在 Visual Basic 中有 3 种工作模式 (1) 设计模式 : 在该模式下可进行用户界面的设计和代码的编写 进入设计模式时, 在标题栏中显示 设计 字样 (2) 运行模式 : 在该模式下可运行 Visual Basic 应用程序, 但不可编辑代码, 也不可编辑界面 进入运行模式时, 在标题栏中显示 运行 字样 (3) 中断模式 : 在该模式下可暂时中断应用程序的执行, 而且可编辑代码, 但不可编辑用户界面 进入中断模式时, 在标题栏中显示 break 字样 在标题栏中除了显示工程的名称和工作模式之外, 在标题栏的最左端还有窗口控制菜单框, 在标题栏的最右边还有最大化按钮 最小化按钮和关闭按钮 1.3.2 菜单栏 Visual Basic 集成环境窗口的第二行就是菜单栏, 使用菜单栏中的菜单就可以访问 Visual Basic 中的所有功能 在菜单栏上共有 13 个菜单 ( 即文件 编辑 视图 工程 格式 调试 运行 查询 图表 工具 外接程序 窗口和帮助 ), 每个菜单的功能如表 1-1 所示 5

6 Visual Basic 程序设计 表 1-1 Visual Basic 菜单的功能一览表 菜单名功能 文件编辑视图工程格式调试运行查询图表工具外接程序窗口帮助 包括文件的打开 删除 保存和加入窗体以及生成执行文件等功能提供各种编辑功能提供显示或隐藏各种视图包括将窗体 模块加入当前工程等功能对界面设计的辅助控制, 如控件对齐方式 间距的设置等提供对程序代码进行调试的各种方法执行 中断和停止程序实现与数据库有关的查询实现与图表有关的操作主要包括三方面的功能 : 对集成开发环境进行定制 向程序代码中添加过程 激活应用程序的菜单编辑器主要包括两方面的功能 :Visual Basic 环境下的数据库管理器 外部程序管理器设置 Visual Basic 子窗口在主窗口中的排列方式提供 Visual Basic 的联机帮助 1.3.3 工具栏工具栏提供了在编辑环境下快速访问常用命令的方法, 当光标指向工具栏上的按钮时, 会显示工具按钮的名称及功能, 单击工具栏上的按钮, 将执行该按钮所对应的功能 Visual Basic 6.0 中提供了 4 种工具栏 : 标准 工具栏 调试 工具栏 编辑 工具栏和 窗体编辑器 工具栏 启动 Visual Basic 后, 系统默认主窗口中只显示 标准 工具栏, 其他工具栏可以通过 视图 菜单中的 工具栏 命令打开和关闭 图 1.3 所示的是 标准 工具栏, 它列出了 Visual Basic 应用程序中最常用的命令 图 1.3 标准 工具栏 图 1.4 所示的是 调试 工具栏, 它用于调试程序, 主要功能包括程序的运行 暂停和停止等 可以通过 视图 菜单中的 工具栏 命令打开和关闭 图 1.4 调试 工具栏 6

第 1 章 Visual Basic 概述 7 图 1.5 所示的是 编辑 工具栏, 它用于对用户编写的程序或用户建立的各种对象进行编辑工作 可以通过 视图 菜单中的 工具栏 命令打开和关闭 图 1.5 编辑 工具栏 图 1.6 所示的 窗体编辑器 工具栏, 它用于对控件的大小 对齐方式等的设置 可以通过 视图 菜单中的 工具栏 命令打开和关闭 图 1.6 窗体编辑器 工具栏 1.3.4 工具箱控件是构成 Visual Basic 应用程序和用户界面的基本组成部分 工具箱中列出了 Visual Basic 的常用控件, 不同的图标代表不同的控件类型, 因此, 可以说工具箱是控件的选用区 将控件放置到窗体的表面有两种操作方法 : 一种是先单击控件工具箱上的某个控件, 然后使用鼠标拖动的方法将该控件在窗体表面上画出来 ; 另一种是双击控件工具箱上的某一个控件, 该控件对象就会自动出现在窗体中央, 其大小是默认的 图 1.7 列出了所有 Visual Basic 内部控件 需要说明的是, 图中左上角的箭头不是控件, 单击它可以把鼠标指针由其他形状变为箭头形状 图 1.7 Visual Basic 的工具箱工具箱中除了有 Visual Basic 内部控件, 还可以添加 Active 控件 ( 又称为外部控件 ), 向工具箱中添加控件的步骤如下 (1) 将鼠标指向控件窗口的任意位置, 单击右键, 显示快捷菜单, 然后单击 部件 选项, 此时, 屏幕上显示如图 1.8 所示的 部件 对话框, 在列表框中显示出可以使用的外部控件列表 (2) 选中需要添加到工具箱的控件, 然后单击 确定 按钮, 选定的控件就会出现在工具箱中 7

8 Visual Basic 程序设计 图 1.8 部件 对话框 1.3.5 窗口除了图 1.2 所示的 Visual Basic 集成开发环境窗口以外,Visual Basic 还有一些其他的窗口, 它们分别是窗体设计器窗口 工程资源管理器窗口 属性窗口 代码编辑器窗口 窗体布局窗口和立即窗口 1. 窗体设计器窗口窗体设计器窗口简称窗体 (Form), 它是 Visual Basic 最基本的对象, 提供与用户交互的窗口, 每当 Visual Basic 启动时, 系统会打开一个窗体, 默认名称为 Form1, 用户也可以通过属性窗口的 Name( 名称 ) 属性设置来改变窗体名称 如果应用程序需要多个窗体, 可以选择 工程 添加窗体 菜单创建新窗体 在程序设计时, 程序员可根据程序界面的要求, 从工具箱中选择所需要的内部控件, 并在窗体中画出来, 以形成程序运行时的用户界面窗口 2. 工程资源管理窗口在 Visual Basic 集成开发环境窗口右侧的第一个窗口就是工程资源管理窗口, 在这个窗口中, 包含有建立应用程序所需要的文件清单, 在工程资源管理窗口中的文件可以分为以下几类 (1) 工程文件和工程组文件 ( 文件的扩展名为.vbp 和.vbg) 工程是一个用来建立 保存和管理应用程序中的各种相关信息的管理系统, 同时也是应用程序的集合体, 每个工程对应一个工程文件, 它的扩展名为.vbp 当一个程序包括两个以上的工程时, 这些工程就构成了一个工程组, 工程组的扩展名为.vbg 使用 文件 菜单中的 新建工程 命令可以建立一个工程, 使用 打开工程 命令可以打开一个已有的工程, 而使用 添加工程 命令则可以添加一个工程 8

第 1 章 Visual Basic 概述 9 (2) 窗体文件 ( 文件的扩展名为.frm) 每一个窗体对应一个窗体文件, 窗体及其控件和其他信息都存放在该窗体文件中, 一个应用程序可以有多个窗体 ( 最多可达 255 个 ), 它的扩展名为.frm 执行 工程 菜单中的 添加窗体 命令可以添加一个窗体, 而执行 工程 菜单中的 移除 form 命令可以删除当前窗体 (3) 标准模块文件 ( 文件的扩展名为.bas) 标准模块文件是纯代码文件, 由程序代码组成, 主要用来声明全局变量和定义一些通用的过程 它不属于任何窗体, 可以被不同的窗体程序调用 标准模块通过 工程 菜单中的 添加模块 命令建立 (4) 类模块文件 ( 文件的扩展名为.cls) 类模块用来定义和保存用户根据程序设计的需要建立的类代码, 每一类都用一个文件保存, 它的文件扩展名为.cls 通过 工程 菜单中的 添加类模块 命令可以建立类模块 (5) 资源文件 ( 文件的扩展名为.res) 资源文件是纯代码文件, 其中可以存放文本 图片 声音等多种资源文件 除以上几类文件以外, 在工程资源管理窗口的顶部还有 3 个按钮 查看代码 按钮: 用来显示相应文件的代码 查看对象 按钮: 用来显示相应的窗体 切换文件夹 按钮: 用来显示各类文件所在的文件夹 3. 属性窗口属性窗口用于设定对象的属性, 通过 视图 菜单中的 属性窗口 命令, 即可打开属性窗口 该窗口由对象选择框 属性显示排列方式 属性列表框及当前属性的解释框 4 部分组成 (1) 对象选择框位于属性窗口的上方, 在这一栏的右侧有一个下拉按钮, 单击它便会显示对象列表 在对象列表中选择一个对象, 该对象的属性就会显示在下方的属性列表框中 (2) 属性显示排列方式它有两个标签 : 按字母序 和 按分类序, 因此可以按字母方式排列对象属性和按对象属性分类排列对象属性 (3) 属性列表框位于属性窗口的中间, 分为左 右两栏, 左边显示的是属性的名称, 右边显示的是属性值 设置属性值可以使用以下 3 种方法 通过键盘直接输入属性值 单击属性值右边的下拉箭头, 在列出的选项中选择 单击属性值右边的选择按钮, 打开一个对话框来设置属性 (4) 属性解释框位于属性窗口的底部, 每选中一种对象属性, 在其下方的属性解释框中就会显示该属性的名称及功能 9

10 Visual Basic 程序设计 4. 代码编辑窗口用来输入应用程序代码的编辑器, 应用程序的每个窗体或代码模块都有一个单独的代码编辑窗口 用户可通过工程资源管理窗口自由地在窗体设计窗口或代码编辑窗口之间进行切换, 双击某一个对象也可进入代码编辑窗口 如图 1.9 所示的是代码编辑窗口 图 1.9 代码编辑窗口 5. 窗体布局窗口在窗体布局窗口中可以使用表示屏幕小图像来布置应用程序中各窗体的位置, 设计时可以使用鼠标把窗体拖动到一个新的位置, 运行时窗体就会定位到新位置上 6. 立即窗口立即窗口是为调试应用程序提供的, 用户可以直接在该窗口中利用 Print 方法显示表达式的值 1.4 可视化编程的基本概念 1.4.1 对象对象 (Object) 是代码和数据的集合, 也是对具有某些相同特性的具体事物的抽象, 对象在现实生活中是很常见的, 比如人 电话等都是对象 在 Visual Basic 中对象分为两类, 一类是由系统设计好的, 称为预定义对象, 用户可以直接使用或对其进行操作, 比如窗体及各种内部控件等都是 Visual Basic 预定义对象 ; 另一类由用户定义的, 称为用户对象, 程序员可以定义和建立用户对象 从可视化编程的角度来看, 对象是一个具有某种属性和方法并能响应外部事件的实体 一个对象建立以后, 操作就是通过与对象有关的属性 事件和方法来描述的 1.4.2 属性对象的属性用来表示对象的状态以及控制对象的外观和行为 可以通过改变对象的属性值来改变对象的特征 比如可以改变对象的颜色 大小属性来改变该对象的外观特征 10

对象的属性有两个基本特点 第 1 章 Visual Basic 概述 11 不同的对象有不同的属性, 比如, 标签控件具有标题属性, 而文本框控件则不具备这个属性 同一个对象有多个不同的属性, 比如命令按钮, 它不仅具有 Caption( 标题 ) 属性, 还具有其他的属性, 如 Name( 名称 ) Color( 颜色 ) Visible( 可见性 ) 等 对象的属性可通过以下两种方法设置 (1) 在程序设计阶段, 可通过属性窗口设置对象的属性值 (2) 在程序运行阶段, 由程序代码设置对象的属性值, 其格式为 : [< 对象名 >.]< 属性名 >=< 属性值 > 例如 : 要将一个名为 Command1 的命令按钮的 Caption 属性值设置为 取消, 则可用以下语句 : Command1.Caption=" 取消 " 其中 Command1 为对象名,Caption 为属性, 字符串 取消 就是设定的属性值 在 Visual Basic 中大部分属性在设计和运行时都可设置, 但也有少部分属性只能在设计阶段或者运行阶段才能设置 1.4.3 事件 对象的事件是指由系统预先设置好的, 能够被对象所识别和响应的动作 比如 Click( 单击 ) 事件 KeyPress( 键盘按下 ) 事件及 Load( 装入 ) 事件等 在这些事件中, 有的事件是由用户操作引发的, 如用户单击某一个窗体, 将产生窗体的单击事件 ; 有的事件是由系统的消息触发的, 如某一个窗体装入时, 它将自动产生该窗体的 Load 事件 为了响应某个事件以完成某个功能, 设计人员必须针对这个事件编制一段程序代码, 这样的一段程序代码就称为事件过程 在 Visual Basic 中系统会自动给出事件过程的结构, 作为设计人员只需要将程序代码放入事件过程中 事件过程的一般格式如下 : Private Sub 对象名 _ 事件名 () 事件过程程序代码 其中, 对象名指的是该对象的 Name( 名称 ) 属性, 事件名是由 Visual Basic 预先定义好的赋给该对象的事件 1.4.4 方法 对象的方法是对象要执行的动作 每种方法可使对象完成某个特定的功能 如窗体对象的 Print( 打印 ) 方法 Cls( 清除 ) 方法等 同一个对象有多种方法, 不同的对象有不同的方法, 并且其方法只能在编程中调用 它的调用格式为 : [< 对象名 >.] 方法名 [( 参数 )] 11

12 Visual Basic 程序设计 如 :Forml.Print " 欢迎您!" 其中,Forml 为窗体对象名,Print 就是 Forml 对象的方法名, 此方法的功能是在窗体 Forml 中显示 欢迎您! 1.5 创建窗体 窗体像一块 画布, 它是所有控件的容器 在设计程序时, 窗体是程序设计人员的工作平台 ; 在程序运行阶段, 窗体则是用户界面的窗口 窗体是 Visual Basic 中的一个重要对象, 具有自己的属性 事件和方法 1.5.1 窗体的属性 1. Name 属性 Name( 名称 ) 属性用来定义窗体的名称, 每个窗体都必须有一个 Name 属性, 以便在代码中用这个名称引用窗体, 它与对象的标题 (Caption) 属性不一样 在工程中添加第一个窗体对象时, 系统会给窗体 Name 属性的值自动赋一个默认名称 :Forml 而以后在同一个工程中添加其他的窗体时, 它的默认名称则在后面的数字逐次加 1 来表示, 如 Form2 Form3 为了提高程序的可维护性, 便于识别窗体的功能, 一般给窗体对象名设置一个有实际意义的名称, 并建议以 frm 为前缀 需要用户注意的是 :Name 属性是只读属性, 即只能在属性窗口中设置, 不能在程序代码中设置 2. Caption 属性 Caption( 标题 ) 属性用来定义窗体的标题栏上的文字, 默认值与默认的对象名相同, 该属性既可在属性窗口中设置, 也可以在程序代码中设置, 在代码中设置该属性的语法格式如下 : [< 窗体名称 >.] Caption [= 字符串 ] 如 :Form1.Caption=" 登录用户 " 3. BackColor 和 ForeColor 属性 BackColor( 背景颜色 ) 属性用来设置窗体的背景颜色, 而 ForeColor( 前景颜色 ) 属性则用来设置窗体的前景颜色 每种颜色是用一个十六进制常量来表示的 在程序设计阶段, 一般不用颜色常量来设置, 而是通过调色板直观地设置 其操作方法为 : 在属性窗口中, 用鼠标双击 BackColor 或 ForeColor 属性, 从弹出的调色板中单击调色板中的某个色块, 即可把这种颜色设置为窗体的背景色或前景色 4. BorderStyle 属性该属性用来确定窗体的边框样式, 取值为 0~5 之间的整数, 如表 1-2 所示 12

第 1 章 Visual Basic 概述 13 表 1-2 Borderstyle 属性值的设置 属性值功能 0 None 1 Fixedsingle 2 Sizable 3 FixedDialog 4 FixedToolWindow 5 SizableToolWindow 无边框窗体, 它不含控制菜单框 标题栏及窗体控制按钮固定单边框窗体, 运行时不能改变窗体的大小标准窗体形式, 该窗体具有 Windows 标准窗体形式固定对话框窗体形式, 窗体的大小不能改变固定工具窗体形式, 只有一个关闭按钮, 并且窗体的大小不能改变可变大小工具窗体形式, 只有一个关闭按钮, 并且窗体的大小能改变 BorderStyle 属性是只读属性, 即只能在属性窗口设置, 不能在程序运行期间通过代码设置 5. Enabled 属性该属性决定窗口对象是否有效, 其默认值为 True 该属性的值为 True 时, 表示允许用户操作窗口, 并对操作做出响应 ; 该属性的值为 False 时, 表示禁止用户操作窗体, 即窗体呈灰色 用代码设置该属性时, 一般格式为 : [< 对象名 >.]Enabled [=Boolean] 6. Visible 属性该属性决定对象是否可见, 其默认值为 True 该属性的值为 True 时, 程序运行时窗体可见 ; 该属性的值为 False 时, 程序运行时该窗体隐藏, 即不可见 用代码设置该属性的一般格式为 : [< 对象名 >.]Visible [=Boolean] 7. Windowstate 属性该属性决定窗体的当前状态是还原 最小化还是最大化 其属性取值如表 1-3 所示 用代码设置该属性时, 一般格式为 : [< 对象名 >.] Windowstate [= 设置值 ] 表 1-3 Windowstate 属性值的设置 属性值功能 0 Normal 1 Minmized 2 Maxmized 默认值, 运行时的大小与设计相同 最小化状态, 显示一个示意图标 最大化状态, 窗体充满整个屏幕 8. MaxButton 和 MinButton 属性这两个属性分别决定窗体标题栏上的最大化与最小化按钮是否可用, 它们的系统默认值为 True 当其值为 True 时可用, 其值为 False 时不可用 并且这两个属性只有在运行期间起作用 在设计阶段这两个属性的设置不起作用 13

14 Visual Basic 程序设计 另外 MaxButton 和 MinButton 属性只能在属性窗口中设置, 不能在程序运行期间用代码设置 9. Left 和 Top 属性 Left 属性的值决定了窗体外框的左边缘与屏幕显示区左边缘之间的距离 Top 属性的值决定了窗体外框上边缘与屏幕显示区上边缘之间的距离 这两个属性主要用来控制窗体的位置, 其默认单位为 twip 用代码设置该属性的一般格式为 : [< 对象名 >.]Top[= 数值 ] [< 对象名 >.]Left[= 数值 ] 10. Width 和 Height 属性 Width 属性的值决定窗体的宽度,Height 属性值决定窗体的高度, 它们的默认单位为 twip 用代码设置它们的属性的格式如下: [< 对象名 >.] Height[= 数值 ] [< 对象名 >.] Width[= 数值 ] 11. Font 属性 该属性用来设置窗体上的字体的格式 大小及字体等 12. Picture 属性 该属性用于在窗体中显示一个图形 窗体的 Picture 属性一般只在设计阶段通过属性窗口设置 其操作方法是在属性窗口选择该属性, 单击其右端的 按钮, 在弹出的 加载图片 对话框中选择一个图形文件, 该图片即可显示在窗体上, 该属性可以显示扩展名为 bmp wmf gif ico jpg 等多种格式的图形文件 1.5.2 窗体的方法 1. Cls 方法 Cls 方法用来清除由 Print 方法在窗体或图片框中显示的文本或者使用绘图方法在窗体或图片框中显示的图形 其语法为 : [< 窗体名 >.]Cls 需要说明的是, 在设计时在窗体中使用 Picture 属性设置的背景图形不受 Cls 方法的影响 2. Print 方法 Print 方法用于在窗口中显示信息 其语法为 : [< 窗体名 >.]Print[< 表达式列表 >1, ] 其中, 表达式列表是一个或几个表达式, 可以是数值表达式或字符串表达式 如果是数值表达式, 则输出表达式的值 ; 如果是字符串表达式, 则原样输出 ; 如果省略表达式列表, 则输出一个空行 14

第 1 章 Visual Basic 概述 15 3. Show 方法 Show 方法用于显示窗体 如果窗体被遮住, 通过调用 Show 方法可以将其移到屏幕的顶端 其语法为 : [< 窗体名 >.]Show[Style] 其中, 参数 style 为 0 时, 窗体是无模式的 ;style 为 1 时, 窗体是有模式的 当用 Show 方法显示无模式窗体时, 在 Show 方法之后遇到的代码将要执行 ; 而当用 Show 方法显示有模式窗体时, 其后的代码要到该窗体被隐藏或卸载时才能被执行 4. Hide 方法 Hide 方法用于隐藏窗体, 其语法为 : [< 窗体名 >.]Hide 窗体隐藏后, 窗体不可见, 但未从内存中清除 1.5.3 窗体的事件事件的作用在于能够对用户的行为做出响应, 与窗体有关的事件较多, 在这里仅对最常用的几个事件进行介绍 1. Click( 单击 ) 事件程序运行后, 当鼠标在窗口内的某一个位置单击时, 触发该事件 2. Load( 装入 ) 事件 Load 事件是在窗体被装载时, 由系统触发 通常可以在 Load 事件过程中编写窗体启动代码, 用来对窗体或窗体内的控件进行初始化 3. Activate( 活动 ) 和 Deactivate( 非活动 ) 事件当一个窗体变为活动窗体时触发 Activate 事件, 而在一个窗体变为非活动窗口前触发 Deactivate 事件 1.6 用 Visual Basic 开发应用程序 1.6.1 用 Visual Basic 开发应用程序的一般步骤 Visual Basic 的最大的特点就是在 Visual Basic 环境下, 可以以最快的速度和效率开发具有良好用户界面的应用程序 用 Visual Basic 开发应用程序的一般步骤如下 1. 创建一个新的工程单击 文件 菜单中的 新建工程 命令后, 将弹出一个新建工程对话框, 单击该对话框中的 标准 EXE 图标, 然后单击 确定 按钮, 用户就建立了一个默认名称为 工 15

16 Visual Basic 程序设计 程 1 的工程, 在此工程中会有一个默认名为 Form1 的窗体 2. 在 Visual Basic 应用程序界面上添加控件用 Visual Basic 开发环境编写应用程序, 编程人员不需要编写大量的代码来描述用户界面的外观和位置, 只需要根据应用需要在窗体上添加控件 在这个过程中, 必须掌握添加选择控件的基本操作 (1) 向窗体中添加控件向窗体中添加控件的方法通常有两种 方法 1: 1 双击工具箱中要使用的控件, 该控件就会出现在窗体的正中央 2 将控件移到适当位置并调整其大小 方法 2: 1 用鼠标单击所需控件 2 移动鼠标到窗体上适当的位置, 此时光标变为十字形, 然后拖动鼠标, 即可以在窗体上画出一个控件 (2) 对多个控件的选择对多个控件进行操作前, 必须选择需要操作的控件, 选择控件通常有两种方法 方法 1: 按住 Shift 键不松开, 再用鼠标单击每一个要选择的控件 方法 2: 用鼠标在窗体上拖出一个虚框, 被框中的控件被选中 此外, 为了创建整齐美观的用户界面, 往往需要窗体中同类控件的大小相等, 间距相同, 可以选择这些控件, 然后使用 格式 菜单中的各种命令实现上述要求, 注意所有的对齐都是以基准控件为对齐基准来进行的 3. 设置窗体和控件的属性建立界面以后, 可以根据应用的需要对窗体及每个控件设置属性 4. 编写事件驱动代码事件驱动程序是 Visual Basic 应用程序的核心部分, 编写事件驱动过程的步骤如下 (1) 在窗体设计界面中选中某个控件, 然后双击, 即进入代码窗口 (2) 在代码窗口中, 有两个下拉列表框, 左边的为对象列表框, 右边的为过程列表框 (3) 用户根据需要在对象列表框中选择对象, 在过程列表框中, 选择该对象的事件 (4) 在代码编辑窗口的事件过程中, 编写事件代码 5. 程序的调试与运行运行程序有 3 种方式 (1) 单击工具栏上的 启动 按钮, 可运行程序 (2) 单击 运行 菜单中的 启动 命令 (3) 按 F5 键 程序的逻辑比较复杂时, 通常不能保证所编写的程序运行时不出现错误, 而需要反复多次的调试 用户可以按 F8 键或使用 调试 菜单下的 逐语句 命令, 进入程序的调试 16

第 1 章 Visual Basic 概述 17 模式, 在该模式下, 可以将代码单行运行, 分析出现的问题, 进而解决问题 6. 保存在窗体和代码设计好以后, 为了防止出现死机等故障而造成的应用程序的丢失, 需要及时对应用程序进行保存 保存窗体文件及其他 Visual Basic 文件的步骤如下 (1) 单击 文件 菜单中的 保存工程 命令, 打开 文件另存为 对话框 (2) 在 文件另存为 对话框中, 指定保存文件的目录及窗体文件名, 单击 保存 按钮 (3) 最后在 工程另存为 对话框中, 指定保存工程文件的目录及工程名, 单击 保存 按钮 1.6.2 编写一个简单的 Visual Basic 应用程序下面将通过一个例子来说明如何在 Visual Basic 环境下设计一个应用程序 例 1.1 设计一个 Visual Basic 应用程序, 在用户界面上单击 显示 按钮后, 窗体上显示 Visual Basic 欢迎您, 单击 退出 按钮时, 结束整个应用程序, 其步骤如下 1. 新建工程选择 文件 菜单的 新建工程 命令, 在弹出的 新建工程 对话框中选中 标准 EXE 图标, 然后单击 确定 按钮, 建立一个默认名称为 工程 1 的工程, 在此工程中有一个默认名为 Form1 的窗体 2. 在窗体 Form1 中添加控件单击工具箱中的命令按钮图标, 鼠标指针变成 +, 在窗体中拖动鼠标指针至合适的位置, 画出一个命令按钮 Command1, 用同样的方法画出命令按钮 Command2 再单击工具箱中的标签图标, 鼠标指针变成 +, 在窗体中拖动鼠标指针至合适的位置, 画出一个标签 Label1 此时界面如图 1.10 所示 图 1.10 例 1.1 的设计界面 17

18 Visual Basic 程序设计 3. 设置控件的属性 对象建立好后, 可通过属性窗口为其设置属性, 各个对象属性值的设置如表 1-4 所示 表 1-4 对象的属性设置 对象属性设置值 Command1 Caption 显示 Command2 Caption 退出 Label1 4. 编写事件代码 Caption Visible Alignment Visual Basic 欢迎您 Flase 2-center 首先双击 显示 按钮, 自动出现代码编辑窗口, 在 Command1_Click( ) 过程中编写下列事件过程 Prirate Sub Command1_click( ) Lable.Visible =True End sub 用同样的方法, 双击 退出 按钮, 在 Command2_Click( ) 过程中加入语句 End 5. 运行程序 选择 运行 菜单下的 启动 命令, 即可运行 在用户界面下, 单击 显示 按钮, 将显示 Visual Basic 欢迎您, 单击 退出 按钮, 退出应用程序 6. 保存工程 首先选择 文件 菜单中的 保存工程 命令, 在打开的 文件另存为 对话框中, 选择保存窗体文件的路径及窗体文件名 form1 以后, 单击 保存 按钮, 窗体文件就被保存了 然后在弹出的 工程另存为 对话框中, 选择保存工程的路径及工程名, 单击 保存 按钮保存工程 1.7 小结 Visual Basic 是 Microsoft 公司 1991 年推出的, 它提供了开发 Microsoft Windows 应用程序的最迅速 最简捷的方法 它不但是专业人员得心应手的开发工具, 而且易于被非专业人员掌握使用 本章主要介绍了 Visual Basic 的主要特点和集成开发环境, 可视化编程的基本概念, 窗体的有关属性 事件和方法以及开发 Visual Basic 应用程序的一般步骤等内容 18

第 1 章 Visual Basic 概述 19 Visual Basic 提供了一个集成开发环境, 在这样一个工作平台上, 用户可以完成应用程序的设计 编辑 编译及调试等工作 Visual Basic 6.0 的集成开发环境与 Windows 环境下的许多应用程序相似, 同样有标题栏 菜单栏和工具栏等, 除此之外, 它还有工具箱 窗体设计器窗口 资源管理器窗口 属性窗口 窗体布局窗口和立即窗口等 使用 Visual Basic 开发应用程序的一般步骤为 : 创建一个新的工程 在 Visual Basic 应用程序界面上添加控件 设置窗体和控件的属性 编写事件驱动代码 调试与运行程序 保存工程 1.8 习题 一 选择题 1. 在下列选择项中,( ) 不是 Visual Basic 可能的状态 A) 设计状态 B) 运行状态 C) 工程状态 D) 中断状态 2. 在程序设计中, 通过 ( ) 窗口可以设置窗体或控件的属性 A) 窗体布局窗口 B) 属性窗口 C) 代码窗口 D) 窗体设计窗口 3. 窗体 Form1 的名称属性值为 Myform, 它的 Load 事件过程名是 ( ) A) Form1_Load( ) B) Form_Load( ) C) Me_Load D) Myform_Load( ) 4. 与 C 程序设计语言相比,Visual Basic 最突出的特点是 ( ) A) 结构化程序设计 B) 程序开发环境 C) 事件驱动编程机制 D) 程序调试技术 5. 要改变一个窗体的标题内容, 需重新设置的窗体属性是 ( ) A) Name B) Caption C) Borderstyle D) Enable 6. 启动 Visual Basic 时, 在新建的 EXE 工程中, 不会在工具箱中出现的控件是 ( ) A) 命令按钮 B) ActiveX 控件 C) 标签框 D) 文本框 7. 下列叙述中正确的是 ( ) A) 只有窗体才是 Visual Basic 的对象 B) 只有控件才是 Visual Basic 的对象 C) 窗体和控件都不是 Visual Basic 的对象 D) 窗体和控件都是 Visual Basic 的对象 8. 打开便携式电脑, 其中 电脑 便携式 打开 依次是下面的哪一项? ( ) A) 对象 属性 方法 B) 属性 对象 方法 C) 属性 方法 对象 D) 对象 方法 属性 二 填空题 1. 工程文件的扩展名是, 窗体文件的扩展名是, 标准模块文件 的扩展名是 2. 可以通过 菜单中的 命令退出 Visual Basic 19

20 Visual Basic 程序设计 3. 程序运行后, 当单击窗体本身 ( 不是窗体上的控件 ) 时, 将触发窗体的事件 4. 在窗口中可以查看工程的文件结构 5. 若要改变窗体运行时在窗口中的位置, 可在窗口中设置 三 编程题编写一个应用程序 要求设置窗体的标题是 第一个 Visual Basic 程序, 程序执行时, 单击窗体, 在窗体中显示以下红色文字 : 这是我编写的第一个 Visual Basic 应用程序 20

第 2 章 Visual Basic 程序设计基础 教学提示 : 要使用 Visual Basic 编写程序, 就必须掌握 Visual Basic 程序设计语言的语法规则 本章将主要介绍 Visual Basic 的基本数据类型 常量 变量 运算符和表达式, 以及 Visual Basic 的常用内部函数, 包括数学函数 字符串函数 转换函数 日期与时间函数等内容 教学目标 : 掌握 Visual Basic 的基本数据类型 常量 变量 运算符和表达式以及 Visual Basic 的常用内部函数的使用方法 2.1 数据类型 数据是程序的必要组成部分, 也是程序处理的对象, 为了合理地组织数据,Visual Basic 将数据分成不同的数据类型, 每种数据类型占用的存储空间不同, 能表示数值的范围也不同, 用户在设计程序时, 应该根据应用的需要, 选择合适的数据类型描述数据并组织程序 Visual Basic 提供了系统定义的数据类型, 即基本数据类型, 同时也允许用户根据应用的需要定义自己的数据类型, 即用户自定义数据类型, 在这里仅介绍基本数据类型, 它们主要是数值型 字符串型 逻辑型 日期型 可变类型和对象型等 2.1.1 数值型数据数值型数据可分为以下几类 1. integer( 整型 ) 整型数是不带小数点和指数符号的数, 每个整型数据占用 2 个字节 (16 位 ) 的存储空间, 其类型声明符为 %, 其取值范围为 -32768~32768 之间的整数 2. long( 长整型 ) 长整型数也是不带小数点和指数符号的数, 每个长整型的数据占用 4 个字节 (32 位 ) 的存储空间, 其类型声明符为 &, 其取值范围为 -2147483648~2147483647 之间的整数 3. single( 单精度浮点型 ) 单精度浮点型数是带小数的数值, 通常以指数形式 ( 科学记数法 ) 来表示, 以 E 或 e 表示指数部分 每个单精度浮点型数据占 4 个字节的存储空间, 可以精确到 7 位, 其正数的取值范围为 1.401298E-45~3.402823E+38, 其负数的取值范围为 -3.402823E+38~- 1.401298E-45, 其类型声明符为!

22 Visual Basic 程序设计 4. double( 双精度浮点型 ) 双精度浮点型数也是带有小数的数值, 通常也以指数形式 ( 科学记数法 ) 表示, 以 D 或 d 表示指数部分, 双精度浮点型数占 8 个字节的存储空间, 可以精确到 15~16 位, 其正数的取值范围为 4.94065645841247E-324~1.79769313486232E+308, 其负数的取值范围为 -1.79769313486232E+308~-4.94065645841247E-324, 其类型声明符为 # 5. currency( 货币型 ) 货币类型是为计算货币而设置的数据类型, 它也是一种固定小数点位置的数据类型, 占用 8 个字节的存储空间, 其小数点左边有 15 位数字, 右边有 4 位数字, 其取值范围为 - 922337203685477.5808~922337203685477.5807, 其类型声明符为 @ 6. byte( 字节型 ) 字节型数据用于存储二进制数据, 占用 1 个字节的存储空间, 其取值范围为 0~255 2.1.2 字符串型数据字符串类型数据 (string) 用来定义一个字符序列, 由 ASCII 字符组成, 包括标准的 ASCII 字符和扩展 ASCII 字符, 其类型声明符为 $ 在 Visual Basic 中, 字符串必须放在双引号内, 其中长度为空的字符串称为空串, 例如 ABC ( 空串 ) 字符串型数据分为两种 一种为变长字符串, 它能够包含字符的个数是可变的, 随着对字符串变量赋予新值, 它的长度随之发生变化, 所占用的存储空间是该字符串长度再加上 10 个字节 另一种为定长字符串, 即在程序运行中始终保持其长度不变的字符串, 其中每个字符占用一个字节的存储空间, 因此定长字符串所占用的存储空间就是该字符串的长度 例如, 声明一个长度为 5 的定长字符串变量 A 的方法如下 : DIM A as string*5 2.1.3 布尔型数据布尔型数据 (boolean) 是一个逻辑值, 它占用 2 个字节的存储空间, 只能取两个值, 即 true( 真 ) 和 false( 假 ) 2.1.4 日期型数据日期型数据 (date) 用来表示日期, 它占用 8 个字节的存储空间, 可以表示的日期范围从公元 100 年 1 月 1 日到 9999 年 12 月 31 日, 而表示的时间可以从 0 00 00 到 23 59 59 表示日期的数据必须以 # 括起来, 给日期类型变量赋值的基本形式为 : Date time = #5/12/2001 1:20 PM # 2.1.5 对象型数据对象型数据 (object) 用来表示图形或 OLE 对象或其他对象, 它占用 4 个字节的存储空间 22

第 2 章 Visual Basic 程序设计基础 23 2.1.6 可变类型数据 可变类型数据 (Variant) 是一种通用的 可变的数据类型, 除了定长字符串和自定义类型以外, 它可以用来表示任何类型的数据 Visual Basic 可根据变量当前的内容, 处理声明为可变类型变量和默认声明的变量, 可变类型变量还可以在同一程序运行期间放置不同类型的数据, 系统会自动完成必要的转换 例如 : Dim MyVariant as Variant ' 如果不声明 My Variant 变量, 下面的变量也是可变类型 My Variant="25" ' 存入字符串 25, 变量 MyVariant 为字符串类型的数据 My Variant=My Variant-10 ' 在进行数值运算时, 系统自动将 MyVariant 转换成数值类型的数据, 进行运算, 并以数值型的数据存储 2.2 常量和变量 变量和常量是 Visual Basic 程序中最基本的数据元素, 程序中的数据大多是以变量和常量的形式出现的 可以说常量和变量是程序中都存在的基本量 但是在不同的语言中, 它们的表现形式是不同的 掌握变量和常量的表达方法是 Visual Basic 语言编程的基础 所谓常量是指在程序执行期间, 其值是不能发生变化的数据 ; 而变量的值是可以变化的, 它代表计算机内存中指定的存储单元 2.2.1 常量常量是指在程序执行期间它的值不会发生变化的数据, 在 Visual Basic 中常量分为两种, 一种是文字常量, 另一种则是符号常量 1. 文字常量文字常量分为数值常量 字符串常量 逻辑型常量和日期型常量等 (1) 数值常量数值常量又分为整型常量 长整型常量 浮点型常量和货币型常量等 整型和长整型常量在 Visual Basic 中可以使用十进制 八进制和十六进制来表示整型和长整型常量, 十进制数值的表示方法与人们日常的表示方法相同, 例如 :235 如果在数字的开头加上前缀 &O( 字母 O), 则所表示的是八进制数值, 例如 :&O315 如果在数字的开头加上前缀&H, 则表示的是十六进制数值, 例如 :&H418 需要说明以下两点 1 如果所表示的数值大小没有超过整型数据的范围 (-32768~32768) 时, 系统会认为它是整型数, 在内存中以 2 个字节存放它, 如果所表示的数值大小超过了整型数据范围, 则系统认为它是长整型数, 以 4 个字节存放它 2 用户还可以根据需要来设置某一个数据为长整型数, 其方法是在某一个整型常量的后面加上类型声明符 &, 则该整型数被设置为长整型数, 它们数值是相同的, 但占用 23

24 Visual Basic 程序设计 内存不一样, 即整型常量占用 2 个字节, 而长整型数则占用 4 个字节 浮点数常量浮点数常量可分为单精度浮点数和双精度浮点数, 浮点数由尾数 指数符号和指数 3 部分组成, 用 me±n 或 md±n 来表示 其中 m 为尾数, 它用实数表示, 指数符号是 E( 表示单精度 ) 或 D( 表示双精度 ),n 为指数, 它必须是整数 指数符号 E 或 D 的含义是 m 乘上 10 的幂次, 例如 : 3.145E+3 表示的数值分别为 3145 货币型常量货币型常量是指货币类型数据的常量表示形式 (2) 字符串型常量所谓字符串型常量是指用双引号括起来的一串字符 ( 也可以为汉字 ), 如 : Visual Basic ab56 1234 等 (3) 逻辑型常量逻辑型常量很简单, 只有两个值, 即 True 和 False (4) 日期型常量日期型常量是指用 # 号括起来的一串日期, 它可以表示日期 数据, 其格式为 : # mm-dd-yy # 2. 符号常量所谓符号常量是用一个被定义的标识符代替数值和字符串 定义符号常量的一般格式为 : const 新常量名 = 表达式 [, 新常量名 = 表达式 ] 其中符号常量名必须符合 Visual Basic 标识符的定义方式, 表达式可以由文字常量 算术表达式及逻辑运算符组成, 也可以直接是字符串, 但不能使用字符串连接运算符变量及用户定义的函数或内部函数 例如 : const A1=3.14 const B1=2*A1 const C1="abcd" ' 定义了一个单精度常量 ' 定义了一个单精度常量 ' 定义了一个字符串型常量 2.2.2 变量几乎所有编程语言都要用到变量, 变量的实质是指在程序运行过程中, 其值可以改变的量 一个变量应该有一个名字, 即变量名, 在内存中占据一定的存储单元 在该存储单元中存放变量的值称为变量值 为了通知计算机为变量留出所需要的空间, 就需要对变量的类型进行说明, 这一过程称为声明, 除了对变量进行命名和类型说明以外, 还必须规定该变量的使用范围 在 Visual Basic 中, 变量的有效范围是不同的, 按照其使用范围可以将变量分为局部变 24

第 2 章 Visual Basic 程序设计基础 25 量 窗体级变量 过程级变量及全局变量, 下面将分别介绍变量的命名规则及变量的声明等内容 1. 变量的命名规则 在 Visual Basic 中, 给变量命名时应遵循以下规则 (1) 变量名只能由字母 数字和下划线组成 (2) 变量名的第一个字符必须是英文字母 (3) 变量名的有效长度为 255 个字符, 而且名字的有效字符为前 40 个, 后面的字符只为了增加易读性, 对于区分不同的变量无效 4 不能使用 Visual Basic 保留字作为变量名, 但可以把保留字嵌入变量名中, 例如, 不能将变量命名为 DIM( 因为 DIM 是 Visual Basic 中的保留字 ), 但可以命令为 MYDIMS 在 Visual Basic 中, 变量名 过程名 符号常量名 记录类型名和元素名等都遵循上述规则 在 Visual Basic 中, 不区分变量名中字母的大小写,abc ABC abc 指的是同一个名字, 为了便于阅读, 建议每个变量名开头的第一个字母用大写, 例如, 可以将某一个变量名定义为 Abc 2. 变量的声明 在 Visual Basic 中, 变量需要声明, 声明的过程就是通知系统准备使用哪些变量, 该变量需要多大的存储空间, 以便系统将其存储到计算机的内存中 变量的声明有两种, 即显式声明和隐式声明 显式声明是用相应的语法声明变量, 声明的变量具有所声明的数据类型 ; 隐式声明是不经声明直接使用变量, 变量自动具有 Variant 类型 (1) 变量的显示声明在变量的显示声明中又分为以下几种方式 1 用 DIM 语句声明变量 DIM 语句用于在模块 窗体的过程 ( 子程序 ) 中声明变量, 其声明变量的格式为 : DIM 变量 1 AS 数据类型 [, 变量 2 AS 数据类型 ] [, ] 例如 : DIM MY2 as string DIM MY1 as integer,m3 as string 2 用 static 语句声明变量 static 语句用于在过程中说明静态变量, 其一般格式为 : static 变量名 as 类型名 例如 : static A as integer 用 static 语句声明的变量称为静态变量 静态变量的特点是第一次执行某个过程时, 系统为变量分配了一个存储单元, 当退出这个过程, 存储单元的值将保留, 下次再调用此过 25

26 Visual Basic 程序设计 程时, 该变量的初值就是上次被保留的值 例如 : private sub command1_dick( ) static M1 AS integer print M1 M1 = M1 + 2 当用户单击 Command1 命令按钮时, 该事件过程被调用, 此时系统对 M1 赋予默认值 0, 然后打印 M1 的值 0, 接着执行语句 M1=M1+2,M1 值为 2 由于变量 M1 是静态变量, 其值将保留下来, 当再次单击 Command1 按钮时, 该事件过程又被调用, 变量 M1 的初始值不再为 0, 而是上次保留的 M1 的值, 即 M1 为 2 3 用 Public 语句声明变量 用 Public 声明的变量为全局变量, 该变量的作用范围是所有模块的所有过程, 声明全局变量的一般格式为 : Public 变量名 AS 类型名 例如 : Public A AS integer (2) 变量的隐性声明变量的隐性声明方法有以下两种 1 在 Visual Basic 的程序代码中不对变量进行声明而直接引用, 则此变量默认的数据类型为 Variant 2 可以省略声明语句, 而在变量名的尾部加上变量类型说明符来使变量被隐性声明为某种类型的变量 例如 : A%=300 2.3 运算符与表达式 在程序设计语言中用不同的符号描述不同的运算形式, 这些符号称为运算符, 而运算的对象就称为操作数, 由运算符将操作数接起来的合法的式子构成了表达式 例如 :A+5 3*5*6 等都是表达式, 单个变量式常量也可以看成是简单的表达式 Visual Basic 提供了丰富的运算符和表达式 这些运算符和表达式包括算术运算符和算术表达式 字符串运算符和字符串表达式 关系运算符和关系表达式 逻辑运算符和逻辑表达式等 2.3.1 算术运算符与算术表达式 26 1. 算术运算符 算术运算符是常用的运算符, 用来执行简单的算术运算,Visual Basic 提供了 8 个算术运算符, 表 2-1 按优先级列出了这些算术运算符

第 2 章 Visual Basic 程序设计基础 27 表 2-1 Visual Basic 的算术运算符 运算符含义优先级 ^ 乘方 1 - 取负 2 * 乘 3 / 除 3 \ 整除 4 Mod 取模 5 + 加 6 - 减 6 说明 : (1) 指数运算指数运算用来计算求方和方根, 其运算符为 ^, 例如 :3^2 表示为 3 的平方 当指数是一个表达式时, 必须加上括号, 例如 :X 的 Y+Z 次方, 必须写成 X^(Y+Z) (2) 浮点数除法与整数除法浮点数除法运算符 ( / ) 执行标准除法操作, 其结果为浮点数 例如 :5/4 的值为 1.25 整数除法运算符 ( \ ) 执行整除运算, 运算结果为整型数 整除的操作数一般是整型值, 当操作数带有小数时, 首先被四舍五入为整型数或长整型数, 然后进行整除运算, 其运行结果只截取整数部分, 小数部分不做四舍五入处理 例如 :8\3 的结果为 2,24.6\2.8 的结果为 8 (3) 取模运算取模运算符 Mod 用来求余数, 其结果为第一操作数除以第二个操作数所得的余数, 当操作数带有小数时, 首先被四舍五入为整型数, 然后求余数 例如 :8 Mod 5 的结果为 3, 24.6 Mod 2.8 的结果为 1 2. 算术表达式 算术表达式又叫数值型表达式, 它由算术运算符 数值型常量和变量 函数和圆括号组成, 它的运算结果是一个数值 例如 : 3 3+5.6 5+sin(x) 2.3.2 字符串运算符与字符串表达式 字符串运算符有两个, 即 & 和 +, 其功能都是将两个字符串连接起来 但由于 + 运算符还有做加法的含义, 容易造成混乱, 所以做字符串连接运算时最好还是使用 & 运算符 例如 : 27

28 Visual Basic 程序设计 A1="BCDE" A2="FGHI" A3=A1+A2 'A3 的值为 "BCDEFGHI" 或 A3=A1&A2 'A3 的值也为 "BCDEFGHI" 字符串表达式由字符串变量 常量 函数和运算符组成 2.3.3 关系运算符与关系表达式 1. 关系运算符 关系运算符也称为比较运算符, 用来对两个表达式的值进行比较, 比较的结果是一个逻辑值, 即真 (True) 或假 (False) Visual Basic 把任何非 0 的值都看成是 真, 但一般以 -1 表示,0 则表示假, 关系运算符既可以进行数值比较也可以进行字符串的比较 Visual Basic 提供了 6 个关系运算符, 如表 2-2 所示 表 2-2 Visual Basic 的关系运算符 关系运算符含义关系运算符含义 > 大于 < 小于 >= 大于等于 <= 小于等于 = 等于 <> 不等于 2. 关系表达式 关系表达式是由关系运算符将两个数值表达式或两个字符串表达式连接起来的式子 关系表达式的值是一个布尔类型的值, 只有 True 或 False 两个取值 下面是合法的关系表达式 5=3+2 表达式的值为真 5<2 表达式的值为假 2.3.4 逻辑运算符与逻辑表达式 1. 逻辑运算符 逻辑运算符用于对两个表达式进行逻辑运算, 结果是逻辑值 True 或 False Visual Basic 提供的逻辑运算符有 6 种, 如表 2-3 所示 表 2-3 Visual Basic 的逻辑运算符 逻辑运算符 含 义 优先级 逻辑运算符 含 义 优先级 Not 逻辑非 1 Xor 逻辑异或 4 And 逻辑与 2 Eqv 逻辑等于 5 Or 逻辑或 3 Imp 逻辑蕴含 6 28

第 2 章 Visual Basic 程序设计基础 29 如果用 A 和 B 分别代表任意两个操作数, 而用 T 代表逻辑真, 用 F 代表逻辑假, 则各 种逻辑运算符的运算结果如表 2-4 所示 表 2-4 各种逻辑运算符的运算结果 操作数 A F F T T 操作数 B F T F T Not A T T F F A And B F F F T A Or B F T T T A Xor B F T T F A Eqv B T F F T A Imp B T T F T 2. 逻辑表达式 用 逻辑运算符 连接两个或多个逻辑量组成的式子称为逻辑表达式, 该表达式的返 回值只有两种可能, 即真 (True) 和假 (False) 例如, 下面都是合法的逻辑表达式 : Not(2>8) (3>8)And(7<3= 其结果为 True 其结果为 False 2.3.5 表达式的运算顺序 前面提到的所有类型以运算符都有运算优先级的问题, 在一个表达式中可以包含不同类型的运算符和函数, 每一种运算都有执行的先后顺序, 当不同类型的运算符出现在同一个表达式中时, 计算机按一定的顺序对表达式求值, 其一般顺序如下 (1) 首先进行函数运算, 其优先级最高 (2) 其次进行算术运算, 其次序按算术运算符的优先级由高到低依次为 取负 *, \ Mod +,- (3) 最后进行逻辑运算, 其次序按逻辑运算符的优先级由高到低依次为 Not And Or Xor Eqv Imp 需要注意两点 (1) 在同一个表达式中所有同一级运算都按从左到右的顺序进行 (2) 括号可以改变运算的优先顺序, 括号内的运算必须先执行 例如, 下列表达式中运算的优先顺序为 : 7/sin(z*x)>3 or(x*3) (-5)+8<600 5 2 1 7 9 1 4 3 6 8 29

30 Visual Basic 程序设计 2.4 小结 不同类型的数据有不同的操作方式和不同的取值范围 Visual Basic 提供了系统定义的基本数据类型, 也允许用户根据应用的需要定义自己的数据类型 Visual Basic 基本数据类型主要有数值型 字符串型 逻辑型 日期型 可变类型及对象型等 常量是指在程序执行期间它的值不会发生变化的一些数据, 在 Visual Basic 中常量分为文字常量和符号常量两种 变量是指在程序运行过程中, 其值可以改变的量 一个变量应该有一个名字, 称为变量名 变量在内存中占据一定的存储单元, 在该存储单元中存放变量的值称为变量值 运算符表示程序设计语言中对数据的最基本操作 被运算的对象称为运算量或操作数 表达式是程序设计语言中的基本语法单位, 它表达一种求值规则, 通常由常量 变量 函数 运算符及括号组成 Visual Basic 提供了丰富的运算符和表达式 这些运算符和表达式包括算术运算符和算术表达式 字符串运算符和字符串表达式 关系运算符和关系表达式 逻辑运算符和逻辑表达式等 Visual Basic 为用户预定义了一批内部函数, 它可分为数学函数 字符串函数 日期时间函数和随机函数等 2.5 习题 一 选择题 1. 下列可作为 Visual Basic 变量名的是 ( ) A) VB123 B) 8P8 C) DIM D) X\Y 2. 下列变量中,( ) 是整型 A) MY% B) MY# C) MY$ D) MY! 3. 下列 ( ) 数据类型的变量不能存放负值 A) long, Single B) Byte,Single C) Integer, Double D) Date, long 4. 下列符号常量的声明中 ( ) 是不合法的 A) Const PI AS integer=100 B) Const PI AS Double=3.1415 C) Const PI AS Single=Log(2) D) Const X = "623" 5. 设 a=3,b=10, 则下列表达式的值为真的是 ( ) A) A>=B AND b>10 B) (a>b) OR (b>0) C) (a<0) EQV (b>0) D) (-3+5>a) AND (b>0) 6. 设 a=2,b=3,c=4,d=5, 则表达式 NOT a<=c OR 4*c=b^2 AND b< >a+c 的值是 ( ) A) -1 B) 1 C) True D) False 30

第 2 章 Visual Basic 程序设计基础 31 7. 可以同时删除字符串两边空白字符的函数是 ( ) A) Trim B) Ltrim C) Rtrim D) Space 8. 函数 Int(Rnd*99+1) 产生随机整数的范围是 ( ) A) [1,99] B) [1,99] C) [1,100] D) [1,100] 二 填空题 1. 表达式 (8-(7*9-13)\5/2)^2) 的值是 2. 在 Visual Basic 中, 字符串常量要用 号括起来, 日期型常量要用 括 起来 3. 执行下列语句后, 输出的结果是 和 as="abcdefghi" Print Ucase(as) Print Mid (as, 2.4) 4. 表达式 Ucase(Mid "abcd", 2, 3 ) + "123" 的值是 31

第 3 章 Visual Basic 程序控制结构 教学提示 : 一般的计算机程序总是由若干条语句组成的 从执行方式上看, 从第一条语句到最后一条语句完全按顺序执行, 是简单的顺序结构 ; 若在程序执行过程中, 根据用户的输入或中间结果有选择地执行若干不同的任务则为选择结构 ; 如果在程序的某处, 需要根据某项条件重复地执行某项任务若干次, 直到满足或不满足某个条件为止, 这就构成了循环结构 顺序 选择和循环结构是程序流程控制的 3 个基本结构 本章主要讨论 Visual Basic 中组成程序流程控制的结构和相关语句 教学要求 : 掌握顺序结构 选择结构和循环结构的相关控制语句的语法格式和使用方法, 具有使用这 3 种基本结构进行程序设计的能力 3.1 顺序结构 1966 年,Bohra 和 Jacopin 提出了结构化算法的 3 种基本结构 : 顺序结构 选择结构和循环结构 目前已经得到证明, 无论多么复杂的程序, 都是由上述 3 种基本结构中的一种或多种的组合构成的 顺序结构是按照程序段书写的顺序执行的语句结构 例如, 有如图 3.1 所示的语句, 则要先执行语句 A, 然后才执行语句 B, 两者是顺序执行的关系 语句 A 语句 B 图 3.1 顺序结构顺序结构是一种最基本的结构, 表明事情发生的先后顺序 比如在日常生活中, 总是先给水壶加水, 然后才能烧水 在编写程序时, 这种先后次序尤其重要 3.1.1 赋值语句赋值语句是程序设计中最常用的语句之一, 在程序中, 需要大量的变量存储程序中用到的数据, 所以对变量进行赋值的赋值语句也会在程序中大量出现 赋值语句将表达式的值赋给变量或对象的属性 赋值语句包括两种 一种是用来对一般的变量进行赋值的赋值语句, 此语句用关键字

第 3 章 Visual Basic 程序控制结构 33 Let 描述 ; 另一种是用来对对象型的变量进行赋值的赋值语句, 用关键字 Set 描述 赋值语句的语法格式为 : [Let] 变量或属性 = 表达式 Set 变量名 = 表达式 第一条语句中的 Let 是可选项, 它在 Basic 语言的早期版本的赋值语句中被要求使用, 在 Visual Basic 程序的赋值语句中通常被省略 表达式可以是任何数值型或字符串变量 常量或表达式 第二条语句的 Set 关键字是必需的 在使用赋值语句时, 需要注意数据类型的匹配问题 若将变量声明为数值型的, 如整型 浮点型等, 那么就不能将字符串表达式的值赋给该变量 同样, 若将变量声明为字符串型的, 那么就不能将数值型的值赋给该变量 比如, 下面的语句就会产生错误 : Dim a As Integer a="student" 当表达式的类型与变量的类型不一致时, 强制转换成左边的精度 Dim a as Integer, b as Double a = 10 / 3 'a 中的结果为 3 b = 10 \ 3 'b 中的结果为 3.0 在进行变量赋值时, 布尔型和日期型都被看作是数值型的 定义为 Variant 类型的变量不存在类型匹配的问题 例如, 以下语句可以正常执行 : Dim a a="hello!" a=100 3.1.2 数据输入和输出 1. 用输入框 (InputBox) 输入数据 InputBox 函数用于打开一个对话框, 等待用户输入或选择一个按钮 若用户单击 确定 按钮或按下回车键, 则返回用户在文本框中输入的内容 具体格式为 : InputBox ( 提示 [, 标题 ][, 默认 ][,x 坐标位置 ][,y 坐标位置 ]) 其中 : 提示 为一个字符串表达式, 作为对话框中的提示信息, 不能省略 若要多行显示, 则必须在每行行末加入回车 (chr(10)) 和换行 (chr(13)) 控制符 标题 为一个字符串表达式, 在对话框的标题区显示 若省略, 则将应用程序名放入标题栏 默认值 为一个字符串表达式, 提供给用户的默认输入内容 x 坐标位置 和 y 坐标位置 为整型表达式, 它们确定对话框左上角在屏幕上的位置, 屏幕左上角为原点, 单位为缇 (Twip) 下面举例说明 InputBox 函数的使用 例如, 以下语句让用户输入学生的成绩 : Str1=InputBox(" 请输入学生人数 :"," 学生成绩管理 ","60") 33

34 Visual Basic 程序设计 此语句产生的对话框的提示信息为 请输入学生人数 :, 标题栏为 学生成绩管理, 文本框内的默认值为 60 执行此语句显示的对话框如图 3.2 所示 图 3.2 InputBox 函数示例当用户输入信息后, 若单击 确定 按钮, 则输入信息将被赋给变量 Str1, 若用户单击 取消 按钮, 那么 Str1 的值为 无论用户输入什么类型的信息, 该函数只能将它作为字符串返回, 因此, 如果用户想要取得其他类型的信息, 要进行数据类型转换 2. 用 Print 方法输出数据 Print 方法的语法格式为 : Object.Print [outputlist] 其中 : Object 的取值可以为某个窗体的名字或 Debug 若为窗体的名字则在窗体上输出, 否则在立即窗口中输出 Outputlist 参数表示要打印的表达式或表达式列表, 若省略则打印一空白行 它具有以下语法格式 : { Spc(n) Tab(n) } Expession charpos 其 Outputlist 各部分的说明如表 3-1 所示 表 3-1 Print 方法的参数说明 参数说明 Spc(n) Tab(n) Expession charpos 可选项 在输出中插入空白字符,n 为要插入的空白字符个数可选项 将插入点定位在绝对列号上,n 表示列号 若无参数则将插入点定位在下一个打印区的起始位置可选项 要输出的数值或字符串表达式可选项 指定下一个字符的插入点, 使用分号 (;) 将插入点定位在上一个被显示的字符之后 若省略, 则在下一行打印下一字符 下面是一个使用 Print 语句的例子 Private Sub Form_Click() Print "12345678901234567890" Print Tab(5); "5"; Tab(10-2); "8", " ' 注意这里 10-2> 当前位置 5, 故同行显示 " Print Tab(5); "5"; Tab(10-6); "4"; Tab(20-15); "5"; " ' 注意这里 10-6< 当前位置 5, 故换行显示 ;20-15> 当前位置 4, 故同行显示 " 34

第 3 章 Visual Basic 程序控制结构 35 程序执行结果如图 3.3 所示 3. 用消息框 (MsgBox) 输出数据 图 3.3 Print 语句示例 Msgbox 函数用于在对话框中显示消息, 并等待用户做出判断 它的语法格式为 : 变量 = MsgBox( 提示 [, 按钮 ][, 标题 ]) 其中 : 提示 参数是向用户显示的信息 按钮 参数为一个整型表达式, 决定对话框中的按钮的数目和类型, 以及对话框上的图标类型 按钮一般取值为 是 否 确定 取消 等 标题 参数给出对话框的标题 按钮 和 标题 两个参数是可选的 Msgbox 函数还有一些其他参数, 但它们不常用, 在此不做介绍 例如, 在用户关闭窗体之前, 要询问用户的意见, 显示询问对话框, 可使用下面的语句 : Private Sub Form_QueryUnload(Cancel As Integer,UnloadMode As Integer) 'vbcance vbquestion 和 vbokcancel 为系统常量 Dim result as VbMsgBoxResult 'VbMsgBoxResult 为一数据类型 result =MsgBox(" 确定要退出?",vbQuestion+vbOKCancel," 确认退出 ") 程序执行结果如图 3.4 所示 图 3.4 Msgbox 函数示例 3.1.3 注释 暂停与程序结束语句 1. 注释语句注释是在程序中加入一些评注, 往往起着提供编写程序的日期 编写人 解释程序代码的作用, 其根本目的是为程序的阅读和修改提供信息, 提高程序的可读性和可维护性 注释的方法有两种 : 使用 Rem 关键字或撇号 (') 二者的用法基本相同, 在一行中撇号 (') 或 Rem 关键字后面的内容为注释内容 它们之间的区别在于使用 Rem 关键字时, 必须使用冒号 (:) 将其与前面的语句隔开 例如 : 35

36 Visual Basic 程序设计 Dim sum As Integer sum = 1 : Rem 给 Sum 赋初值 Print sum 可以用一个撇号 (') 来代替 Rem 关键字 若使用撇号, 则所要注释的语句行不必加冒号 上例中的语句可以写为 sum = 1 ' 给 Sum 赋初值 2. 暂停 (Stop) 语句 Stop 语句用来暂停程序的执行, 是一种以编程方式设置断点的替代方法 当调试器遇到 Stop 语句时, 它将中断程序的执行 ( 进入中断模式 ) 不同于 End 语句,Stop 语句不重置变量或返回设计模式 它可以从 调试 菜单中选择 继续 命令继续运行应用程序 其一般格式如下 : Stop 3. 结束 (End) 语句 End 语句用于结束一段程序的运行, 可以放在任何事件过程中, 其一般格式如下 : End 3.1.4 应用举例 顺序结构是最简单的一种结构, 不需要任何控制语句, 只需按照一定的次序编写即可 下面就通过一个例子说明顺序结构程序的设计方法 例 3.1 由用户输入学生的数学 语文和英语成绩, 然后求出总成绩和平均成绩, 并显示在窗体上 在编写程序之前, 首先要分析有多少元素要输入, 需要定义多少个变量, 然后才开始程序设计 Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Dim avg As Single, total As Single a = InputBox(" 请输入数学成绩 :") b = InputBox(" 请输入语文成绩 :") c = InputBox(" 请输入英语成绩 :") avg = (a + b + c) / 3 total = a + b + c Print " 总成绩为 :"; total Print " 平均成绩为 :"; avg 3.2 选择结构 在日常生活中, 经常会按照一定的条件做出相应的决定, 在程序中同样如此 选择结 36

第 3 章 Visual Basic 程序控制结构 37 构是结构化程序设计的基本结构之一, 它是根据一定的条件来决定执行何种操作 一般来说, 选择是二支的, 即条件非真即假, 在执行选择结构时按照指定的条件进行判断, 然后选择其中一组语句执行 比如, 判断是否要上体育课, 如果下雨则不上, 否则照常上课 有些情况下, 可供选择的结果可能多于两种, 此时程序就有多种可能流向, 这种结构称为多分支选择结构 比如根据用户输入的百分制成绩给出其等级评价, 如果是 60 分以下则为不及格 ; 若是 60~69 分, 则为及格 ; 若是 70~79 分, 则为中等 3.2.1 单行结构条件语句 1. If Then 语句 If Then 语句的语法格式如下 : If < 条件表达式 > Then < 语句 > 其中, 条件表达式通常为比较运算表达式, 但它也可以是任何计算数值的表达式 如条件表达式是变量, 则变量的值必须是 True( 数值 0) 或 False( 非零值 ), 例如 : If Flag=True Then 也可以省略 =True, 让 Visual Basic 自动检查变量 Visible 的值是 True 还是 False, 例如 : If Flag Then 同理, 语句 If Flag =False Then 也可以写成 If NOT Flag Then If Then 语句的执行过程如图 3.5 所示 条件表达式 真 假 语句 图 3.5 If Then 语句的执行过程 需要注意的是, 在 If Then 结构中,Then 后面的语句必须与 If 和 Then 写在同一行上 ; 若要使用该结构执行多条语句, 这些语句必须书写在同一行上, 并且用冒号分隔 下面举例说明 If Then 语句的使用方法 Sub Form_Click() Dim Temp As Single Temp = Val(InputBox(" 输入当前气温?")) ' 如果气温低于 5 度, 弹出消息对话框, 提示气温过低 If Temp <5 Then MsgBox " 气温过低 " 37

38 Visual Basic 程序设计 3.2.2 块结构条件语句 Visual Basic 提供的块结构条件语句主要有以下两种 : If Then End If If Then Else 下面就来具体介绍它们的使用方法 1. If Then End If 语句 If Then End If 语句的语法格式如下 : If < 条件表达式 > Then < 程序段 > End If 该语句的执行过程是若条件表达式为 True( 非零 ), 则执行 Then 与 End If 之间的程序段, 否则执行 End If 后的下一条语句 其执行过程如图 3.6 所示 条件表达式 真 假 程序段 图 3.6 If Then End If 语句的执行过程 例如, 已知两个数 a 和 b, 找出其中较大的一个, 使得 a 大于 b 具体实现如下 : If a<b Then t=a : a=b : b=t End If 例 3.2 火车站行李费的收费标准是 50kg 以内 ( 包括 50kg) 以 50kg 计, 超过部分 0.50 元 /kg 编写程序, 要求根据输入的任意重量, 计算出应付的行李费 当重量在 50kg 以内时, 收费是固定的, 如果超出 50kg, 则超出部分要根据重量收费 具体实现如下 : Private Sub Form_Click() Dim weight as single,pay as single weight= Val(InputBox(" 请输入行李的重量 :")) pay = 50* 0.2 If weight > 50 Then pay =(w - 50)* 0.5 + pay 38

End If Print " 行李费一共为 ";pay 2. If Then Else 语句 第 3 章 Visual Basic 程序控制结构 39 If Then Else 语句使得用户的程序具有判断的能力, 其语法格式如下 : If < 条件表达式 > Then < 程序段 1> Else < 程序段 2> End If 该语句首先判断条件, 若条件表达式为 True, 则执行程序段 1; 否则, 则执行程序段 2 其执行过程如图 3.7 所示 条件表达式 真 假 程序段 1 程序段 2 图 3.7 If Then Else 语句的执行过程 下面举例说明该语句的用法 例 3.3 输入三角形 3 条边的长度, 然后判断是否能够组成一个三角形, 若可以则计算三角形的面积, 并显示在窗体上 ; 否则提示输入的长度不合格请重新输入 在窗体的单击事件中添加如下代码 : Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Dim s As Single a = Val(InputBox(" 请输入三角形第一条边的长度 :", " 求三角形的面积 ")) b = Val(InputBox(" 请输入三角形第二条边的长度 :", " 求三角形的面积 ")) c = Val(InputBox(" 请输入三角形第三条边的长度 :", " 求三角形的面积 ")) If a + b < c Or b + c < a Or a + c < b Then MsgBox " 输入的边长不能组成三角形!" Else s = Sqr((a + b) ^ 2 + (b + c) ^ 2 + (a + c) ^ 2) Print " 三角形的面积为 :", s End If 39

40 Visual Basic 程序设计 3.2.3 多分支选择语句 Visual Basic 提供的多分支选择语句有如下两种 If Then ElseIf Select Case 下面就来具体介绍它们的使用方法 1. If Then ElseIf 语句 If Then ElseIf 语句的一般格式如下 : If < 条件表达式 1> Then < 程序段 1> ElseIf < 条件表达式 2> Then < 程序段 2> ElseIf < 条件表达式 n> Then < 程序段 n> [Else 默认程序段 ] End If 该语句首先判断条件表达式 1, 若为 True, 则执行程序段 1; 否则检查条件表达式 2 是否为 True, 如为 True, 则执行程序段 2; 若条件表达式 2 为 False, 则判断条件表达式 3 是否为 True, 如为 True, 则执行程序段 3, 依次类推, 直到条件表达式 n, 若条件表达式 n 也为 False, 这时若存在 [Else 默认程序段 ], 则执行默认程序段, 否则跳到 End If 的下一条语句执行 (n>=2) 其执行过程如图 3.8 所示 表达式 1 假 表达式 1 假 真 真 表达式 n 假 真 程序段 1 程序段 2 程序段 n 默认程序段 图 3.8 If Then ElseIf 语句的执行过程 40

第 3 章 Visual Basic 程序控制结构 41 要注意的是, 不管有几个 ElseIf 子句, 程序执行完一个语句块后, 其余 ElseIf 子句不再执行 当多个 ElseIf 子句中的条件都成立时, 只执行第一个条件成立的子句中的语句块 因此, 在使用 ElseIf 语句时, 要特别注意各判断条件的前后次序 例 3.4 利用 If Then Else 语句编写求下列函数的值的程序 1 x x < 1 y= (1 x)(2 x) 1 x 2 (2 x) x > 2 根据题意, 在窗体上添加一个命令按钮和标签控件 具体实现如下 : Private Sub Form_Click() Dim x As Double, y As Double x = Val(InputBox(" 请输入 x 的值 :") If (x < 1) Then y = 1 - x ElseIf (x >= 1 And x <= 2) Then y = (1 - x) * (2 - x) Else y = -(2 - x) End If Print "y=";y 2. Select Case 语句 多分支选择结构虽然可以用 If Then Else 来实现, 但是判断的层次比较多时, 会导致程序可读性差, 不易维护 这种情况下, 可以改用分情况选择语句 Select Case 语句 Select Case 语句的语法格式如下 : Select Case < 测试表达式 > Case 表达式列表 1 程序段 1 [Case 表达式列表 2 程序段 2] [Case Else 默认程序段 ] End Select 其中 : 测试表达式 可以是一个字符串或数学表达式 表达式列表 内容为常量, 必须与测试表达式的类型相同, 可以是以下形式之一 (1) 一组枚举表达式, 用逗号分隔, 例如 : Case 2, 4, 6, 8 41

42 Visual Basic 程序设计 (2) 表达式 1 To 表达式 2, 较小的数值必须显示在 To 之前, 例如 : Case -7 To 7 Case "a" To "abc" (3) Is < 关系运算符 > < 常量 >, 例如 : Case Is <5, Is>50 (4) 以上表达式的组合, 例如 : Case 2, 4, Is<-5 Select Case 语句首先处理一个测试表达式, 并只计算一次 然后将表达式的值与结构中的每个 Case 的值进行比较, 若相等, 就执行与该 Case 相关联的程序段, 若都不相等则执行 Case Else 后的默认程序段或执行 Select Case 语句的下一条语句 ( 省略 Case Else 情况下 ) Case Else 虽然是可选的, 但是最好使用, 以防遗漏测试数据 下面给出了一个使用 Select Case 语句的实例, 读者可根据它加深对 Select Case 语句的使用的理解 Private Sub Form_Click() Dim Age As Integer Age = Val(InputBox$(" 请输入年龄 ")) ' 输入数值 Select Case Age ' 根据不同的年龄范围输出不同的内容 Case 1 To 12 MsgBox " 您是一个儿童 " Case 13 To 19 MsgBox " 您是一个少年 " Case Is > 19,Is<150 MsgBox " 您是一个成人 " Case Else MsgBox " 您的年龄超出了范围!!" End Select 3.2.4 应用举例 例 3.5 设计一个登录程序, 当用户输入的口令正确时, 显示 已成功进入本系统, 否则, 显示 口令错! 请重新输入 如果连续 3 次输入了口令仍不正确, 则提示 您无权使用本系统 分析 : 假设使用一个文本框 Text1 来接收口令, 运行时用户输入完口令并按回车键后系统才对输入的口令进行检查, 因此本例使用了 Text1 的 KeyPress 事件 当焦点位于文本框内, 按下键盘上任一键后会产生 KeyPress 事件, 同时返回按键代码 KeyAscii 回车键的代码为 13, 所以程序首先判断用户是否在 Text1 中按下了回车键, 若 KeyAscii=13, 表示口令输入完成 42

第 3 章 Visual Basic 程序控制结构 43 说明 : 本程序中使用了一个窗体级变量 I 来统计输入错误口令的次数 变量 I 只在第一次判断口令时被初始化为 0, 以后每次执行该过程时, 若口令错误, 则 I 的值累加 1, 因此, 当 I 的值为 3 时, 表示用户已经连续 3 次输入了错误口令 程序代码如下 : Private Sub Text1_KeyPress(KeyAscii As Integer) Static I As Integer If KeyAscii = 13 Then If Text1.Text = "abc" Then Label2.Caption = " 您已成功进入本系统 " ElseIf I < 3 Then I = I + 1 Label2.Caption = " 口令错! 请重新输入 " Text1.SetFocus Else MsgBox " 您无权使用本系统 " End If End If 3.3 循环结构 循环是重复执行一组指令, 重复次数由一定的条件决定, 结构中反复执行的部分称为循环体 如果是无条件循环, 循环体代码将无限地执行下去 ( 即死循环 ), 这种情况当然应该避免 循环结构实现的方法基本上有两种, 一种是指定一个条件表达式, 当表达式的值为 True( 或者是 False) 时执行循环体, 否则就退出循环 ; 另一种是指定循环次数 3.3.1 For Next 循环结构 当可以预知程序中循环的次数时, 可用 For Next 语句 For Next 循环中有一个计数器变量, 决定循环的次数 For Next 语句的语法格式如下 : For 循环控制变量 = 初值 To 终值 [Step 步长 ] [ 程序段 ] [If 条件式 Then Exit For] ' 在特定条件下退出循环 [ 程序段 ] Next [ 循环控制变量 ] 其中 : 循环控制变量 初值 终值 步长 是数值型变量 步长 若为正数, 则终值应该大于初值 ; 若为负数, 则终值应该小于初值 循环开始时, 循环控制变量的值为初值, 每执行一次循环体, 它的值要加一次步长的值, 然后判断其值是否小于等于 ( 或大于等于, 在步长为负值的情况下 ) 终值, 如果判断结果为 真, 则继续执行循环体, 否则退出循环 For Next 语句的执行过程如图 3.9 所示 43