1、1测绘测绘VBVB语言程序设计语言程序设计2测绘测绘VBVB语言程序设计语言程序设计第一章第一章3一、一、VB 概述概述二、二、VB集成开发界面集成开发界面三、程序设计基础知识三、程序设计基础知识 4一、一、VB 概述概述1、程序设计语言选择、程序设计语言选择 (2011-2013年编程语言年编程语言Top 20榜单榜单) 5一、一、VB 概述概述1、程序设计语言选择、程序设计语言选择 (2013年年7月编程语言月编程语言Top 10榜榜单单) 6一、一、VB 概述概述2、VB语言发展语言发展3、VB6.0的三个版本的三个版本学习版学习版(Learning)入门版本入门版本专业版专业版(Pro
2、fessional)计算机专家计算机专家 企业版企业版(Enterprise)最高级版本最高级版本74、VB特点特点1、面向对象的可视化设计平台 2、事件驱动3、结构化的程序设计语言4、软件的集成式开发5、强大的数据库访问功能6、支持对象的链接与嵌入技术7、网络功能8、多个应用程序向导9、支持动态交换、动态链接技术10、联机帮助功能8二、二、 VB集成开发界面集成开发界面1、VB6 IDE界面界面IDE(Integrated Develop Environment)界面界面 9 VB6 IDE界面界面:标题栏标题栏标题栏中显示窗体控制菜单图标、当前激活的工程名称、当前标题栏中显示窗体控制菜单图
3、标、当前激活的工程名称、当前工作模式、最小按钮、最大工作模式、最小按钮、最大/还原按钮、关闭按钮。还原按钮、关闭按钮。工作模式:工作模式:设计模式:在该模式下可进行用户界面的设计和代码的编写。设计模式:在该模式下可进行用户界面的设计和代码的编写。进入设计模式时,在标题栏中显示进入设计模式时,在标题栏中显示“设计设计”字样。字样。运行模式:在该模式下可运行运行模式:在该模式下可运行Visual Basic 应用程序,但不可编应用程序,但不可编辑代码,也不可编辑界面。进入运行模式时,在标题栏中显辑代码,也不可编辑界面。进入运行模式时,在标题栏中显示示“运行运行”字样。字样。中断模式:在该模式下可暂
4、时中断应用程序的执行,可编辑代中断模式:在该模式下可暂时中断应用程序的执行,可编辑代码,但不可编辑用户界面。进入中断模式时,在标题栏中显码,但不可编辑用户界面。进入中断模式时,在标题栏中显示示break 字样。字样。10 11 VB6 IDE界面界面:工具栏工具栏工具栏提供了在编辑环境下快速访问常用命令的方法,当光标工具栏提供了在编辑环境下快速访问常用命令的方法,当光标指向工具栏上的按钮时,会显示工具按钮的名称及功能,单指向工具栏上的按钮时,会显示工具按钮的名称及功能,单击工具栏上的按钮,将执行该按钮所对应的功能。击工具栏上的按钮,将执行该按钮所对应的功能。Visual Basic 6.0 中
5、提供了中提供了4 种工具栏:【标准】工具栏、【调种工具栏:【标准】工具栏、【调试】工具栏、【编辑】工具栏和【窗体编辑器】工具栏。试】工具栏、【编辑】工具栏和【窗体编辑器】工具栏。12 VB6 IDE界面界面:工具栏工具栏p Top和和Left决定了窗体在屏幕中的位置。屏幕的左上角为决定了窗体在屏幕中的位置。屏幕的左上角为原点。原点。p Height和和Width决定了窗体显示的大小决定了窗体显示的大小p 单位为单位为twip (缇缇)(1 twip=1/20点点=1/1440英寸英寸=1/567厘米厘米)13 VB6 IDE界面界面:工具栏工具栏建立新窗体建立新模块打开项目存项目控制锁定打开菜
6、单设计窗口打开属性窗口对象浏览项目文件执行程序中断停止设置断点设置观察点过程调用跟踪单步14 其他窗口其他窗口:窗体设计器窗体设计器窗体设计窗口窗体设计窗口窗体名窗体名窗体文件名窗体文件名p 窗体设计器窗口简称窗体窗体设计器窗口简称窗体(Form),它是,它是VB最基本的对象,提供与用户交互的窗口,最基本的对象,提供与用户交互的窗口,是屏幕中央的主窗口,它可以作为自定义窗是屏幕中央的主窗口,它可以作为自定义窗口用来设计应用程序的界面。用户可以在窗口用来设计应用程序的界面。用户可以在窗体中添加控件、图形和图片来创建所希望的体中添加控件、图形和图片来创建所希望的外观。外观。p 每个窗口必须有一个的
7、窗体名字,建立每个窗口必须有一个的窗体名字,建立窗体时缺省名为窗体时缺省名为Form1, Form2, . . .。p 添加窗口添加窗口: 【工程】【工程】【添加窗体】菜单【添加窗体】菜单创建新窗体。创建新窗体。真题:在设计阶段,当双击窗体上的某个控真题:在设计阶段,当双击窗体上的某个控件时,所打开的窗口是件时,所打开的窗口是A) 工程资源管理器窗口工程资源管理器窗口 B) 工具箱窗口工具箱窗口C) 代码窗口代码窗口 D) 属性窗口属性窗口真题:在设计阶段,当双击窗体上的某个控真题:在设计阶段,当双击窗体上的某个控件时,所打开的窗口是件时,所打开的窗口是A) 工程资源管理器窗口工程资源管理器窗
8、口 B) 工具箱窗口工具箱窗口C) 代码窗口代码窗口 D) 属性窗口属性窗口15 其他窗口其他窗口:工程资源管理器窗口工程资源管理器窗口 p 工程是指用于创建一个应用程序的文件的工程是指用于创建一个应用程序的文件的集合。集合。p 工程资源管理器列出了当前工程中的窗体工程资源管理器列出了当前工程中的窗体和模块。和模块。VB把一个应用程序称为一个工程,把一个应用程序称为一个工程,而一个工程又是各种类型的文件的集合,这而一个工程又是各种类型的文件的集合,这些文件包括工程些文件包括工程(组组)文件(文件(.vbp/.vbg)、窗体)、窗体文件(文件(.frm)、标准模块文件()、标准模块文件(.bas
9、)、类模)、类模块文件(块文件(.cls)、资源文件()、资源文件(.res)、)、ActiveX 文档(文档(.dob)、)、ActiveX 控件(控件(.ocx)、用户)、用户控件文件(控件文件(.ctl)、)、 属性页文件(属性页文件(.pag)。)。查看代码查看代码查看对象查看对象切换文件夹切换文件夹真题:以下不属于真题:以下不属于Visual Basic系统的文件类型是系统的文件类型是A).frm B).bat C).vbg D).vbp 真题:以下不属于真题:以下不属于Visual Basic系统的文件类型是系统的文件类型是A).frm B).bat C).vbg D).vbp 1
10、6 其他窗口其他窗口:属性窗口属性窗口 p 属性是指对象的特征,如大小、标题或属性是指对象的特征,如大小、标题或颜色等数据。在颜色等数据。在Visual Basic6.0设计模式中,设计模式中,属性窗口列出了当前选定窗体或控件的属性属性窗口列出了当前选定窗体或控件的属性的值,用户可以对这些属性值进行设置。的值,用户可以对这些属性值进行设置。p 打开属性窗口:【视图】菜单中的【属打开属性窗口:【视图】菜单中的【属性窗口】命令。性窗口】命令。p 该窗口由对象选择框、属性显示排列方该窗口由对象选择框、属性显示排列方式、属性列表框及当前属性的说明框式、属性列表框及当前属性的说明框4部分部分组成。组成。
11、对象名对象名.属性名称属性名称 17 真题真题 刚建立一个新的标准刚建立一个新的标准EXEEXE工程工程后,不在工具箱中出现的控件是后,不在工具箱中出现的控件是A) A) 单选按钮单选按钮 B) B) 图片框图片框 C) C) 通用对话框通用对话框 D) D) 文本框文本框 真题真题 刚建立一个新的标准刚建立一个新的标准EXEEXE工程工程后,不在工具箱中出现的控件是后,不在工具箱中出现的控件是A) A) 单选按钮单选按钮 B) B) 图片框图片框 C) C) 通用对话框通用对话框 D) D) 文本框文本框 p 将鼠标指向工具箱的任意位置,将鼠标指向工具箱的任意位置,单击右键,显示快捷菜单,然
12、后单单击右键,显示快捷菜单,然后单击【部件】选项,此时,在列表框击【部件】选项,此时,在列表框中显示出可以使用的外部控件列表,中显示出可以使用的外部控件列表,选中需要添加到工具箱的控件,然选中需要添加到工具箱的控件,然后单击【确定】按钮,选定的控件后单击【确定】按钮,选定的控件就会出现在工具箱中。就会出现在工具箱中。p 【工程】菜单中选择【部件】【工程】菜单中选择【部件】其他窗口其他窗口:工具箱工具箱 18 其他窗口其他窗口:窗体布局窗口窗体布局窗口: 在窗体布局窗口中可以使用表示屏幕小图像来在窗体布局窗口中可以使用表示屏幕小图像来布置应用程序中各窗体的位置,设计时可以使用鼠标把窗体布置应用程
13、序中各窗体的位置,设计时可以使用鼠标把窗体拖动到一个新的位置。拖动到一个新的位置。立即窗口立即窗口: 立即窗口是为调试应用程序提供的,可以在立即窗立即窗口是为调试应用程序提供的,可以在立即窗口利用口利用Debug.Print方法,把要输出的内容输出到立即窗口,方法,把要输出的内容输出到立即窗口,也可以直接在该窗口使用也可以直接在该窗口使用Print语句或语句或“?”显示变量的值。显示变量的值。本地窗口本地窗口:显示当前过程中变量的值。当程序的执行从一个过程显示当前过程中变量的值。当程序的执行从一个过程切换到另一个过程时,本地窗口的内容会发生变化,他只是切换到另一个过程时,本地窗口的内容会发生变
14、化,他只是反映当前过程中可用的变量。反映当前过程中可用的变量。监视窗口监视窗口:显示当前的监视表达式,在设计阶段,利用显示当前的监视表达式,在设计阶段,利用“调试调试”菜单的菜单的“添加监视添加监视”命令或命令或“快速监视快速监视”命令添加监视表达命令添加监视表达式以及设置的监视类型,运行时在式以及设置的监视类型,运行时在“监视监视”窗口根据所设置窗口根据所设置的监视类型进行相应的显示。的监视类型进行相应的显示。19二、二、VB集成开发界面集成开发界面2、工程设置及编译、工程设置及编译 20 一一个个或或若若干干个个标标准准模模块块(.Bas)文文件件 VB工工程程 (*.VBP) 类类模模块
15、块(.Cls)文文件件 一一个个或或若若干干个个窗窗体体模模块块(*.Frm)文文件件 1各各种种控控件件 2.窗窗体体及及控控件件的的事事件件过过程程 3.自自定定义义子子过过程程(Sub) 4.自自定定义义函函数数过过程程 (Function) 1.自自定定义义子子过过程程(Sub) 2.自自定定义义函函数数过过程程 (Function) 21三、程序设计基础知识三、程序设计基础知识1、算法的概念、算法的概念 2、算法的表示、算法的表示 3、程序设计基本步骤、程序设计基本步骤4、程序设计规范、程序设计规范 22三、程序设计基础知识三、程序设计基础知识1、算法的概念、算法的概念 一个程序应包
16、括以下两方面内容一个程序应包括以下两方面内容:数据结构数据结构(data structure):对数据的描述对数据的描述, 在程序中要指定数据的在程序中要指定数据的类型和数据的组织形式。类型和数据的组织形式。算法算法(algorithm) :对操作的描述,即操作步骤。对操作的描述,即操作步骤。数据结构数据结构 + 算法算法 = 程序程序(沃思沃思(Nikiklaus Wirth)完整的程序设计:完整的程序设计:程序程序 = 算法算法 + 数据结构数据结构 + 程序设计方法程序设计方法 + 语言工具和环境语言工具和环境 灵魂灵魂 加工对象加工对象 合适的方法合适的方法 工具工具23三、程序设计基
17、础知识三、程序设计基础知识1、算法的概念、算法的概念广义广义: 为解决一个问题而采取的方法和步骤,就称为解决一个问题而采取的方法和步骤,就称为为“算法算法”。例例:1+2,+3,+100 加加99次次100+(1+99)+ (2+98)+ + (49+51)+ 50 =100+49100+50=5050 加加51次次1001nn求24三、程序设计基础知识三、程序设计基础知识1、算法的概念、算法的概念计算机能执行的算法计算机能执行的算法数值算法数值算法:求数值解求数值解 。例如,求方程根等。例如,求方程根等。非数值算法非数值算法:包括的面十分广泛,最常见的是用于包括的面十分广泛,最常见的是用于事
18、务管理领域。事务管理领域。 例如,排序算法、图书检索等。例如,排序算法、图书检索等。25三、程序设计基础知识三、程序设计基础知识2、算法的表示、算法的表示自然语言自然语言: 冗长、产生歧义冗长、产生歧义流程图流程图: 形象直观形象直观计算机语言计算机语言: Visual Basic 26三、程序设计基础知识三、程序设计基础知识3、程序设计基本步骤、程序设计基本步骤问题描述问题描述算法设计算法设计程序编码程序编码程序测试程序测试程序应用与维护程序应用与维护 27三、程序设计基础知识三、程序设计基础知识4、程序设计规范、程序设计规范结构清晰、代码精简结构清晰、代码精简尽量使用标准函数、尽量使用局部
19、变量尽量使用标准函数、尽量使用局部变量进行适当注释进行适当注释利用制表位利用制表位(Tab键键)显示程序逻辑结构显示程序逻辑结构循环和分支层次不要过多,慎循环和分支层次不要过多,慎GOTO语句语句界面设计尽量美观统一界面设计尽量美观统一28测绘测绘VBVB语言程序设计语言程序设计第二章第二章29一、基本数据类型一、基本数据类型二、变量与常量二、变量与常量三、运算符和表达式三、运算符和表达式四、常用内部函数四、常用内部函数五、语句五、语句30一、基本数据类型一、基本数据类型1、语言的基本要素:数据类型、变量和常量、数组、语言的基本要素:数据类型、变量和常量、数组、运算符和表达式、函数、流程控制(
20、循环、分支、运算符和表达式、函数、流程控制(循环、分支、选择)、功能模块及参数传递、数据文件访问选择)、功能模块及参数传递、数据文件访问.2、数据、数据描述事物的符号记录;用于载荷信息的物理符号。描述事物的符号记录;用于载荷信息的物理符号。VB基本数据类型:数值型基本数据类型:数值型(Numeric)、逻辑型、逻辑型(布尔布尔型型) (Bollean) 、日期型、日期型(Data) 、字符型、字符型(String) 、可变型可变型(Variant) 、对象型、对象型(Object) 、货币型、货币型(Currency) 、字节型、字节型(Byte) 不同类型数据所占存储空间不同,使用合适的数据
21、不同类型数据所占存储空间不同,使用合适的数据类型可优化代码。类型可优化代码。31一、基本数据类型一、基本数据类型 32一、基本数据类型:数值型一、基本数据类型:数值型-整型整型数值型可分为两大类:整型和实型数值型可分为两大类:整型和实型(浮点型浮点型)数值型:数值型:Integer(整型)、(整型)、Long(长整型)、(长整型)、Single(单精度浮点型)、(单精度浮点型)、Double(双精度浮点型)、(双精度浮点型)、Byte(字节型)、(字节型)、Currency(货币型)(货币型) VB中,可用八进制和十六进制表示整数,八进制中,可用八进制和十六进制表示整数,八进制数前加数前加“&
22、”或者或者“&O”;十六进制数前加;十六进制数前加“&H”。在用八进制和十六进制表示长整型数据时,。在用八进制和十六进制表示长整型数据时,在数字结尾加在数字结尾加“&”。&147、&147&分别是八进制整型数和八进制长整型数;分别是八进制整型数和八进制长整型数;&H147、&H147&分别是十六进制整型数和十六进制长整型数;分别是十六进制整型数和十六进制长整型数;八进制整型数八进制整型数: &O0- &O177777; 八进制长整型数八进制长整型数: &O0& - &O37777777777&;十六进制整型数十六进制整型数: &H0- &HFFFF;十六进制长整型数十六进制长整型数: &H0&
23、 - &HFFFFFFFFF&;区别于区别于C语言语言pVB中,八进制整型数以中,八进制整型数以&或或&O开头,开头,C中,八进制整型数以中,八进制整型数以0开头;开头;p VB中,十六进制整型数以中,十六进制整型数以&H开头,开头,C中,中,十六进制整型数以十六进制整型数以0 x开头;开头;p VB中,八进制或十六进制长整型数以中,八进制或十六进制长整型数以&结尾,结尾,C中,八进制或十六进制长整型数以中,八进制或十六进制长整型数以L结尾结尾33一、基本数据类型:数值型一、基本数据类型:数值型-浮点型浮点型Single:4个字节中符号占个字节中符号占1位,指数占位,指数占8位,其余位,其余2
24、3位表示尾数,有效数字精确到位表示尾数,有效数字精确到7位十进制数。当要位十进制数。当要赋给赋给Single变量的数的有效数字超过变量的数的有效数字超过7位,超出部位,超出部分自动四舍五入分自动四舍五入Double:8个字节中符号占个字节中符号占1位,指数占位,指数占11位,其余位,其余52位表示尾数,有效数字精确到位表示尾数,有效数字精确到15位十进制数。当位十进制数。当要赋给要赋给Double变量的数的有效数字超过变量的数的有效数字超过15位,超位,超出部分自动四舍五入。出部分自动四舍五入。浮点型的表示方法浮点型的表示方法: 定点表示法和浮点表示法定点表示法和浮点表示法(科学科学计数法计数
25、法)定点表示法定点表示法: 小数表示形式小数表示形式科学计数科学计数: Single用用E表示,表示,Double用用D表示。表示。Currency:专门用来表示货币数量的数据类型。可:专门用来表示货币数量的数据类型。可以带有正、负号的实数,小数部分保留以带有正、负号的实数,小数部分保留4位有效数位有效数字,整数部分可以达到字,整数部分可以达到15位精确数字。位精确数字。浮点型与货币型区别:浮点型与货币型区别: 浮点型小数点可以移动,小数点可以出现浮点型小数点可以移动,小数点可以出现在数的任何位置在数的任何位置 货币型小数点固定,也称定点数据类型货币型小数点固定,也称定点数据类型34一、基本数
26、据类型:数值型一、基本数据类型:数值型如果数据包含小数,则使用浮点型如果数据包含小数,则使用浮点型数值如果超出规定的范围出现数值如果超出规定的范围出现“溢出溢出”信息(信息(Overflow)。如果小于范围的下限,系统将按)。如果小于范围的下限,系统将按“0”处处理;如果大于上限,系统只按上限处理,并显示理;如果大于上限,系统只按上限处理,并显示出错信息。出错信息。VB一般使用十进制计数,如使用八进制或十六进制一般使用十进制计数,如使用八进制或十六进制计数,其值等价于十进制。计数,其值等价于十进制。所有数值变量都可相互赋值,将浮点数赋予整数之所有数值变量都可相互赋值,将浮点数赋予整数之前,前,
27、VB将浮点数的小数部分四舍五入到整数将浮点数的小数部分四舍五入到整数(并并非将小数部分去掉非将小数部分去掉)。 区别于区别于C语言语言35一、基本数据类型:字符型一、基本数据类型:字符型String:在缺省情况下,:在缺省情况下,String型变量是一个可变长型变量是一个可变长度的字符串变量(变长字符串),随着对其赋予度的字符串变量(变长字符串),随着对其赋予新数据,它的长度可增可减。新数据,它的长度可增可减。 声明具有固定长度声明具有固定长度String 型变量(定长字符串)型变量(定长字符串) Dim S As StringS = DatabaseDim/Private/Public/ S
28、tatic variablename String * sizeDim SS As String *20 SS定长定长20个字符个字符SS=“abcdfghh” 不足部分补空格,超出部分截去不足部分补空格,超出部分截去区别于区别于C语言语言p字符串型(字符串型(String)是)是VB基本数据类型之基本数据类型之一;字符型(一;字符型(char)是)是C语言基本数据类型语言基本数据类型之一;之一;p VB中,字符串是放在双引号内的若干个中,字符串是放在双引号内的若干个字符,可为空字符,字符串存放在字符串型字符,可为空字符,字符串存放在字符串型变量中;变量中;C中,中, “字符常量字符常量”是用
29、单撇号括是用单撇号括起来的一个字符,字符型变量是用来存放字起来的一个字符,字符型变量是用来存放字符常量的;符常量的;p VB中,字符串型变量(除定长型)可以中,字符串型变量(除定长型)可以更改长度;更改长度;C中字符型变量只可存储一个字中字符型变量只可存储一个字符;符;36一、基本数据类型:布尔型(逻辑型)一、基本数据类型:布尔型(逻辑型)Boolean:若变量的值只是:若变量的值只是“true/false”、“yes/no”、“on/off”信息,则可将它声明为信息,则可将它声明为 Boolean 类型。类型。Boolean 的值有两种的值有两种: True和和False,缺省值为,缺省值为
30、 False。 数值型转为布尔型时,数值型转为布尔型时,0转为转为False,非,非0转为转为True; 布尔型转为数值型时,布尔型转为数值型时,False转为转为0, True转为转为-1。 Dim a1 As Boolean, a2 As Booleana1 = Truea2 = False区别于区别于C语言语言37一、基本数据类型:日期型一、基本数据类型:日期型Date: 表示由年、月、日组成的日期信息或由时、表示由年、月、日组成的日期信息或由时、分、秒组成的时间信息。分、秒组成的时间信息。在使用中有两种不同的方式:在使用中有两种不同的方式: 格式型:采用符号码格式型:采用符号码“#”表
31、示日期型数据。表示日期型数据。 数字序列:数字序列: 用小数点分割。用小数点分割。 Dim SomeDate As DateSomeDate = #2012-02-22#SomeDate = #2-22-12 13:20#SomeDate = #March 27, 1993 1:20am#日期信息日期信息: 100年年1月月1日日-9999年年12月月31日日时间信息时间信息: 0:00:00-23:59:59#mm/dd/yyyy#或或#mm-dd-yyyy#yyyy/mm/dd#或或#yyyy-mm-dd#mm/dd/yyyy hh:mm:ss AM|PM#或或#mm-dd-yyyy hh
32、:mm:ss AM|PM #p 当其他数据类型转换为日期型时,当其他数据类型转换为日期型时,小数点左边代表日期,右边代表时小数点左边代表日期,右边代表时间间p 0为午夜,为午夜,0.5为正午为正午p 1899年年12月月30日对应日对应Date的的038一、基本数据类型:变体型(可变型)一、基本数据类型:变体型(可变型)Variant:声明变量时的缺省类型,能够存储所有类型的声明变量时的缺省类型,能够存储所有类型的数据,随着为它赋值的类型而改变自身的类型。数据,随着为它赋值的类型而改变自身的类型。如果把数据赋予如果把数据赋予 Variant 变量,则不必在这些数据的类变量,则不必在这些数据的类
33、型间进行转换,型间进行转换,VB会自动完成必要的转换。会自动完成必要的转换。Variant 有三个特殊的值:有三个特殊的值:Empty: 还没有为变量赋值。不同于数值还没有为变量赋值。不同于数值0、长度为、长度为0的的“”“”或空值或空值Null。Null:通常用于数据库应用程序,表示未知数据或丢:通常用于数据库应用程序,表示未知数据或丢失的数据。失的数据。Error:特定值,指出已发生的过程中的错误状态。:特定值,指出已发生的过程中的错误状态。Dim Some Value 缺省为缺省为VariantSomeValue = “18” 值值: “ 18”SomeValue = SomeValue
34、 15 值值: 3SomeValue = “U” & SomeValue 值值: “ U3”p 如果对如果对Variant型变量进行数学型变量进行数学运算或函数运算,则该变量必须运算或函数运算,则该变量必须包含某个数;包含某个数;p 要连接两个字符串,则用要连接两个字符串,则用“&”符,而非符,而非“+”符符39一、基本数据类型:对象型一、基本数据类型:对象型Object: 表示应用程序中或某些其他应用程序中的对表示应用程序中或某些其他应用程序中的对象。象。表示图形、表示图形、OLE对象或其他对象对象或其他对象用用 Set 语句指定一个被声明为语句指定一个被声明为 Object 的变量去引用的
35、变量去引用应用程序所识别的任何实际对象应用程序所识别的任何实际对象声明对象变量时,应使用特定的类,而不是一般的声明对象变量时,应使用特定的类,而不是一般的Object。Dim objDb As Object Set objDb=OpenDatabase (c:Vb6Biblio.mdb)40一、基本数据类型一、基本数据类型二、变量与常量二、变量与常量三、运算符和表达式三、运算符和表达式四、常用内部函数四、常用内部函数五、语句五、语句41二、变量与常量二、变量与常量1、变量、变量变量:在程序运行过程中其值可以发生改变的量。变量:在程序运行过程中其值可以发生改变的量。在在VB执行应用程序期间,用变
36、量临时存储数据,执行应用程序期间,用变量临时存储数据,即在程序中处理数据时,对于输入数据、参加即在程序中处理数据时,对于输入数据、参加运算的数据、运行结果等临时数据,暂时存储运算的数据、运行结果等临时数据,暂时存储在计算机内存中。在计算机内存中。变量的两个特性:名字和数据类型。名字:用于变量的两个特性:名字和数据类型。名字:用于在程序中标识变量和使用变量的值。数据类型:在程序中标识变量和使用变量的值。数据类型:确定了变量中可以保存哪种数据。确定了变量中可以保存哪种数据。变量的分类:属性变量和用户声明变量变量的分类:属性变量和用户声明变量42二、变量与常量二、变量与常量1、变量、变量变量的命名原
37、则:变量的命名原则:长度不能超过长度不能超过255个字符;个字符;必须以字母或汉字为首字母,不能以数字或下划必须以字母或汉字为首字母,不能以数字或下划线为开头;线为开头;变量名由字母、汉字、数字或下划线组成,不能变量名由字母、汉字、数字或下划线组成,不能含有含有+、*、/、$、&、%、!、!、#、?、小、?、小数点或逗号等字符;数点或逗号等字符;不能使用不能使用VB中的关键字,中的关键字,VB中的关键字是系统中中的关键字是系统中已经定义的词,如语句、函数、运算符等;已经定义的词,如语句、函数、运算符等;变量名在同一范围内必须是唯一的,变量名在同一范围内必须是唯一的,VB中字母不中字母不区分大小
38、写,以第一次出现的变量形式为准;区分大小写,以第一次出现的变量形式为准;必要时可以在变量名前加前缀或变量名后加后缀必要时可以在变量名前加前缀或变量名后加后缀以说明变量的类型;以说明变量的类型;尽量避免使用汉字作为变量名。尽量避免使用汉字作为变量名。区别于区别于C语言语言pVB中,必须以字母或汉字为首字母;中,必须以字母或汉字为首字母;C中,中,第一个字符必须是字母或下划线;第一个字符必须是字母或下划线;p VB中,变量名长度不超过中,变量名长度不超过255个字符;个字符;C中,无明确规定,具体取决于编译系统规定;中,无明确规定,具体取决于编译系统规定;p VB中,变量名字母不区分大小写;中,变
39、量名字母不区分大小写; C中,中,变量名字母区分大小写,表示不同变量变量名字母区分大小写,表示不同变量43二、变量与常量二、变量与常量1、变量、变量变量的声明:用一个语句定义变量的类型,又称变量的声明:用一个语句定义变量的类型,又称显式声明。显式声明。声明变量的语句并不把值分配给变量,只是告知声明变量的语句并不把值分配给变量,只是告知变量将会包含的数据,只有变量赋值后,才占变量将会包含的数据,只有变量赋值后,才占据存储空间。据存储空间。Dim X As Single, Y As Single Public H!Static StuName, StuAge As StringDim|Privat
40、e|Public| Static 变量名变量名 As类型类型, 变量名变量名2 As 类型类型2 Dim|Private|Public| Static 变量名变量名 , 变量名变量名区别于区别于C语言语言pVB中,中,Dim i As Integer;C中,中,int i; ;pVB中,必须每个变量均指定类型中,必须每个变量均指定类型Dim i As Integer, a As String;C中,可以用一个关键中,可以用一个关键词声明多个变量,词声明多个变量,int i, a; ;pVB中,中, Dim a, b, c, d As Integer 此时只此时只有有d 为整型,其他为变体型为整
41、型,其他为变体型pC中,中,int a, b, c, d / a, b, c, d 均为整型均为整型p VB中,可以用类型说明符来标识数据类中,可以用类型说明符来标识数据类型;型;44二、变量与常量二、变量与常量1、变量、变量使用声明语句建立一个变量后,使用声明语句建立一个变量后,VB自动为声明过自动为声明过的变量赋初值。的变量赋初值。数值型数值型 初值为:初值为: 0字符或字符或Variant型型 初值为:初值为: “”“” 空串空串Boolean 型型 初值为:初值为:False日期型日期型 初值为:初值为:00:00:00声明变量后,声明变量后,VB自动转换变量值的类型,使变量自动转换变
42、量值的类型,使变量的值与说明语句中的类型匹配。的值与说明语句中的类型匹配。Dim X As Integer A = 1.0 自动将自动将A的值的值1.0转换为整型数转换为整型数145二、变量与常量二、变量与常量1、变量、变量强制显式声明变量:强制显式声明变量:在类模块、窗体模块或标准模块的声明段加入语在类模块、窗体模块或标准模块的声明段加入语句,作用范围语句所在模块;句,作用范围语句所在模块;工具工具 选项选项编辑器(要求声明变量)编辑器(要求声明变量)隐式声明变量:在第一次使用变量时,在变量名隐式声明变量:在第一次使用变量时,在变量名后加上类型修饰符后加上类型修饰符Option Explic
43、it区别于区别于C语言语言pVB中,变量可以不声明就使用,默认为中,变量可以不声明就使用,默认为变体型;变体型;C中,变量必须先声明,后使用,中,变量必须先声明,后使用,否则报错;否则报错;46二、变量与常量二、变量与常量2、常量、常量常量是在程序运行过程中固定不变的量。常量是在程序运行过程中固定不变的量。通常采用有意义的标识符表示常量值,由此提高通常采用有意义的标识符表示常量值,由此提高源代码的可读性和可维护性。源代码的可读性和可维护性。常量分类:直接常量、符号常量(用户声明的符常量分类:直接常量、符号常量(用户声明的符号常量、系统常量)号常量、系统常量)47二、变量与常量二、变量与常量2、
44、常量、常量直接常量:是指直接用值表示的常量。直接常量:是指直接用值表示的常量。包括字符串常量包括字符串常量(可以是除双引号、回车符、换行可以是除双引号、回车符、换行符外的所有字符符外的所有字符)、数值常量、逻辑常量、日期、数值常量、逻辑常量、日期常量常量 “DATE”、 “ 123”、 “ +”、 “!”-23、 &H45、 -23、 &H45、 12.35 、12.35#、 50、50.756True、 #12/20/2012#、 #14:20:30# 48二、变量与常量二、变量与常量2、常量、常量符号常量:用一个符号表示一个固定不变的量。符号常量:用一个符号表示一个固定不变的量。用户自定义
45、符号常量用户自定义符号常量 系统内部定义的符号常量系统内部定义的符号常量VB和控件提供的和控件提供的可与应用程序的对象、方法和属性一起使用,编程时可与应用程序的对象、方法和属性一起使用,编程时也可以直接使用也可以直接使用选择选择“视图视图”中的中的“对象浏览器对象浏览器”命令可查看内部常命令可查看内部常量量 Const PI As Double= 3.1415926Const Max# = 23.45Const As =区别于区别于C语言语言p VB 中声明符号常量关键词为中声明符号常量关键词为Const,格式为格式为 Const 常量名常量名= 表达式表达式; C中声中声明符号常量用宏语句明
46、符号常量用宏语句 #define 常量名常量名 常常量量(没有等号,不可放在函数内没有等号,不可放在函数内)p C中还可用语句定义中还可用语句定义 const 数据类型数据类型 常量名常量名=常量;常量;(可放于函数内可放于函数内)49一、基本数据类型一、基本数据类型二、变量与常量二、变量与常量三、运算符和表达式三、运算符和表达式四、常用内部函数四、常用内部函数五、语句五、语句50三、运算符和表达式三、运算符和表达式1、运算符、运算符(Operator)运算符运算符: 代表某种运算的符号代表某种运算的符号2、表达式、表达式(Expression)运算符与操作数连接起来组成表达式运算符与操作数连
47、接起来组成表达式表达式可以用来执行运算、操作字符和测试数据,表达式可以用来执行运算、操作字符和测试数据,每个表达式产生唯一的值。每个表达式产生唯一的值。表达式的类型由运算符的类型决定。表达式的类型由运算符的类型决定。51三、运算符和表达式1、运算符算术运算符字符串运算符日期运算符关系运算符逻辑运算符2、表达式算术表达式字符串表达式日期表达式关系表达式逻辑表达式运算符的优先级类型转换 52三、运算符和表达式三、运算符和表达式1、算术运算符和算术表达式、算术运算符和算术表达式运算对象为数值型数据运算对象为数值型数据表达式中的表达式中的*不能省略不能省略; 上下标上下标进行除法进行除法(包括整除包括
48、整除)运算时除数为运算时除数为0,或进行幂运,或进行幂运算指数为负数而底数为算指数为负数而底数为0,产生溢出的错误信息。,产生溢出的错误信息。、Mod: 幂和负号相邻时,负号优先幂和负号相邻时,负号优先32 Mod 7 值为值为 225.58 Mod 6.91 取整取整 后取余,值为后取余,值为 51/2 0.512 02 -3 值为值为 0.12553三、运算符和表达式1、算术运算符和算术表达式p 整除时,如果参与运算的数据整除时,如果参与运算的数据含有小数,首先将其四舍五入,含有小数,首先将其四舍五入,然后再运算然后再运算p 结果截尾为整数结果截尾为整数p 如果参与运算的数据含有小数,如果
49、参与运算的数据含有小数,首先将其四舍五入,然后再取余首先将其四舍五入,然后再取余区别于区别于C语言语言p 取模运算取模运算: VB 中为中为Mod,如果参与数为,如果参与数为浮点型,先四舍五入,再运算浮点型,先四舍五入,再运算; C 中为中为%,如果参与数为浮点型,报错,如需运算,先如果参与数为浮点型,报错,如需运算,先强制类型转换强制类型转换p 除法运算除法运算: VB中区分除和整除中区分除和整除; C中只有中只有除法运算,但如果两整数相除,结果舍去小除法运算,但如果两整数相除,结果舍去小数保留整数,相对应数保留整数,相对应VB整除,当有一个为整除,当有一个为浮点型,结果为浮点型,相对应浮点
50、型,结果为浮点型,相对应VB除除p 幂运算幂运算: VB中有幂运算符中有幂运算符; C 中没有,要中没有,要靠函数实现靠函数实现(math.h)54三、运算符和表达式三、运算符和表达式1、算术运算符和算术表达式、算术运算符和算术表达式算术表达式又称数值型表达式算术表达式又称数值型表达式算术表达式由算数运算符、数值型常量、变量、算术表达式由算数运算符、数值型常量、变量、函数和圆括号组成函数和圆括号组成算术表达式结果为一个数值算术表达式结果为一个数值55三、运算符和表达式三、运算符和表达式1、算术运算符和算术表达式、算术运算符和算术表达式算术表达式的书写规则算术表达式的书写规则(p22)算术表达式