VisualBasic语言基础.ppt_第1页
VisualBasic语言基础.ppt_第2页
VisualBasic语言基础.ppt_第3页
VisualBasic语言基础.ppt_第4页
VisualBasic语言基础.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章VisualBasic语言基础,第2章VisualBasic语言基础,VB使用BASIC语言为语言基础,并得到了较大的扩展,既可以通过语言流程结构控制程序,也可以轻松地处理VB的对象和控件。,2.1数据类型为了更好地处理各种各样的数据,VB定义了多种数据类型,表2-1列出了VB中定义的全部标准数据类型。,表2-1VB6.0的标准数据类型,2.1.1基本数据类型VB提供的基本数据类型有以下几种1.常规整型数(Integer)常规整型数简称为整型数,表示不带小数点和指数符号的数,其内部存储空间和范围如表2-1所示。2.长整型数(Long)长整型数的数字组成与整数相同,正号可以省略,并且在数值中不能出现逗号(分节符)。长整型数内部存储空间和范围如表2-1所示。,3.单精度数(Single)单精度数的内部存储空间和范围如表2-1所示。可表示最多7位有效数字的数,小数点可以位于这些数字的任何位置,正号可以省略。单精度数可以用定点形式和浮点形式来表示。单精度数的定点形式是在该范围内含有小数的数。单精度数的浮点形式是用科学计数法,即以10的整数次幂表示的数,以“E”来表示底数10。4.双精度数(Double)双精度数的内部存储空间和范围如表2-1所示。可表示最多15位有效数字的数,小数点可以位于这些数字的任何位置,正号可以省略。双精度数也有定点和浮点两种形式。,5.货币型(Currency)货币型数的内部存储空间和范围如表2-1所示。Currency数据类型支持小数点右面4位和小数点左面15位,它是一个精确的定点数据类型,适用于货币计算。浮点(Single和Double)数比Currency的有效范围大得多,但有可能产生小的进位误差。,6.字符(String)型数据字符型数据是指一切可打印的字符和字符串,它是用双引号括起来的一串字符。一个西文字符占一个字节,一个汉字或全角字符占两个字节。字符串允许的最大长度见表2-1。在VB中有两种类型字符串:变长字符串和定长字符串。1.变长字符串可变长字符串是指字符串的长度是不固定的,随着对字符串变量赋予新的字符串,它的长度可增可减。按照缺省规定,一个字符串如没有定义成固定长的,都属于可变长字符串。声明一个变长字符串:PrivateSAsString,2.定长字符串固定长字符串是指它在程序执行过程中,始终保持其长度不变的字符串。如果赋予字符串的字符少于声明个数,则用空格将不足部分填满。如果赋予字符串的长度超过声明个数,则截去超出部分的字符。声明一个定长字符串:DimSAsString*20,7.布尔(Boolean)型数据布尔型数据只有两个值:真(True)和假(False),经常被用来表示逻辑判断的结果。任何只有两种状态的数据,如True或False、Yes或No、On或Off等,都可以表示为布尔型。当把数值型数据转换为Boolean型时,0会转换为False,其他非0值转换为True。当把Boolean值转换为数值型时,False转换为0,True转换成1。,8.日期(Date)型数据Date型数据用来表示日期和时间,可以表示多种格式的日期和时间。Date型数据用两个“#”符号把表示日期和时间的值括起来,就像字符串数据用双引号括起来一样。例如:#11/18/1999#,#1999-11-18#,#11/18/199910:28:56pm#。如果输入的日期或时间是非法的或不存在的,系统将提示出错。,9.对象(Object)型数据Object型数据可用来表示应用程序中或某些其他应用程序中的对象。Object变量作为32位(4个字节)地址来存储,该地址可引用应用程序中或某些其他应用程序中的对象。可以用Set语句指定一个被声明为Object的变量去引用应用程序所识别的任何实际对象。例如:DimobjDbAsObjectSetobjDb=OpenDatabase(c:Vb6Biblio.mdb),10.可变(Variant)类型数据Variant类型的数据能够表示所有系统定义类型的数据,当把它们赋予Variant型时,不必在这些数据的类型间进行转换,VB会自动完成任何必要的转换。要尽量少用Variant数据类型,以避免发生错误。如果对Variant变量进行数学运算,则Variant必包含某个数。如果连接两个字符串,则应该用“&”操作符,而不要用“+”操作符。,2.2变量变量就是命名的内存单元位置,一旦定义了某个变量,该变量表示的都将是同一个内存位置,程序员使用变量名,就可在程序的其他部分引用该内存位置,直到释放该变量。变量有两个特性:名字和数据类型。变量的名字用于在程序中标识变量和使用变量的值,数据类型则确定变量中能保存哪种数据。,2.2变量2.2.1变量的命名规则变量名可以是任何有效的标示符,但不能是关键字(VB的关键字是指VB中系统已经定义的词,如命令语句、内部函数、运算符名等),并且必须以字母或下划线开头,如:sum,a2,不能是2a。变量名的最大长度是255个字符,只能含字母、数字和下划线。名字的有效字符个数为40个;不能使用VB的保留字作为变量名,但可以把保留字嵌入变量名中。VB是不区分大小写的,所以认为a1和A1是相同的。关键字也是不区分大小写的,VB自动地设置关键字的第一个字母为大写,因此输入的dim将转变为Dim。,Microsoft推荐的变量命名规则为:变量名以小写字母开头,第一个单词后面的每个单词都以大写字母开头,其它字母小写,以保证对变量名能够进行正确的断句。例如:userTable、name、dateHired等。在为变量命名时还应注意:1)尽可能简单明了,尽量不要使变量名太长,因为太长了不便于阅读和书写。2)变量名不能与过程名和符号常量名相同。3)变量名在同一个范围内必须是惟一的。,2.2.2变量的声明与其他语言不同,VB不要求在使用变量前特别声明。如果没有声明变量,VB使用称为“可变类型(Variant)”的缺省数据类型。然而,使用可变类型存储通用信息有两个缺点:一是它会浪费内存空间,二是在与某些数据处理功能同时使用时可变类型可能无效。所以,在使用变量前最好先声明变量,把将要用到的数据类型告诉程序。1.声明变量所谓声明变量,就是用一个语句来定义变量的类型,又称为显式声明。声明变量的语句并不把值分配给变量,而是告知变量将会包含的数据。声明语句的语法为Dim|Private|Static|Public变量名As类型,变量名2As类型2,使用声明语句建立一个变量后,VB自动将数值类型的变量赋初值0,将字符或Variant类型的变量赋空串,将布尔型的变量赋False。使用变量时,VB会自动转换变量值的类型,使变量的值与声明语句中的名字相匹配。例如,声明变量为:DimcountAsInteger当为该变量赋值时:count=1.5数1.5为单精度浮点型Single变量count会自动将1.5转换为整型数(Integer)2(四舍五入)。,2.强制显式声明变量语句OptionExplicit声明变量可以有效地降低错误率。为了避免写错变量名引起的麻烦,可以规定在使用变量前,必须先用声明语句进行声明,否则VB将发出警告“Variablenotdefined”(变量未定义)。要强制显式声明变量,可以在类模块、窗体模块或标准模块的声明段中加入语句:OptionExplicit或从“工具”菜单中执行“选项”命令,在打开的“选项”对话框中单击“编辑器”选项卡,再复选“要求变量声明”选项。,2.强制显式声明变量语句OptionExplicitOptionExplicit语句的作用范围仅限于语句所在模块,所以,对每个需要强制显式变量声明的窗体模块、标准模块及类模块,必须将OptionExplicit语句放在这些模块的声明段中。如果选择“要求变量声明”,VB会在后续的窗体模块、标准模块及类模块中自动插入OptionExplicit,这一语句总是显示在代码编辑窗口的顶部。,变量的作用域,1.局部变量在过程中定义的变量称为局部变量,其作用域是它所在的过程。局部变量通常用来存放中间结果或用作临时变量。过程级变量只有在声明他们的过程中才能被识别。可以用DIM或者STATIC关键字来声明他们。例如:DimintTempAsIntegerStaticintPermanentAsInteger在整个应用程序运行时,用STATIC声明的局部变量的值一直存在,而用DIM声明的变量只在过程执行期间才存在。对任何临时计算来说,局部变量是最佳选择。,2.窗体变量和模块变量窗体变量也称为过程级变量,此变量对于某一个过程是专用的,若在该过程以外出现了这些变量则可能是不同的变量或在该过程以外也不能调用该变量。同一窗体内的不同过程在使用同一变量时,必须定义窗层变量。在使用窗体变量之前,必须首先声明,其方法是:在窗口中选择Object项中的(Genera)并在Proc项中选择(Declaration)。,模块级变量对于某一模块是专用的,若某一模块包含几个过程,则模块级变量可用于所有过程。按照缺省规定,模块级变量对该模块的所有过程都可用,但对其他模块的代码不可用。在模块顶部的声明段用Private关键字声明模块级变量,可以建立模块级变量。例如:PrivateintTempAsInteger在模块级,Private和Dim之间没有什么区别。但相比之下,Private更好些,因为它更容易和Public区别开来,使代码更容易理解。,3.全局变量为了使模块级的变量在其他模块中也有效,需要用到全局变量,全局变量是用Public关键字声明的。全局变量中的值可用于应用程序的所有过程。和所有模块级变量一样,也在模块顶部的声明段来声明全局变量。例如:PublicintTempAsInteger,2.3常量常量是指在程序运行过程中始终保持不变的常数、字符串等。在VB中,有两种形式的常量:直接常量和符号常量。直接常量就是在程序代码中,以直接明显的形式给出的数据。符号常量有点像变量,但不能修改,也不能对符号常量赋以新值。,2.3.1直接常量根据使用的数据类型,常量分为:字符串常量、数值常量、布尔常量、日期常量。1.字符串常量字符串常量就是用双引号括起来的一串字符。这些字符可以是除双引号“”和回车、换行符以外的所有字符,例如:A,123。如果一个字符串仅有双引号(即双引号中无任何字符,也不含空格),则称该字符串为空串,即。2.数值常量数值常量就是常数,共有5种数值类型:整数、长整数、定点数、浮点数和字节数。,2.3.1直接常量根据使用的数据类型,常量分为:字符串常量、数值常量、布尔常量、日期常量。3.布尔常量布尔常量只有True(真)和False(假)两个值。4.日期常量用两个“#”符号把表示日期和时间的值括起来表示日期常量。例如:#06/20/2000#。,2.3.2符号常量符号常量又分为两种:内部(系统定义)常量和符号(用户定义)常量。1.系统内部定义的常量内部或系统定义的常量是VB和控件提供的。这些常量可与应用程序的对象、方法和属性一起使用,在代码中可以直接使用它们。可以在“对象浏览器”中的查看内部常量。,图2-3“对象浏览器”窗口,2.用户定义的符号常量(1)符号常量的声明尽管VB内部定义了大量的常量,但是有时程序员还是需要创建自己的符号常量。用户定义常量使用Const语句来给常量分配名字、值和类型。声明常量的语法为:Public|PrivateConst常量名As数据类型=表达式等号“=”右边的表达式往往是数字或字符串,但也可以是其结果为数或字符串的表达式(尽管表达式不能包含函数调用)。甚至可用先前定义过的常量定义新常量。Constpi2=pi*2常量一经定义,就可将其放置在代码中,使代码更可读。例如:StaticsolarSystem(1TomaxPlanets)IfpeopleworldPopThenExitSub,(2)符号常量的使用规则与变量声明一样,Const语句也有范围,也使用相同的规则:1)为创建仅存在于过程中的常量,应在该过程内部声明常量。如Consta=20。2)为使常量对模块中所有过程都有效,但对模块之外任何代码都无效,应在模块的声明段中声明常量。如PrivateConsta=20。3)为创建在整个应用程序中有效的常量,应在标准模块声明段中进行声明,并在Const前放置Public关键字。如PublicConsta=20。在窗体模块或类模块中不能声明Public常量。4)可以在一行中声明多个常量ConstMyStr=“Hello”,MyDoubleAsDouble=3.4567,由于常量可以用其他常量定义,因此在两个以上常量之间不要出现循环或循环引用。当程序中有两个以上的公用常量,而且每个公用常量都用另一个去定义时就会出现循环。例如:在Module1中:PublicConsta=b*2在整个应用程序中有效在Module2:PublicConstb=a/2在整个应用程序中有效如果出现循环,在试图运行此应用程序时,VB就会产生错误信息,不解决循环引用就不能运行程序。为避免出现循环,可将公共常量限制在单一模块内,或最多只存在于少数几个模块内。,2.4表达式表达式可用来执行运算、操作字符或测试数据,每个表达式都产生惟一的值。表达式的类型由运算符的类型决定。在VB中有5类运算符和表达式:算术运算符和算术表达式、字符串运算符和字符串表达式、日期运算符和日期表达式、关系运算符和关系表达式、布尔运算符和布尔表达式。本章先介绍前3类,关系运算符和关系表达式、布尔运算符和布尔表达式将在第4章中作详细介绍。,2.4.1算术表达式算术表达式也称数值型表达式,由算术运算符、数值型常量、变量、函数和圆括号组成,其运算结果为一数值。算术表达式的格式为:数值1算术运算符1数值2算术运算符2数值31.算术运算符VB有7个算术运算符,见表2-2。在这7个算术运算符中,只有取负“”是单目运算符,其他均为双目运算符。加(+)、减()、乘(*)、浮点除法(/)、取负()、乘方()运算的含义与数学中基本相同。进行除法(包括整除)运算时除数为0或进行乘幂运算时指数为负数而底数为0时,都会产生算术溢出的错误信息。,表2-2算术运算符,2.表达式的书写规则算术表达式与数学中的表达式写法有所区别,在书写表达式时应当特别注意:1)每个符号占1格,所有符号都必须一个一个并排写在同一横线上,不能在右上角或右下角写方次或下标。例如:23要写成23,x1+x2要写成x1+x2。2)原来在数学表达式中省略的内容必须重新写上。例如:2x要写成2*x。3)所有括号都用小括号(),括号必须配对。例如:3x+2(y+z)必须写成3*(x+2*(y+z)。4)要把数学表达式中的有些符号,改成VB中可以表示的符号。例如:要把2r改为2*pi*r。,3.算术运算符的优先级表2-3按优先顺序由高到低列出了算术运算符。表2-3运算符的优先顺序其中乘和浮点除是同级运算符,加和减是同级运算符。当一个表达式中含有多种算术运算符时,将按上述顺序求值。如果表达式中含有括号“()”,则先计算括号内表达式的值。,2.4.2字符串表达式一个字符串表达式由字符串常量、字符串变量、字符串函数和字符串运算符组成。VB只有一种字符串运算符,即连接运算符“&”,该运算符用于连接两个或更多的字符串。字符串表达式的格式为:字符串1&字符串2&字符串3当两个字符串用连接运算符连接起来后,第2个字符串直接添加到第1个字符串的尾部,结果是一个更长的、包含两个源字符串的全部内容的字符串。如果要把多个字符串连接起来,每两个字符串之间都要用“&”号分隔。例如:ABC123&666xyz连接后结果为:ABC123666xyz计算机&世界连接后结果为:计算机世界12345&abcd&xyz连接后结果为:12345abcdxyz,除用“&”把两个表达式强制连接成一个字符串外,还可以用“+”把两个字符串连接成一个字符串。为了避免与算术加法运算符产生混淆,应该用“&”号。另外,“&”会自动将非字符串类型的数据转换成字符串后再进行连接,而“+”则不能自动转换。,2.4.3日期表达式日期型表达式由算术运算符“+、”、算术表达式、日期型常量、日期型变量和函数组成。日期型数据是一种特殊的数值型数据,它们之间只能进行加“+”、减“”运算。有下面3种情况:1)两个日期型数据可以相减,结果是一个数值型数据(两个日期相差的天数)。例如:#12/19/1999#11/16/1999#结果为数值型数据:332)一个表示天数的数值型数据可加到日期型数据中,其结果仍然为一日期型数据(向后推算日期)。例如:#11/16/1999#+33结果为日期型数据:#1999-12-19#3)可从日期型数据中减掉表示天数的数值型数据,其结果仍然为一日期型数据(向前推算日期)。例如:#12/19/1999#33结果为日期型数据:#1999-11-16#,2.5常用内部函数在VB中,有两类函数:内部函数和用户定义函数。用户定义函数是由用户自己根据需要定义的函数。内部函数也称标准函数,VB提供了大量的内部函数。在这些函数中,有些是通用的,有些则与某种操作有关。这些函数可分为:转换函数、数学函数、字符串函数、日期时间函数、随机函数。下面列出一些常用的内部函数,其具体用法和示例请读者查阅联机帮助MSDNLibraryVisualStudio6.0(CHS)。,2.5.1取整函数Int和Fix进行Int和Fix操作之后,返回一个数的整数部分,即进行了取整运算。基本的格式为:Int(number)Fix(number)Number可以是任何数,如果它为NULL,则返回NULL。注意:Int和Fix都返回的是整数,它们的区别在于前者是取不大于变量的最大整数;而后者只是返回浮点型变量的整数部分。当number为正数时,它们的返回结果是相同的,当当number为负数时,INT的值比Fix的值小1。例如:Int(1.4)=1,Fix(1.4)=1Int(-1.4)=-2,Fix(-1.4)=-1,2.5.2格式输出函数用格式输出函数Format()可以使数值、日期或字符型数据按指定的格式输出。Format函数的语法格式为:Format(表达式,格式字符串)说明:1)表达式可以是数值型、日期型或字符型的表达式。2)格式字符串是一个字符串常量或变量,由专门的格式说明字符组成。这些说明字符决定了数据项表达式的显示格式和长度。,2.5.2格式输出函数3)当格式字符串是字符串常量的时候,必须放在双引号中。4)格式输出函数Format()返回一个Variant类型的值。格式说明字符按照类型可以分为数值型、日期型和字符型.,2.6程序语句VB程序中的一行代码称为一条程序语句,简称为语句。2.6.1语句语句是执行具体操作的指令,每个语句行以回车(Enter)键结束。一个语句行的长度最多不能超过1023个字符。一个完整的程序语句可以简单到只有一个关键字,例如:stop语句也可是各种元素的组合,如下面语句,把当前系统时间赋值给标签的Caption属性:Label1.Caption=Time对象名属性名VB函数赋值号,2.6.2语句的书写规则在编写程序代码时要遵循一定的规则,这样写出的程序既能被VB正确地识别,又能增加程序的可读性。缺省情况下,在输入语句的过程中,VB将自动对输入的内容进行语法检查,如果发现语法错误,将弹出一个信息框提示出错的原因。VB还会按约定对语句进行简单的格式化处理,例如关键字、函数的第1个字母自动变为大写。1.一行中的多条语句一般情况下,输入程序时要求一行写一个语句。但是也可以使用复合语句行,即把几个语句放在一个语句行中,语句之间用冒号“:”隔开。,2.6.2语句的书写规则2.语句的续行当一条语句很长时,在代码编辑窗口阅读程序时将不便查看,使用滚动条又比较麻烦。这时,就可以使用续行功能,用续行符“_”将一个较长的语句分为多个程序行。在使用续行符时,在它前面至少要加一个空格,并且续行符只能出现在行尾。,2.6.4基本语句1.赋值语句在前面的例子中,已经在代码中使用了一个最基本的命令语句:赋值语句。赋值语句可以将指定的值赋给某个变量或对象的某个属性,例如代码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论