




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VB讲稿(2)第三章 Visual Basic 程序设计VB应用程序由相互独立的过程和函数组成,这些过程和函数只有在它对能识别的事件做出反映时才被激活。1 VB程序的书写规范和程序注释一、VB的语句例:计算圆柱体的体积SUB AAA()DIM R,H,VR=4:H=5V=3。14159*R*R*HPRINT “V=”;VEND SUBVB程序是由若干语句构成的格式:行号语句定义符语句体语句结束符 :可选项 :必选项 由用户指定语句定义符:规定该语句的功能,由系统规定语句体:提供该语句所需说明的具体内容或要执行的操作语句结束符:ENTER或:注:一行可写多条VB语句,用冒号分隔续行标志:“_”(一个空格紧跟一条下划线)二、程序注释在程序中使用注释是一个很好的习惯。程序员可以使用注释来说明自己编写某段代码或声明某个变量的目的,方便自己或他人阅读程序,也增强了程序的可移植性。注释语句不执行。1、 REM语句格式:REM 注释不能写在语句后2、 单引号格式: 注释可写在语句后2 VB的数据数据是程序处理的对象,VB具有丰富的数据类型。一、 数据类型VB中数据有11种标准类型,还容许用户自定义数据类型1、 整型(Integer) 2B -32768-32767 %整型数表示不含小数点的十进制数。 占16位类型说明符:%2、 长整型(Long) 4B -21474836482147483647类型说明符:&3、 单精度浮点型(Single) 4B -3.402823E383.402823E38浮点数:用科学计算法表示的实数,有效数字最多7位,E表示指数符号如:3.14E2 4E E8 0.27E-11 E类型说明符:!4、双精度浮点型(Double) 8B -1.79769313486232D3081.79769313486232D308 有效数字最多15位,D表示指数符号类型说明符:#5、字节型(Byte) 1B 0255表示0255间的无符号数,用于访问二进制文件、图形或声音文件6、字符串类型(String)字符串是由一对引号括起来的一串字符(不包括引号本身)类型说明符:$(1) 定长字符串:164KB字符(2) 变长字符串:02GB字符例:123”abc“123”abc”7、布尔型(Boolean) 2B 布尔型数据只有两个取值:True(真)或False(假)数值型数据 0False 布尔型数据数值型数据 1True 布尔型数据8、货币型(Currency) 8B -922337203685447.5808922337203685447.5807有效数字最多19位,用于金融领域,包括4位小数类型说明符:9、日期型(Date) 8B 日期范围:100年1月1日9999年12月31日时间范围: :函数:DATE():返回当前日期TIME():返回当前时间10、对象型(Object) 4B 任何对象引用,是一种保持和引用控件和窗体等对象的特殊数据型11、变体型(variant) 16B变体型数据是一种数据类型可以改变的数据类型,是VB的缺省数据类型。例如,当用户将一个变量定义为变体型时,则该变量在程序执行过程中,可根据程序的需要存入任何值(可以是整型、长整型、字符串、货币型、单精度浮点型或双精度浮点型)。变体包含两部分的信息:数据类型和该类型的代码,显然,变体型包含的信息多,占用的存储容量大,一般不提倡用变体型。12、自定义类型将不同的变量类型组合在一起定义为一种新的数据类型格式:Type 自定义类型名变量名1 AS 类型1变量名2 AS 类型2变量名n AS 类型nEnd Type例:Type 学生学号 AS Integer姓名 AS String*8出生日期 AS DateEnd Type二、常量在数据处理过程中保持不变的量称为常量或是在程序运行期间其值始终保持不变的量1、 数值常量数符整数.小数E/D指数符指数由正负号、数字和小数点组成整数:123、-223、34556长整数:1787234、-9876523单精度数:123.3、9.876E2、-8.765E-5、3E、E3、E双精度数:-8.98762653D-7八进制数(&O):&O137=(95)10十进制数(&H):&H137=(311)102、 字符常量字符常量是由一对引号括起来的一串字符(不包括引号本身)字符串长度:064KB“STAR”、“姓名”、“-3.14”、“A”、“a”、“ ”、“”3、 逻辑常量逻辑型常量只有两个取值:True(真) 和 False(假)4、 日期常量日期常量的一般表示形式是:#mm/dd/yyyy# 如:1999年6月12日可表示为:#6/12/1999# #99,6,12# 用“#”将日期型数据括起来是为了与字符型数据区分开。5、 符号常量以符号形式表示的常量称为符号常量符号称为常量名,由不超过255个字符,以字母开头的字母、数字、下划线组成在代码中经常要用到一些数字,它们一次又一次地的反复出现,有时这些数字很长且没有明确意义,很难记,在这些情况下,用标识符代替常数可以大幅度地改进代码的可读性和可维护性。符号常量是有意义的名字,用以取代在程序运行中永远不变的数值或字符串。它与一般变量唯一的区别是:在符号常量的作用范围内既不允许给其重新赋值,也不允许改变其值。例如,若定义 Number=12后,再在程序中使用Number=45将是错误的。VB中有许多内部符号常量,但也可以建立自定义符号常量。使用符号常量之前要先声明,即先声明后使用。 在VB中,声明符号常量的语法是:格式: Public | Private Const 常量名 AS 类型 = 表达式其中:const为关键字,它表示本行中的语句为符号常量的说明语句; 常量名:是符号常量标识符 表达式:是由数值常数或字符串常数以及运算符组成的表达式,但在表达式中不能使用函数调用Public:全局声明,该常量可以在所有模块的所有过程中使用Private:(缺省):局部声明,该常量只能在声明的模块中使用例:Const pi=3.14159265358979 Public Const temp as integer=6 Const birthday=#6/12/97# Public Const st=”abcdef”如果用逗号进行分隔,则在一行中可放置多个常量声明: Const pi=3.1415926, Const birthday=#6/12/97#三、变量在数据处理过程中可以改变的量称为变量。是在程序运行期间其值可以改变的量。变量用于在程序运行期间临时保存数据1、变量的命名规则由不超过255个字符,以字母开头的字母、数字、下划线组成,不能使用保留字不区分大小写,但VB代码编辑器自动将变量名改变成变量说明时的大小写格式例:X1、Y-2、4E、8Z、A+B、“ABC”、DIM、COS、姓名、WANG PING注:变量不同于数学中的变量,具有破坏性写入,不破坏性读出的特点8X:2、变量声明变量类型通过变量声明指定(1) 在使用的变量名后加类型说明符(隐式声明)例:S1!、VAR1%、TEMP#、NAME$、余额(2) 用变量声明语句声明(显式声明)格式:DIM|PUBLIC|PRIVATE|STATIC 变量名AS 类型名注:类型缺省为变体型 局部变量(过程级变量)在过程中声明,仅在声明它的过程中有效(I)动态变量(过程执行完即撤消该变量)格式:DIM 变量名AS 类型名初始值:数值型变量为0;字符串型变量为空串“”;布尔型为False(II)静态变量(过程结束时值仍保留,在应用程序执行的整个期间值不消失,即下一次调用过程时,该变量仍保留上一次过程结束时的值)格式:STATIC 变量名AS 类型名 模块/窗体级变量在窗体或标准模块中声明,在定义该变量的模块或窗体的所有过程中均有效格式:DIM|PRIVATE 变量名AS 类型名常用PRIVATE 全局变量(公用变量)在窗体或标准模块中声明,在工程中的所有过程中均有效格式:PUBLIC 变量名AS 类型名注意:在过程中不能使用Public或Private关键字声明变量,这两个关键字只能在模块的声明段中使用。定长字符型变量的声明:格式:DIM 变量名AS String*Size标准模块用PRIVATE和PUBLIC窗体和类模块只能用PRIVATE3、Option Explicit语句编程过程中,在使用一个变量之前应该先声明。不过在VB中,也允许不经声明就直接使用某个变量。格式:Option Explicit功能:强制每个变量必须显式声明,系统一旦发现未加显式声明的变量,将产生出错信息用户还可以在“工具”菜单中选取“选项”命令,然后单击“选项”对话框中的“编辑器”选项卡,在选中“要求声明变量”选项,这样VB就会在任何新模块中自动插入Option Explicit语句,但不会在已经建立起来的模块中自动插入。所以对已经建立好的模块,只能用手工方法向现有模块添加Option Explicit语句。4、 模块模块是存储在单个文件内各个过程的完整集合,是VB将不同类型过程代码组织到一起而提供的一种结构。有三类模块:窗体模块(FRM)、标准模块(BAS)、类模块(CLS)(1) 窗体模块(FRM):每个窗体均有一个窗体模块,它不仅包含用于处理发生在窗体中各个对象的事件过程,而且包括窗体中各个控件的属性和相关说明。(2) 标准模块(BAS):在应用程序中可被多个窗体的代码所调用(3) 类模块(CLS):包含用于创建新的对象类属性、方法的定义5、变量的作用范围 变量的作用范围确定了能够识别并使用变量的那部分代码。在一个过程内部声明变量时,只有过程内部的代码才能访问或改变那个变量的值。如果需要使用具有更大范围的变量,使它对于同一模块内的所有过程都有效,甚至对整个应用程序的所有过程都有效,这就需要声明模块级的变量。 作 用 范 围 局部变量 模块级变量 公用变量 声明方式 Dim ,Static Dim,Private Public 变量的声明位置 过程中 模块声明段中 模块声明段中 能否被本模块中其他过程访问 能否被其他模块访问 VB规定:在同一模块中不允许定义同名的全局变量或同名的模块级变量如同名变量前不加模块名或过程名,引用过程中,按局部变量模块变量全局变量优先次序引用6、Variant类型当使用Dim temp 或Public temp,没有显式指定变量类型的语句声明变量时,VB默认这个变量的类型为Variant类型。Variant是一种特殊的数据类型,除了定长的String数据及用户定义的类型外,可以包含任何种类的数据。如果把它们赋予了Variant变量,则不必在这些数据的类型间进行转换,Visual Basic会自动完成任何必要的转换。除了可以包含各种类型的数据外,Variant类型的变量也可以包含Empty、Error及Null等特殊值。(1)Empty值Empty值用来标记尚未初始化的Variant变量,在赋值之前,Variant变量具有Empty,但Empty值是不同于、零长度字符串(“”)或NULL值的特定值,程序员可以用IsEmpty函数来测试一个变量是否具有Empty值:if IsEmpty(z) then z=0当Variant变量包含mpty值时,可以在表达式中使用它,在数值上表示0,在字符串中表示空串”,只要将任何值(包括0,空串或NULL)赋予Variant变量,Empty的值就会消失,而将Empty赋予Variant变量,就可将Variant变量恢复为Empty。(2)NULL值Variant数据类型还包含一个特定值:NULL,NULL通常用于数据库应用程序,如果要测试Variant变量是否包含NULL值,可以使用IsNull函数。Null通过Variant变量来传播。注意:Null是表示Variant变量确实包含一个无效数据,而Empty表示变量中空空如也。(3)Error值在数据类型中,Error是用来指示在过程中出现错误的特殊值,但不象其他类的错误那样,程序并不产生普通的应用程序级的错误处理,这可人为根据此错误值采取另外的行动。可用CVErr函数将实数转换为错误值来产生Error值四、VB公共函数VB公共函数由系统提供的可在任何程序中使用的程序段格式:函数名(形式参数表)调用格式:函数名(实在参数表)1、VB常用的算术函数: 函 数 名 功 能 Sqr(x)求平方根值Log(x)求自然对数,X0Exp(x)求以e为底的幂值Abs(x)求x的绝对值Hex($)(x)求x的十六进制Oct$(x)求x的八进制Rnd(x)产生一个在(0,1)区间的均匀分布的随机数,若x=0则给出的是上一次利用本函数产生的随机数Sgn(x)求x的符号,当x0返回1;x=0返回0,x 大于 =大于或等于 =小于或等于 =等于 不等于 注:字符串比较法则:逐个(字符)比较,遇大则大,长大短小,全部相同,才是相等。字符型数据按照其机内码顺序进行比较,西文字符按ASCII码值比较,汉字按汉字国际码比较。ASCII码值由小到大:空格数字大写字母小写字母例:“A”“a”、“2A” “A”3、 逻辑表达式(结果为逻辑值TRUE或FALSE)逻辑运算符有:NOT(非),AND(与),OR(或) XOR(异),EQV(同)。条件A条件BNOT AA OR BA AND BA XOR BA EQV BFFTFFFTFTTTFTFTFFTFTFTTFTTFT例:设X=5,Y=100 则(1)(X+Y)X2 AND NOT(X=10)(2)NOT X*Y=500 AND X0 OR X10(3)NOT (X*Y=500 AND (X0 OR X10)(4)0X100(5)XY或Y=1(6)X是一个正整数,Y是一个负整数(7)X是一个带小数的正数,Y是一个带小数的负数(8)X是一个奇数,Y是一个偶数(9)X、Y均是正整数或均是负整数(10)X、Y之一为0但不能同时为0(11)X能被Y整除(12)C1+C2+C3大于等于255或C1与C2分别大于90且C3大于80例:判断某年是否是闰年:能被4整除,但不能被100整除,或能被400整除4、 字符表达式连接运算符:& 强制两个表达式作字符串连接,而忽略操作数的类型, 如果两个表达式都是字符串则将两个字符串连接,如果一个是字符串另一个是数字则进行相加运算操作表达式表达式“&”运算结果“”运算结果“123” “3” “1233” “1233” 123 3 “1233” 126 “123” 3 1233 126 “123a” 3 “123a3” 出错5、 其它运算符(1)IS:用于比较两个对象的引用变量格式:对象1IS对象2结果:TRUE:对象1和对象2引用相同对象FALSE:对象1和对象2引用不同对象(2)LIKE:用于比较两个字符串格式:字符串表达式LIKE通配字符串结果:TRUE:匹配FALSE:不匹配通配字符:?和*6、运算的优先顺序在一个表达式中进行若干操作时,每一部分都会按确定的顺序进行计算求解,这个计算顺序就称为运算符的优先级。优先级顺序从高到低是:算术运算符和连接运算符比较运算符(包括IS和LIKE)逻辑运算符。六、数组1、 概念数组是同类变量的有序集合数组中的变量称为数组元素不同的数组元素以不同的下标来区别,又称为下标变量描述一数组中元素所需要的下标个数,称为数组的维数如:矩阵(二维)、双层汽车(三维)、时空结合:层、行、列、时间(四维)层、行、列、时间、日期(五维)2、 数组声明由于数组在内存中要占用大量连续的存储单元,在使用数组前,必须说明数组的名称类型和容量(维数大小),以便系统分配内存单元格式:Dim |Private|Public|Static 数组名(界说明) As 数据类型界说明格式:下界 to 上界,省略下界,缺省为0注:数组大小(元素个数)=每维元素数的乘积每维元素数=上界-下界+1和变量一样,也有全局数组(PUBLIC)、模块级数组(PRIVATE和DIM)、局部数组(DIM和STATIC)如:DIM YEAR(1900 TO 2010) AS INTEGERDIM X(3 TO5,7 TO 8)AS STRINGDIM A(10) AS INTEGERDIM B(2,3,1 TO 10)AS INTEGER(100个元素)二维数组在内存连续存储区域中的排列采用行优先的原则如:X(3,7)、X(3,8)、X(4,7)、X(4,8)、X(5,7)、X(5,8)3、 静态数组(固定数组)和动态数组静态数组:数组声明时指明维数和每一维的下标范围,在使用中,维数和下标范围不得改变动态数组:数组声明时不指明维数和每一维的下标范围,仅用一对圆括号表示,可用REDIM语句对数组的维数和下标范围重新声明格式:ReDim Preserve 数组名(界说明) As 数据类型选Preserve,在对数组重新声明时,会保留原数组中元素的内容,对于多维数组,在用Preserve关键字时,只能改变数组中最后一维的上界。 如: ReDim Preserve TestArr(Ubound(TestArr)+1)ReDim Preserve ThreeD(10,10,Ubound(ThreeD,3)+1)ReDim语句只能出现在过程中。与Dim语句、Static语句不同,ReDim语句是一个可执行语句,应用程序每执行一次ReDim语句,就给数组重新分配一次储存空间,这样就可以使用ReDim语句反复地改变数组的元素以及维数的数目。4、 OPTION BASE语句格式:Option Base 1如果缺省说明语句数组下标的下界,则系统默论的下标下界是0,但在实际使用数组时,很多人希望数组下标的下界从1开始,使用Option Base语句,即可在窗体或标准模块中,将数组下标的缺省值下界设置为1。该语句必须写在窗体或标准模块的所有过程之前,一个模块中只能出现一次Option Base,且必须位于带维数的数组说明语句之前。该语句将使模块中所有缺省说明下标下界为1。5、控件数组在一个窗体内可以包含多个同种类型的控件,比如:有多个文本框,多个命令按钮等。用户可以分别为这些同一类型的控件类对象命名,并编写响应不同事件的时间过程。但用户也可以通过创建一个控件数组的方法使同一类型的控件共享同一事件过程。3 VB的基本语句一、 赋值语句格式:LET变量名=表达式功能:将表达式的值赋值给变量,具有计算和赋值双重功能注:赋值号不同于
温馨提示
- 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版电子购销合同模板
- 护理中医小讲课课件
- 2025年中煤电力有限公司招聘笔试参考题库含答案解析
- 动词教学课件
- 盐雾测试报告
- 外科学教案-腹外疝
- 寺院电路改造方案(3篇)
- 监理公司财务管理制度
- NBT 11551-2024 煤矿巷道TBM法施工及验收标准
- 生产环境条件管理制度
- 试用期员工绩效考核表新版本
评论
0/150
提交评论