




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第1 1章章 Visual BasicVisual Basic概述概述Visual BasicVisual Basic概述概述 Visual Basic是1991年美国微软公司推出的可视化Basic语言.。它是在原来的Basic语言基础上发展而成的。Visual Basic中无需编写大量代码来编辑界面元素,只需要采用搭积木构建程序方式来编写程序,是现在开发人数最多的最通用的编程工具之一。本章内容包括:l Visual Basic特点l Visual Basic安装l Visual Basic集成开发环境1.1 Visual Basic1.1 Visual Basic简介简介 Visual B
2、asic是一种可视化的、面向对象和采用事件驱动机制的结构化高级程序设计语言。它可用于开发Windows环境下的各类应用程序。它具有简单易学、效率高、功能强大的特点,可以与Windows专业开发工具SDK相媲美。 在Visual Basic环境下,开发人员利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数、动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。1.1.1 1.1.1 版本区分版本区分 Visual Basic有学习版、专业版
3、和企业版三种版本,以满足不同层次的开发需要。不同版本编写的应用程序大多数可以在三种版本中通用。 学习版为Visual Basic的基本版本,适用于初期学习者及使用Visual Basic开发一般应用程序的开发人员。 专业版为专业开发人员提供了功能完备的软件开发工具。 企业版为专业编程人员开发程序提供了功能强大的组内分布式应用程序。1.1.2 Visual Basic1.1.2 Visual Basic的特点的特点 1可视化编程 2面向对象的程序设计 3事件驱动机制 4强大开放的特点1.1.3 1.1.3 集成开发环境集成开发环境1.1.3 1.1.3 集成开发环境集成开发环境1.1.4 1.1
4、.4 面向对象功能面向对象功能 从Visual Basic 4开始,用户可以通过类模型方式创建和使用对象。对象可以被当作一个数据和单元的组合,如窗体、数据库等。Visual Basic对象可以封装属性、方法和事件,创建时可以重新定义其封装属性、方法和事件。 Visual Basic对象可以极大简化重复代码的编写,使开发人员精力集中在程序内容而不是数量庞大的代码上。Visual Basic后续版本增强了该功能,并添加了许多新的面向对象的编程功能。1.1.5 1.1.5 数据访问数据访问 在现代信息技术高度发达的今天,数据信息已经成为最重要资源之一。Visual Basic为开发人员提供了强大的数
5、据访问技术,能够更快捷、更迅速、更高效地存储和读取数据信息。Visual Basic提供了更为强大功能来支持大中型数据库,如Oracle、SQL Server、Sybase等。1.1.6 Internet1.1.6 Internet功能功能 互联网(Internet)在现在通讯日益发达的信息世界占据了重要的地位。Visual Basic提供了许多功能为开发具有互联网功能的应用程序提供支持和帮助。Visual Basic在开发过程中可以创建服务器端的动态HTML(DHTML),使用Internet Transfer控件检索和传输文件,利用WebBrowser控件浏览网页信息,采用MAPI收发电子
6、邮件等一系列激动人心的功能。1.2 Visual Basic 61.2 Visual Basic 6安装安装 本节将介绍如何安装Visual Basic 6开发环境。将Visual Basic 6的安装光盘放入计算机的光驱内,一般情况下计算机可以自动运行其中的安装程序。如果计算机没有自动运行安装程序,双击光盘盘符下的Setup.exe文件,将显示Visual Basic安装程序界面,按照安装程序的提示进行相应的操作。1.3 1.3 开始使用开始使用Visual Basic 6Visual Basic 6 Visual Basic开发程序使用图形化界面与用户交流。本节介绍如何使用Visual B
7、asic集成开发环境开发程序界面、设计窗体并通过实例演示如何使用Visual Basic进行应用程序开发。1.3.1 1.3.1 开发界面开发界面 1标题栏 2菜单栏 3工具栏 4工具箱 5窗体设计窗口 6工程资源管理器 7“属性”面板 8“布局”面板1.3.2 1.3.2 窗体使用窗体使用 应用程序界面是直接面对用户的窗体及其他控件。一个优秀的应用程序应该窗体界面简洁、漂亮,控件布局科学、合理,用户使用舒适、方便。本小节重点介绍窗体的使用技巧。窗体布局调整可以在“格式”菜单中调整,也可以在“窗体编辑器”工具栏中进行编辑。1.3.3 1.3.3 第一个程序第一个程序HelloHello,Wor
8、ldWorld 本节将创建第一个程序Hello-World。创建一个应用程序之前,必须明确以下几个重要步骤: (1)制定计划。 (2)创建界面。 (3)编写代码。 (4)测试和调试程序。 (5)生成可执行文件。 (6)打包文件。1.3.3 1.3.3 第一个程序第一个程序HelloHello,WorldWorld1.3.3 1.3.3 第一个程序第一个程序HelloHello,WorldWorld1.3.4 1.3.4 文件类型文件类型 1工程组和工程文件 2窗体文件 3程序模块文件 4类模块文件 5资源文件1.3.5 1.3.5 编译可执行文件编译可执行文件 应用程序创建后,必须生成可执行文
9、件才能发布给最终用户。Visual Basic中生成可执行文件操作非常简单。选择“文件”|“生成xxx.exe”命令(xxx为工程名称),弹出“生成工程”对话框 .1.4 1.4 常见问题及解答常见问题及解答 1将Visual Basic程序安装光盘放入光驱内,为何不自动安装Visual Basic? 2Visual Basic程序安装后,如何在系统中运行Visual Basic程序?1.5 1.5 小结小结 本章简单介绍了Visual Basic基本知识、安装步骤、集成开发环境。本章重点和难点是如何安装Visual Basic和使用Visual Basic开发应用程序界面。读者需要重点练习使
10、用Visual Basic集成开发环境。下一章将介绍数据类型、变量和常量。第第2 2章章 数据类型、变量和常量数据类型、变量和常量 数据是用来存储程序需要调用的文字、数值、对象、图像等,包括多种类型。变量是程序用来临时存储数据。常量是以字符串形式用来代替固定数值。本章内容包括:l 数据类型l 变量l 常量2.1 2.1 数据类型数据类型 在应用程序中Visual Basic将以更高效率来处理已定义数据类型。Visual Basic包含七种数据类型,分别为数值型(Numeric)、字符型(String)、字节型(Byte)、布尔型(Boolean)、日期型(Date)、对象型(Object)、变
11、体型(Variant)等。本节将详细介绍七种数据类型的定义和特点。2.1.1 2.1.1 数值型数值型 NumericNumeric 1整数 整型:整型取值范围为-3267832677,以2个字节(16位)存储,用二进制码表示和参加运算。 长整型:长整型取值范围为-21474836482147483647,以4个字节(32位)存储。 2浮点型 (1)单精度型 (2)双精度型 (3)货币型 2.1.2 2.1.2 字节型字节型ByteByte 字节型(Byte)专为存储二进制数值类型,以1个字节来存储。如果变量声明包含二进制数,则声明为Byte数据类型的数组。取值范围为:0255。除了减法外,所
12、有对整数进行处理的运算符均可处理该类型。2.1.3 2.1.3 字符型字符型StringString 字符型(String)为最通用的数据类型之一,用来储存文本信息。每个字符对应1个字节,由ASCII字符序列组成,包括标准的ASCII字符和扩展ASCII字符及汉字等。字符型为包含在双引号内的若干个字符。 【示例2-3】显示不同类型字符串。“”表明长度为零的字符串为空字符串;“Visual Basic”表明为字母字符串,赋予变量为“Visual Basic”;“Hello,World 2008。”表明为混合字符串。 固定字符串最大取值范围为65535字节;变长字符串最大取值范围为0231。 2.
13、1.4 2.1.4 布尔型布尔型BooleanBoolean 布尔型(Boolean)为逻辑型,以2个字节来存储。它包含True或False、Yes或No。在程序中一般用于判断语句,或者声明该数值为两种状态,如“开”或“关”。2.1.5 2.1.5 日期型日期型DateDate 日期型(Date)为浮点数值形式保存,以8个字节存储。默认日期范围为1/1/1001/1/9999。Windows操作系统下日期范围为1/1/198012/31/2099;时间范围为0:00:0023:59:59。日期型数据用来表示日期类型,格式为:mm-dd-YYYY或者mm/dd/YYYY。在Visual Basi
14、c开发应用程序中可以定制日期模式:YYYY-mm-dd。(Y或y为年,m为月,d为日)。2.1.6 2.1.6 对象型对象型ObjectObject 对象型(Object)为保存引用应用程序中的对象,以4个字节(32位)来存储。它可以用来引用图形图像、Word文件、Excel文件等。如果在运行应用程序之前,Visual Basic定义该特定类型对象的属性和方法,应用程序在运行时速度会更快。2.1.7 2.1.7 变体型变体型VariantVariant 变体型(Variant)能保存所有类型数据,可以随时转换该数据为其他类型。变体型可以在程序中直接声明定义,用户不必过多关注Variant变量中
15、的类型。Visual Basic可以在应用程序运行时自动进行必要的转换。2.1.8 2.1.8 数据类型转换数据类型转换程序开发过程中,需要将不同数据类型进行必要的转换。Visual Basic提供了各种类型转换相关的函数,可以在程序中直接调用。如果想把某种数据类型转换为另外一种类型,必须保证该类型数值处于待转换数值有效范围内。转换函数转换类型中文名称Cbool()Boolean布尔型Cbyte()Byte二进制型Ccur()Currency货币型Cdate()Date日期型Cdbl()Double双精度型Cint()Integer整数型Clng()Long长整数型Csng()Single单精
16、度型Cstr()String字符型Cvar()Variant变体型2.2 2.2 变量简介变量简介 变量在程序执行过程中用以保存临时数据信息,包含在程序执行阶段修改的数据。变量都有变量名称,在其作用范围内作为惟一标识存在。2.2.1 2.2.1 变量作用域变量作用域声明变量可以使用Dim、Private、Public、Static作为关键字。以上关键字分别作用于不同的作用域。变量语句声明位置范围过程变量Dim或Static存在于过程,子过程或函数过程中声明段声明变量的过程、子过程或函数模块变量Private存在于窗体或代码模块声明段窗体或代码模块中过程全局变量PublicMain模块中声明段全
17、部应用程序2.2.2 2.2.2 变量命名变量命名 变量必须要命名后才能赋值。在过程内部声明的变量,在该过程执行时才存在。当运行过程结束时,该变量的值自动清除。变量命名必须符合以下规定:l 变量名必须以字母开头,不能以数字或下划线开始。l 变量不能包含嵌入的句号、空格或者其他停顿符号。l 变量长度不得超过255个字符。l 变量名不能是Visual Basic的保留字,如Name、For等。2.2.2 2.2.2 变量命名变量命名变量类型简化前缀标准化前缀整数(Integer)NInt长整型(Long)LLng单精度型(Single)FSng双精度型(Double)DDbl货币型(Currenc
18、y)CCur字符串型(String)SStr布尔型(Boolean)BBln对象型(Object)OObj变体型(Variant)VVar2.2.3 2.2.3 变量类型变量类型 变量类型包含2.1小节中所有的数据类型。除此之外,根据应用程序需要还可以创建用户自定义的类型。自定义类型声明使用Type语句。2.2.4 2.2.4 静态变量静态变量 程序运行时变量保存临时数据。一旦程序终止,变量将自动被Visual Basic删除。下一次程序运行时该变量将重新被初始化。但是,应用程序在运行时也有可能需要保留变量数据。Visual Basic可以通过声明静态变量来保存记忆变量数值。Static va
19、rName as type2.3 2.3 变量声明变量声明 Visual Basic中声明是事先将变量定义为保存数据内容。在变量使用之前,进行声明是一个重要的编程技巧。变量声明后可以在程序中更高效的使用变量。声明包括显式声明和隐式声明。本节将分别介绍如何显式声明、隐式声明和使用定长字符串。2.3.1 2.3.1 显式声明显式声明 显式声明要求在程序中使用变量前,强制声明该变量。如果不声明该变量,将出现错误提示。显式声明使用Option Explicit语句。选择“工具”|“选项”命令,弹出“选项”对话框。选择“编辑器”选项卡,复选“要求变量声明”选项。该复选框自动在新模块中自动插入以下语句。O
20、ption Explicit2.3.1 2.3.1 显式声明显式声明Dim varName As vartype , varName2 As vartype2 Private varName As vartype , varName2 As vartype2Public varName As vartype , varName2 As vartype2Static varName As vartype , varName2 As vartype22.3.2 2.3.2 隐式声明隐式声明编号变量类型显示字符1整数(Integer)%2长整型(Long)&3单精度型(Single)!4双精
21、度型(Double)#5货币型(Currency)6字符串型(String)$7字节型(Byte)无8布尔型(Boolean)无9日期型(Date)无10对象型(Object)无11变体型(Variant)无2.3.2 2.3.2 隐式声明隐式声明nNumber%=0 将nNumber尾部添加%表示为整数sString$=”Visual Basic” 将sString尾部添加$表示为整数vVar=62.3.3 2.3.3 定长字符串定长字符串 Visual Basic中也可以声明定义定长字符串,最长为216个字符。该字符串大小长度是固定不变的。如果该变量被赋予短于该长度的表达式,变量的剩余长度
22、将以空格填充。如果长于该长度,自动截取等于该长度的字符,其余部分将被截取。Dim varName as string * strlength2.4 2.4 常量简介常量简介 常量与变量区别在于运行过程中常量表示不变的数值或字符串。常量用以代替繁复难以记忆或输入的数值或字符。变量可以在程序中根据需要修改数据,常量在定义之后无法进行修改。常量的使用有助于改进代码的可读性和可维护性。2.4.1 2.4.1 标准常量标准常量 Visual Basic为应用程序开发提供了许多标准常量。例如,颜色定义常量、关键代码常量等可以在开发过程直接引用。例如,vbBlack在Visual Basic定义为黑色,vb
23、White为白色、vbBlue为蓝色。用户可以在程序开发中直接使用该常量。Form1.backcolor=vbBlack窗体背景颜色赋予黑色Form1.Forecolor=vbWhite窗体前景色赋予白色2.4.1 2.4.1 标准常量标准常量2.4.2 2.4.2 自定义常量自定义常量 虽然Visual Basic中为开发人员提供了大量标准常量,根据应用程序开发需要使用自定义常量。自定义常量使用Const语句进行定义,赋予常量名称和数值。Public|Private const varName as consttype=value2.5 2.5 本章实例本章实例 本章实例实现显式声明、隐式声
24、明变量、声明静态变量、声明常量。【实例2-1】将使用Visual Basic程序创建一个新工程,添加一个新窗体,在代码编辑窗口中输入代码要求强制显式声明变量,并在代码中赋予显式声明变量、隐式声明变量和自定义常量内容。2.6 2.6 常见问题及解答常见问题及解答 1既然变体型变量可以包含所有类型数值,是否可以将变量直接声明为变体型? 2数值型变量包含多种不同类型。声明何种类型将更高效率在程序中使用数值型变量? 3字符型变量中的数字是否可以进行数学运算?2.7 2.7 小结小结 本章介绍了Visual Basic中数据类型的定义、如何显示或隐式声明变量和常量、变量和常量的定义及适用范围。本章重点和
25、难点包括如何定义和使用各种数据类型的变量、常量。变量包括多种数据类型, Visual Basic中自定义常量数量庞大不易于记忆和开发使用。读者需要在开发过程中结合实例声明变量和常量。下一章将介绍程序设计基础。第第3 3章章 程序设计基础程序设计基础 程序设计基础为程序设计所必需的基础知识。这部分内容主要包括赋值语句、数学运算语句、代码编写、流程控制等。创建用户界面形成应用程序的外表和框架,还需要为应用程序添加代码。本章内容包括:l 赋值语句l 数学运算语句l 代码模块l 编写事件3.1 3.1 赋值语句赋值语句 赋值,顾名思义是将字符、数值等赋予变量。在程序开发过程中,创建一个变量后,必须通过
26、设置一个等号赋予变量数值。Let varName = Expression3.2 3.2 数学运算语句数学运算语句数学运算运算符号加法+减法-乘法*除法/整除求模运算Mod指数运算(TxtTax+100)*1.089/693.2.1 3.2.1 加法和减法加法和减法 1加法运算 Result = Expression1+ Expression2 2减法运算 Result = Number1 - Number2 3.2.2 3.2.2 乘法和除法乘法和除法 1乘法运算 Result = Number1*Number2 2除法运算 Result = Number1/Number2 Result =
27、 Number1Number2 Result = Number1 Mod Number23.2.3 指数运算指数运算 Visual Basic中指数运算符是符号“”,用来求一个数字的次方。Result = NumberExponent3.2.4 3.2.4 比较运算符比较运算符比较运算符用来比较两个操作数的大小。比较运算符运算结果是一个逻辑值True或False。运算符比较表达式=相等X=Y不相等XY小于X大于XY=小于等于X=大于等于X=Y3.2.5 3.2.5 逻辑运算符逻辑运算符逻辑运算又被称为布尔运算。逻辑运算符要求两个操作数都为逻辑值。逻辑中文说明表达式Not非“取反”运算。True
28、取反值为False,False取反为True。Not XAnd与当左右操作数都为True时,结果为True,否则为False。X and YOr或左右操作数只要一个为True,结果为True。只有两个操作数的值都为False时,运算结果为False。X or YXor异或左右操作数相等都为True或False,结果为False;否则为True。X Xor YEqv等价左右操作数相等都为True或False,结果为True;否则为False。X eqv YImp蕴含左操作数为True,右操作数为False,结果为False。其余三种为True。X imp Y3.2.6 3.2.6 运算顺序运算顺
29、序算术比较逻辑指数运算()相等(=)Not负数()不等()And乘法和除法(*、 /)小于()Xor求模运算(Mod)小于或相等(=)Imp字符串连接(&) 3.3 3.3 代码模块代码模块 Visual Basic的程序代码存储在代码模块中。代码模块包括三种类型:窗体模块、标准模块和类模块。以上三种模块都可以包含作用域不同的声明段和过程。本小节分别介绍窗体模块、标准模块和类模块。3.3.1 3.3.1 窗体模块窗体模块 在Visual Basic开发程序过程中,最简单的应用程序只包含一个窗体,应用程序的所有代码都保存在窗体模块中。窗体模块(后缀frm)是大多数Visual Basic
30、应用程序的基础。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、类型和外部过程的窗体级声明。3.3.2 3.3.2 标准模块标准模块 标准模块(后缀bas)在应用程序中保存其他模块访问的全局过程、函数、声明。当开发的应用程序相对庞大复杂时,在不同窗体中包含相同的可执行的公共代码。可在标准模块中编写该公共代码并允许被其他窗体或模块调用。3.3.3 3.3.3 类模块类模块 Visual Basic中类模块(后缀cls)是面向对象编程的基础。开发时可以在类模块中编写代码建立新对象。该新对象可以包含自定义的属性和方法。实际上窗体正是这样一种类模块,可显示为内置其他控件的窗体。3.4 3.4
31、事件简介事件简介 事件是一种响应指定时间被特定对象(窗体或控件等)识别并执行的操作。开发人员可以在事件过程中编写特定程序代码,事件一旦发生就会被执行。每个对象都包括一组事件集合。本节将介绍如何编写和调用事件过程。3.4.1 3.4.1 编写事件过程编写事件过程事件说明Change用户更改文本信息时引发Click用户单击鼠标时引发(一般为鼠标左键)Dblclick用户双击鼠标时引发Gotfocus对象获得焦点时引发Lostfocus对象失去焦点时引发Keypress焦点对象按键并松开引发KeyDown焦点对象按键引发Keyup焦点对象松开引发MouseDown鼠标在对象上按下鼠标按钮引发Mous
32、eup鼠标在对象上松开鼠标按钮引发Mousemove鼠标在对象上移动时引发3.4.2 3.4.2 调用事件过程调用事件过程 应用程序开发时需要编写和调用许多过程。事件过程是由Visual Basic调用自身的特殊过程。与普通过程调用相同,需要在不同时段中运行相同事件过程。只要调用事件过程名称正确,就可以在多处运行该事件过程。Private Sub Command1_Click() MsgBox 当前日期为: & DateEnd SubPrivate Sub Form_Load() Call Command1_ClickEnd Sub3.5 3.5 编辑代码编辑代码 本节介绍如何编写代码
33、,包括合并多个代码行、添加注释以及Visual Basic命名约定。3.5.1 3.5.1 单行语句分成多行单行语句分成多行 复杂应用程序代码编写过程中会遇到非常长的字符串。为了更好的编写代码,可以使用续行符(一个空格和一个下划线)将一段长语句分成多行。使用续行符使代码易于阅读和编写。Data1.recordsource= &_“Select * from title_company” &_ “where titleName=salary” &_ ”and company=skyrising”3.5.2 3.5.2 多行语句合并一行多行语句合并一行 一般情况下,Visu
34、al Basic一行只有一条语句。但是可以将两条或多条短语句合并到一行,中间需要用冒号(:)将其分开。nRed=38:ngreen=36:nblue=128:nmycolor= nRed + ngreen + nblue 3.5.3 3.5.3 添加注释添加注释 优秀的程序员都具有在关键步骤下添加注释的好习惯。添加注释需要在Visual Basic一条语句的最后添加注释符()或关键字Rem。注释符在程序运行时会通知Visual Basic自动忽略注释符之后的语句。这样便于日后检查修改程序。这是第一条注释内容,以后将会有大量注释添加Rem 这是用rem添加注释内容Msgbox “添加注释是一个良
35、好的习惯”3.5.4 3.5.4 命名约定命名约定 在编写Visual Basic代码时,分别要给变量、常量、函数、过程命名。在声明变量、常量、函数、过程时必须遵守以下命名规定:l 命名必须以字母开头。l 命名不可以超过255个字符。l 命名不可以包含特殊符号。l 命名不可以和默认关键字同名。3.6 3.6 本章实例本章实例 本节主要鼠标移动时显示横坐标和纵坐标的差值。【实例3-1】编写窗体Mousemove事件,显示鼠标横坐标和纵坐标的差值。3.7 3.7 常见问题及解答常见问题及解答 1是否可以使用Name、Dim等与关键字同名赋予变量、函数等? 2添加注释是否增加程序大小、影响程序运行效
36、率? 3编写程序代码时,经常出现提示“编译错误,缺少标识符”?3.8 3.8 小结小结 本章主要介绍了Visula Basic中赋值语句、数学运算语句、代码模块、编写事件、编辑代码、添加注释的使用方法。本章重点难点是比较运算符和逻辑运算符的使用。以上两种运算符逻辑复杂、不易于掌握。读者需要结合实例源码进行分析学习。第第4 4章章 流程控制流程控制 流程控制是Visual Basic应用程序开发中对特定条件进行分析、比较、判断,主要包括判断语句和循环语句。判断语句为根据不同的判断结果进行不同的操作。循环语句可以进行多次数学运算。本章内容包括:l 判断语句。l 循环语句。4.1 4.1 判断语句判
37、断语句 判断语句在复杂应用程序流程控制中具有重要作用。程序中如果不添加判断语句,程序将从第一行代码开始运行,直至最后一行程序终止,无法响应用户的操作。判断语句可根据所给的条件控制程序流程,只运行其中特定程序代码。判断语句包括If语句和Select Case语句。4.1.1 If4.1.1 If语句语句 应用程序中可能只需要运行某个符合条件的语句。If语句根据表达式的结果选择执行一段代码。标准语法有单行语句和多行语句两种形式。If condition Then statementsElse ElsestatementsIf condition Then statementsElse Elsest
38、atementsEnd If4.1.2 4.1.2 多重多重If If语句语句 Visual Basic还支持多重If语句,对多个条件进行判断执行指定代码。If condition Then statementsElseIf condition-n Then ElseIfstatementsElse ElsestatementsEnd If4.1.3 Select Case4.1.3 Select Case语句语句 判断语句另一个重要方法是使用Select Case语句。根据运算表达式的条件结果,允许有条件执行多个代码段中的指定段。对于多重If语句,使用Select Case语句相对更加富有可
39、读性。Select Case testExpression Case Expressionlist1 statementblock-1 Case Expressionlist2 statementblock-2 . Case Else statementblock-nEnd Select4.2 4.2 循环语句循环语句 流程控制的重要方法之一是循环语句。循环语句主要在程序中重复运行特定任务。Visual Basic开发程序中主要包括计数循环、条件循环、枚举循环。本节主要讲述For循环(计数循环)、Do和While循环(条件循环)、For-each循环(枚举循环)。4.2.1 For4.2.1
40、For循环循环 Viusal Basic语言中使用For循环主要用来进行计数。For循环又可以称为For-Next循环,主要采用For关键字和Next关键字。For Counter = Start To End Step step statements Exit For statementsNext counter4.2.2 Do4.2.2 Do循环循环 For循环通过步长计数来运行程序。在特定条件下运行特定代码,需要用到Do循环和下节的While循环。Do循环通过判断表达式条件是True还是False来确定是否结束循环。Do While|Until condition statements
41、Exit Do statementsLoop4.2.3 While4.2.3 While循环循环 在Visual Basic应用程序开发中,经常可以看到类似While-WEnd这样的循环语句。这种循环是早期版本遗留下来的,高版本的Visual Basic中依然支持此用法。但是,笔者推荐使用前两种循环。While condition statementsWEnd4.2.4 4.2.4 枚举循环枚举循环 枚举循环又被称为For-each-next循环。与For-next循环语句略有不同,它将数组或对象集合中的对象重复执行一段代码,并不是重复执行一定次数相同代码。For-each-next循环语句对
42、不知数目的相同对象进行操作时具有明显优点。For Each element In group statements Exit For statementsNext element4.3 4.3 本章实例本章实例 本章实例实现单行If语句、多重If语句判断工资范围计算税款、Select Case语句判断不同职务人员工资和显示学生成绩、For循环显示高斯运算总和、Do循环显示5行#号、枚举循环显示打印机设备名称。【实例4-1】演示单行If语句的使用。4.4 4.4 常见问题及解答常见问题及解答 1是否可以使用多重If语句代替Select Case语句? 2运行包括循环语句的程序时系统没有任何反映?
43、 3For循环与Do循环、While循环有什么区别?4.5 4.5 小结小结 本章主要介绍了判断语句和循环语句的定义,主要包括If语句和Select Case语句、For循环、Do循环、While循环、枚举循环的语法知识,以及如何根据应用程序需要使用判断和循环语句。其中,循环语句循环过程难于控制,需要结合实例多加分析和实践。第第5 5章章 过程和函数过程和函数 过程和函数就是在程序中可以被重复使用的代码。当应用程序比较复杂时,开发人员可能需要在程序多处使用相同的代码。在Visual Basic应用程序开发中,重要任务之一就是创建可重复使用的代码。本章内容包括:l 过程l 函数5.1 5.1 过
44、程过程 过程就是在应用程序可以被多次重复使用的代码段。使用过程具有以下优点:复杂任务分解成多个简单代码段;易于读写,具有较强的可读性和可维护性。前面章节介绍的事件过程就是Visual Basci定义过程的一种。本节介绍的过程是用户创建的自定义过程。5.1.1 Sub5.1.1 Sub过程概述过程概述 Sub过程是可以被重复执行的无返回值的代码段。Private | Public Static Sub Name (Arglist) statements Exit Sub statementsEnd Sub5.1.2 5.1.2 添加添加SubSub过程过程 添加Sub过程有第一种方法:5.1.2
45、 5.1.2 添加添加SubSub过程过程 添加Sub过程有第二种方法。Sub showmsg()End Sub5.1.3 5.1.3 调用调用SubSub过程过程 调用Sub过程主要使用Call语句或过程名+参数形式调用。Call SubName ArglistSubName Arglist5.1.4 5.1.4 使用使用Sub MainSub Main 1设置启动窗体 2无启动窗体时启动5.1.5 5.1.5 确定过程作用域确定过程作用域 1公共过程 2局部过程 3静态变量过程5.2 5.2 传递参数传递参数 Visual Basic提供了非常灵活的传递参数方式,允许使用可选参数和可变参数
46、,使用传值引用和传地址引用方法。Optional ByVal | ByRef ParamArray varName( ) As type = defaultvalue5.2.1 5.2.1 可选参数和可变参数可选参数和可变参数 1可选参数 2可变参数5.2.2 5.2.2 传值引用和传地址引用传值引用和传地址引用 1传值引用 2传地址引用Sub prog(byval a as integer) (添加代码)End SubSub prog(byref a as integer) (添加代码)End Sub5.3 5.3 函数函数 函数为编辑代码时可以被程序调用带有返回值的代码段。本节将介绍函数定
47、义和使用方法。5.3.1 5.3.1 定义函数定义函数 Function过程又被称为函数过程,与Visual Basic内置函数完全相同。函数与子过程区别为,函数带有返回值,而子过程没有返回值。Public | Private | Static Function Name (Arglist) As type statements Name = ExpressionExit Function statementsName = ExpressionEnd Function5.3.2 5.3.2 确定函数作用域确定函数作用域 1公共函数 2局部函数 3静态变量函数5.3.3 5.3.3 调用函数调用
48、函数 函数调用和过程调用基本相似,惟一不同之处在于函数可以有返回值。如果无返回值,用Call语句调用函数。Call funName ArglistReturn=funName Arglist5.3.4 5.3.4 传递参数和返回值传递参数和返回值 函数传递参数的方法与过程完全相同。不在此赘述。函数与过程最重要的区别是函数有返回值。过程的数据类型决定其返回值的数据类型。可以在Arglist之后使用As关键字来指定函数返回值的数据类型。在Arglist中,可以使用As子句来指定任何传给该过程的参数的数据类型。不但可以指定为任何标准数据类型,还可以在Arglist中指定As Any来禁止类型检查,从
49、而允许将任意数据类型传递给该过程。5.4 5.4 本章实例本章实例 本章实例创建过程、函数计算三个数平方之和、创建加密字符串。【实例5-1】创建一个过程,计算三个数平方之和。 图5.4 运行窗体 5.5 5.5 常见问题及解答常见问题及解答 1过程或函数在窗体和模块有什么区别? 2参数可以设计为可选参数和可变参数,是否可以多设计几个可选参数? 3如何使用传值引用和传地址引用?5.6 5.6 小结小结 本章主要介绍了过程和函数的定义以及如何根据应用程序的需要调用过程和函数。本章重点难点包括:过程和函数如何传递参数、函数如何返回值。其中,函数传递参数和返回值结构复杂难于掌握。第第6 6章章 数组数
50、组 数组是具有相同名字、不同下标的一组变量。使用数组可以缩短和简化程序,可以利用索引值设计循环,高效处理各种程序运行需要。数组包括固定大小的数组和动态数组。本章内容包括:l 固定数组。l 动态数组。6.1 6.1 固定数组固定数组 固定数组顾名思义就是固定元素数量的数组。固定数组包括一维数组和多维数组。固定数组中使用一个下标就能确定数组元素在数组中的位置称为一维数组。具有两个或多个下标的变量数组称为二维或多维数组。本节将介绍固定数组的定义和使用方法。6.1.1 6.1.1 声明数组声明数组 数组和变量使用方法不完全相同。变量可以有隐式声明。数组必须显式声明后使用。Public|Dim|priv
51、ate|static arraryname(Num1 to Num2) as type6.1.2 6.1.2 设定上下界设定上下界 Visual Basic声明数组时,在数组名之后跟一个用括号括起来的上界。上界不得超过长整型Long数据类型的范围(-2,147,483,648到2,147,483,647)。默认下标下界为0。如果希望下标下界从1开始,可以通过Option Base语句来声明。该语句用来指定数组下标默认下界。Option base 1数组下界从1开始Dim Numbers (10) As Integer数组包含10个元素Dim Sums (20) As Double数组包含20个
52、元素6.1.3 6.1.3 多维数组多维数组 多维数组与一维数组相对应。多维数组在现实生活中具有很重要的意义。如屏幕坐标、三维动画数据的设定值等是典型的多维数组。声明多维数组与一维数组完全相同。Dim matrix(9,9) as integerDim matrix(9,9,9) as integer6.2 6.2 动态数组动态数组 动态数组可以在程序运行时动态改变数组大小。Visual Basic应用程序开发中需要动态数组来保存多维数组数值。动态数组具有灵活方便管理数组的能力。本节介绍动态数组定义和使用方法。6.2.1 6.2.1 创建动态数组创建动态数组 声明动态数组和普通数组基本相同。根
53、据不同关键字定义不同作用域范围。为数组赋予一个空维数表,将该数组声明为动态数组。Public|Private|Static|Dim arr()ReDim Preserve varname(subscripts) As type6.2.2 6.2.2 使用动态数组使用动态数组 动态数组使用ReDim关键字。每次使用ReDim关键字,以前数组内容全部自动清空。声明数组Dim array_m()动态声明数组为二维数组ReDim array_m(3, 3)For i = 1 To 3For j = 1 To 3 计算表达式 array_m(i, j) = i * j Print 动态数组乘积为: &a
54、mp; array_m(i, j) Next jNext i6.3 6.3 本章实例本章实例 本章实例创建声明数组、多维数组、动态数组,说明如何计算数组最大值、二维数组运算表达式数值、动态数组运算结果。【实例6-1】计算数组最大值。 图6.3 运行窗体6.4 6.4 常见问题及解答常见问题及解答 1数组num(9)中共计9个数字是否正确? 2动态数组可以在程序运行时改变数组大小,是否可以将数组全部声明为动态数组? 3可以在声明动态数组时保存以前动态数组内容?6.5 6.5 小结小结 本章主要介绍了固定数组、动态数组的创建、使用方法。并结合实例演示如何创建固定数组和动态数组。本章重点难点包括:如
55、何正确声明和使用动态数组。动态数组在编程开发中使用方法复杂,需要结合实例多分析和实践。第第7 7章章 错误处理错误处理 现在的Windows应用程序都非常庞大和复杂,不可避免将出现一些错误。当事情出现错误时应用程序如何响应是用户程序设计非常重要的一部分。一个功能完善的应用程序应该预料到错误可能出现并及时处理或提示用户。Visual Basic不仅提供了功能强大的程序设计环境,也提供了一个界面友好、简便实用的程序调试工具。本章内容包括:l 错误概述。l 错误捕获和处理。l 调试程序。7.1 7.1 错误概述错误概述 错误在应用程序开发和运行过程中表现多样。错误通常包括语法错误、运行错误、逻辑错误
56、三种。本节将分别介绍三种错误不同的表现形式和处理方法。7.1.1 7.1.1 语法错误语法错误 语法错误是初学编程者最常见的错误。通常是输入不正确的代码,包括错误地输入关键字、遗忘了标点符号或引用不正确的数据结构。具有语法错误的程序不能正常运行,也不能编译成可执行文件。通常Visual Basic中包含“自动语法检测”选项,可以发现大部分语法错误并提示改正。7.1.2 7.1.2 逻辑错误逻辑错误 如果代码没有语法错误可以运行,但是运行结果与设计时完全不同。这样的代码中必然存在逻辑错误,如语法错误(陷入死循环)、符号错误(加法改为减法)、数值范围错误(设计数值为1至100,运行时为1至99)等
57、。程序逻辑错误是最不容易发现的严重错误。大部分逻辑错误可以归结为数据错误、流程控制错误。Dim n As Integer声明变量Dim s As IntegerN=1For n = 1 To 3for循环3次 s = s + n运算表达式Next n7.1.3 7.1.3 运行错误运行错误 运行错误是在程序运行过程中发生的。有时语法没有错误,但Visual Basic中却无法运行程序。例如,除法运算中,除数为0;读取文件时,该文件不存在等。当出现运行错误时,Visual Basic会自动终止应用程序,并弹出错误信息提示。7.2 7.2 错误捕获处理错误捕获处理 优秀的应用程序应该具备较强的捕获
58、和处理运行错误的能力。硬件问题或用户错误操作都将引发错误并终止应用程序。错误捕获功能可以拦截错误并进行处理,进而可以避免硬件问题或用户操作错误。本节将介绍错误捕获和处理方法。7.2.1 7.2.1 错误捕获错误捕获 Visual Basic中使用On Error语句来进行错误捕获,当错误发生,程序自动运行到处理错误的相关代码,予以解决错误或提示用户可能需要的帮助。标准代码如下:l On Error GoTo line发生错误时,跳转到指定处理错误程序代码。l On Error Resume Next发生错误时,忽略错误行,继续执行下一语句。l On Error GoTo 0发生错误时,不使用错
59、误处理程序代码。7.2.2 7.2.2 错误处理错误处理 在理想程序中,Visual Basic过程根本不需要错误处理代码。但实际上硬件问题或用户操作都会造成运行时错误。没有错误捕获和处理的程序中,只能选择终止程序。但是优秀的应用程序应该按以下方式处理错误: (1)错误发生时,提示用户出错并退出子过程,程序有限的功能继续运行。 (2)跳过错误语句,继续执行下一句。 (3)继续尝试纠正错误并重新运行该语句。7.3 7.3 调试程序调试程序 Visual Basic集成开发环境可以分为三种模式:设计模式、执行模式、中断模式。设计模式下可以进行程序的界面设计和代码编写。执行模式运行程序,可以查阅代码
60、,不允许更改程序。中断模式下程序处于挂起状态,可以阅读和修改代码并进行调试程序。7.3.1 7.3.1 单步调试单步调试 单步调试包括三种调试方法: (1)逐语句:单步调试当前过程和调用过程中代码。快捷键为F8。 (2)逐过程:单步调试当前过程中的代码,不调试程序中其他代码。快捷键为Shift+F8。 (3)跳出:一直运行到当前过程的结束。快捷键为Ctrl+Shift+F8。7.3.2 7.3.2 立即窗体立即窗体 Visual Basic在开发中断点模式还提供了“立即”窗体显示运行结果。“立即”窗体允许中断模式下输入代码立即执行和显示运行结果。要显示“立即”窗体,要保证在中断模式下,单击“视图”|“立即窗体”命令或按键Ctrl+G。7.3.3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年住宅物业租赁合同范本
- 2025办公室墙面装修合同范本
- 2025委托设计制作合同
- 2025国际借款合同样本
- 2025光伏发电项目合同能源管理合同
- 2025标准企业股权转让合同书
- 2025关于购房合同撰写范文
- 2025标准施工合同模板
- 《农业专用传感器》课件 - 精确监测与智能农业的未来
- 2025智能楼宇安防系统集成合同(范本)
- 《工程科学与技术》论文投稿模板
- 精美乒乓球运动活动策划方案PPT
- GB/T 18050-2000潜油电泵电缆试验方法
- GB 7793-2010中小学校教室采光和照明卫生标准
- FZ/T 24011-2019羊绒机织围巾、披肩
- 金螳螂企业管理课件
- 炊事机械安全操作规程
- 最新版教育心理学课件3-成就动机
- 离合器-汽车毕业设计-设计说明书
- 中国民间美术年画-完整版PPT
- 2022年《趣味接力跑》教案
评论
0/150
提交评论