第一章教材VB的开发环境课件

上传人:无*** 文档编号:241662263 上传时间:2024-07-14 格式:PPT 页数:70 大小:373KB
返回 下载 相关 举报
第一章教材VB的开发环境课件_第1页
第1页 / 共70页
第一章教材VB的开发环境课件_第2页
第2页 / 共70页
第一章教材VB的开发环境课件_第3页
第3页 / 共70页
点击查看更多>>
资源描述
第三章第三章 VBVB程序设计基础程序设计基础VB应用程序包括两部分,即用户界面和程序代应用程序包括两部分,即用户界面和程序代码。其中用户界面由窗体和控件组成,而程序代码。其中用户界面由窗体和控件组成,而程序代码则由基本的程序元素组成,包括数据类型、常码则由基本的程序元素组成,包括数据类型、常量、变量、内部函数、运算符和表达式等。量、变量、内部函数、运算符和表达式等。3.1数据类型数据类型3.2常量和变量常量和变量3.3变量的作用域变量的作用域3.4运算符与表达式运算符与表达式3.1 3.1 数据类型数据类型数据是程序的必要组成部分,也是程序处理的对象。在高级数据是程序的必要组成部分,也是程序处理的对象。在高级语言中广泛使用语言中广泛使用“数据类型数据类型”这一概念。这一概念。VB提供了系统定义提供了系统定义的数据类型,并允许用户根据需要定义自己的数据类型。的数据类型,并允许用户根据需要定义自己的数据类型。基本数据类型:基本数据类型:字符串型数据、数值型数据、字节、货币、对字符串型数据、数值型数据、字节、货币、对象、日期、布尔和变体数据类型。象、日期、布尔和变体数据类型。(1)字符串)字符串(String)型型数据数据字符串是一个字符序列,由字符串是一个字符序列,由ASCII字符组成,包括标准的字符组成,包括标准的ASCII字符和扩展字符和扩展ASCII字符。在字符。在VB中,字符串是放在双引号内的若中,字符串是放在双引号内的若干个字符,其中长度为干个字符,其中长度为0(即不含任何字符)的字符串称为空字(即不含任何字符)的字符串称为空字符串。符串。字符串通常放在双引号中,但输出时不显示双引号。例如:字符串通常放在双引号中,但输出时不显示双引号。例如:“Hello”“vb6.0程序设计程序设计”“”(空字符串)(空字符串)Vb中的字符串分为两种,即变长字符串和定长字符串。中的字符串分为两种,即变长字符串和定长字符串。变长字符串的长度是不确定的,从变长字符串的长度是不确定的,从0-2的的31次幂次幂定长字符串是含有确定个数的字符,最大长度不超过定长字符串是含有确定个数的字符,最大长度不超过2的的16次幂次幂(2)数值型数据)数值型数据Vb的数值型数据分为整型数和实型(浮点数)两类。的数值型数据分为整型数和实型(浮点数)两类。整型数分为整数和长整数。整型数分为整数和长整数。浮点数分为单精度浮点数和双精度浮点数。浮点数分为单精度浮点数和双精度浮点数。整型数整型数:是不带小数点和指数符号的数,在机器内部以二进制是不带小数点和指数符号的数,在机器内部以二进制补码形式表示。补码形式表示。整数(整数(Integer):):以两个字节(以两个字节(16位)的二进制码表示和位)的二进制码表示和参加运算,其取值范围为:参加运算,其取值范围为:-32768-32767长整型长整型(Long):以带符号的以带符号的4个字节(个字节(32位)二进制数存储,位)二进制数存储,取值范围为:取值范围为:-2147483648-2147483647浮点数:浮点数:也称实型数或实数,是带有小数部分的数值。它由三也称实型数或实数,是带有小数部分的数值。它由三部分组成:符号、指数及尾数。单精度浮点数和双精度浮点数部分组成:符号、指数及尾数。单精度浮点数和双精度浮点数的指数分别的指数分别用用“E”和和“D”来表示。来表示。例如:例如:123.45E3或或123.45e+3单精度数,相当于单精度数,相当于123.45乘以乘以10的的3次幂次幂123.45678D3或或123.45678d+3双精度数,相当于双精度数,相当于123.45678乘以乘以10的的3次幂次幂在上面的例子中,在上面的例子中,123.45或或123.45678是尾数部分,是尾数部分,E3、D3是指数部分。是指数部分。单精度浮点数(单精度浮点数(Single):):以以4个字节(个字节(32位)存储,其中符号占位)存储,其中符号占1位,指数占位,指数占8位,位,其余其余23位表示尾数,此外还有一个附加的隐含位。单精度位表示尾数,此外还有一个附加的隐含位。单精度浮点数可以精确到浮点数可以精确到7位十进制数,其负数的取值范围为:位十进制数,其负数的取值范围为:-3.402823E+38-1.401298E-45,正数的取值范围正数的取值范围为:为:1.401298E-45-3.402823E+38双精度浮点数(双精度浮点数(Double):):以以8个字节(个字节(64位)存储,其中符号占位)存储,其中符号占1位,指数占位,指数占11位,其余位,其余52位表示尾数,此外还有一个附加的隐含位。双精度浮点数可位表示尾数,此外还有一个附加的隐含位。双精度浮点数可以精确到以精确到15或或16位十进制数,其负数的取值范围为:位十进制数,其负数的取值范围为:-1.797693134862316D+308-4.94065D-324,正数的取正数的取值范围为:值范围为:4.94065D-324-1.797693862316D+308(3)货币(货币(Currency)货币数据类型是为表示钱款而设置的。该数据类型以货币数据类型是为表示钱款而设置的。该数据类型以8个字个字节(节(64位)存储,精确到小数点后位)存储,精确到小数点后4位(小数点前有位(小数点前有15位),位),在小数点后在小数点后4位以后的数字将被舍去。取值范围是:位以后的数字将被舍去。取值范围是:-922337203685477.5808-922377203685477.5807浮点数中的小数点是浮点数中的小数点是“浮动浮动”的,即小数点可以出现在数的的,即小数点可以出现在数的任何位置,而货币类型数据的小数点是固定的,因此称为定任何位置,而货币类型数据的小数点是固定的,因此称为定点数据类型。点数据类型。(4 4)变体()变体(VariantVariant)Variant数据类型又称为万用数据类型,它是一种特殊的、数据类型又称为万用数据类型,它是一种特殊的、可以表示所有系统定义类型的数据类型。可以表示所有系统定义类型的数据类型。变体数据类型对数据的处理可以根据上下文的变化而变化,变体数据类型对数据的处理可以根据上下文的变化而变化,除了定长的除了定长的string数据及用户自定义的数据类型之外,可以数据及用户自定义的数据类型之外,可以处理任何类型的数据而不必进行数据类型的转换,如上所述处理任何类型的数据而不必进行数据类型的转换,如上所述的数值型、日期型、对象型、字符型的数据类型。的数值型、日期型、对象型、字符型的数据类型。Variant数据类型是数据类型是VB对所有未定义的变量的缺省数据类型对所有未定义的变量的缺省数据类型的定义。通过的定义。通过VarType函数可以检测函数可以检测Variant型变量中保存的型变量中保存的具体的数据类型。具体的数据类型。(5)其它数据类型)其它数据类型字节(字节(Byte):):实际上是一种数值类型,以实际上是一种数值类型,以1个字节的无符个字节的无符号二进制数存储,取值范围是号二进制数存储,取值范围是0-255布尔(布尔(Boolean):布尔型数据是一个逻辑值,用两个字节布尔型数据是一个逻辑值,用两个字节存储,它只取两种值,即存储,它只取两种值,即True或或False,经常用来表示逻辑经常用来表示逻辑判断的结果。判断的结果。日期(日期(Date):日期存储为日期存储为64位浮点数值形式,表示的日期位浮点数值形式,表示的日期从公元从公元100年年1月月1日日9999年年12月月31日,时间范围为日,时间范围为0:00:0023:59:59。任何在字面上可以被认作日期的文本都可以赋值给日期变量,任何在字面上可以被认作日期的文本都可以赋值给日期变量,且日期文字必须用符号且日期文字必须用符号“#”括起来,如括起来,如#January15,2002#,#1985-10-19:45:00PM#都是合法的日期型数据。都是合法的日期型数据。(4)对象()对象(Object)对象类型的数据主要是以变量形式存在的,用来表示图形、对象类型的数据主要是以变量形式存在的,用来表示图形、OLE对象或其它对象,对象或其它对象,Object变量通过变量通过32位(位(4字节)来存字节)来存储,该地址可以引用应用程序中的对象。储,该地址可以引用应用程序中的对象。用户可根据实际需要利用用户可根据实际需要利用vb提供的标准数据类型,通过提供的标准数据类型,通过Type语句来定义自己的数据类型。格式如下:语句来定义自己的数据类型。格式如下:Type自定义数据类型名自定义数据类型名元素名元素名(下标)(下标)as类型名类型名EndType(5)用户自定义数据类型)用户自定义数据类型其中:其中:自定义数据类型名:自定义数据类型名:要定义的数据类型的名字要定义的数据类型的名字元素名:元素名:自定义类型中的一个成员自定义类型中的一个成员下标:下标:表示数组表示数组类型名:类型名:vb的标准类型的标准类型通常把用通常把用Type语句定义的类型称为记录类型,例如语句定义的类型称为记录类型,例如TypestuTypeintNoAsIntergerstrNameAsString*20.EndType注意:注意:1、自定义的数据类型必须在标准模块中定义、自定义的数据类型必须在标准模块中定义2、自定义数据类型中的元素类型可以是字符串,但必须是定、自定义数据类型中的元素类型可以是字符串,但必须是定长字符串。长字符串。3.2常量和变量常量和变量计算机所处理的数据,必须先存入内存单元。命名后的内存计算机所处理的数据,必须先存入内存单元。命名后的内存单元就是常量或者变量。单元就是常量或者变量。常量在程序执行期间其值不发生变化,而变量的值是可变的,常量在程序执行期间其值不发生变化,而变量的值是可变的,它们都代表内存中指定的存储单元。它们都代表内存中指定的存储单元。在程序中,不同类型的数据既可以以常量的形式出现,也可在程序中,不同类型的数据既可以以常量的形式出现,也可以以变量的形式出现。以以变量的形式出现。1、常量或变量的命名规则、常量或变量的命名规则VB变量或常量名只能用字母、数字、汉字和下划线组成,变变量或常量名只能用字母、数字、汉字和下划线组成,变量名中不能包含小数点。量名中不能包含小数点。VB变量或常量名的第一个字符必须是字母或汉字,最后一个变量或常量名的第一个字符必须是字母或汉字,最后一个字符可以是类型说明符,且组成变量或常量名的字符数不得字符可以是类型说明符,且组成变量或常量名的字符数不得超过超过255个字符。个字符。不得使用不得使用VB的保留名或保留名后加上类型说明符来作为变量的保留名或保留名后加上类型说明符来作为变量或常量名。例如:或常量名。例如:print、print$作为变量名均是非法的。作为变量名均是非法的。变量或常量名在同一个范围内必须是唯一的。变量或常量名在同一个范围内必须是唯一的。变量或常量名不区分大小写。在定义一个变量后,只要字符变量或常量名不区分大小写。在定义一个变量后,只要字符相同,则不管其大小写,指的都是一个变量或常量。相同,则不管其大小写,指的都是一个变量或常量。2、常量、常量Vb中的常量分为两类:用户声明的常量和系统提供的常量中的常量分为两类:用户声明的常量和系统提供的常量用户声明的常量:用户声明的常量:格式:格式:Const常量名常量名As类型类型=表达式表达式例如:例如:ConstaasInteger=1Constname=“shanxiuniversity”Consta=10,basDouble=3.1415926注意:注意:1、常量声明格式中的、常量声明格式中的As类型类型可以用类型说明符代替可以用类型说明符代替 为了显式地说明常数的类型,可以在常数的后面加上类型说为了显式地说明常数的类型,可以在常数的后面加上类型说明符,以确切地说明数据类型。明符,以确切地说明数据类型。%:整型:整型&:长整型:长整型!:单精度浮点数:单精度浮点数#:双精度浮点数:双精度浮点数:货币型:货币型$:字符串型:字符串型例如:例如:Consta%=100Constname$=“shanxi”2、常量名不能与关键字或所在过程内的其他常量或变量同名,、常量名不能与关键字或所在过程内的其他常量或变量同名,其有效作用范围为常量声明语句所在的程序单位。其有效作用范围为常量声明语句所在的程序单位。3、Vb在判断常量类型时有时候存在多义性。在默认情况下,在判断常量类型时有时候存在多义性。在默认情况下,选择系统开销最小的表示方法。选择系统开销最小的表示方法。4、经过声明的常量是常数值的名字,不能在程序代码中修改、经过声明的常量是常数值的名字,不能在程序代码中修改它的值。它的值。系统提供的常量:系统提供的常量:在在vb的对象库中,提供了应用程序和控件的系统常量。的对象库中,提供了应用程序和控件的系统常量。例如:例如:form1.WindowState=1form1.WindowState=vbMinimized3、变量、变量在程序中使用变量前,一般先声明变量名及其数据类型。在在程序中使用变量前,一般先声明变量名及其数据类型。在VB中可以显式或隐式声明变量及其类型。中可以显式或隐式声明变量及其类型。变量的声明:变量的声明:使用使用Dim语句可以显式声明,格式如下:语句可以显式声明,格式如下:Dim变量名变量名As类型类型例如例如:DimaAsStringDimbAs$隐式声明隐式声明:变量未经声明直接使用,默认为变体类型。变量未经声明直接使用,默认为变体类型。为了避免麻烦,可以强制规定每个变量必须显式声明才能使为了避免麻烦,可以强制规定每个变量必须显式声明才能使用。必须在程序模块的用。必须在程序模块的“通用通用”段加入如下强制声明语句:段加入如下强制声明语句:OptionExplicit在程序设计中,应该养成对变量声明的良好习惯,以提高程在程序设计中,应该养成对变量声明的良好习惯,以提高程序的正确性和可读性。序的正确性和可读性。3.3运算符和表达式运算符和表达式运算形式通过一些简单的符号来描述,这些符号运算形式通过一些简单的符号来描述,这些符号称为运算符。称为运算符。被运算的对象称为操作数或运算量。运算量可以被运算的对象称为操作数或运算量。运算量可以是常量、变量、函数等。是常量、变量、函数等。由运算符和运算量组成的表达式描述了对哪些数由运算符和运算量组成的表达式描述了对哪些数据、以何种顺序进行什么样的操作。据、以何种顺序进行什么样的操作。算术运算符算术运算符(VB算术运算符:优先级从上至下)算术运算符:优先级从上至下)运算运算运算符运算符 表达式举例表达式举例说明说明幂幂XY取负取负-X乘法乘法*X*Y浮点除法浮点除法/X/Y整数除法整数除法XY截去小数,不舍入截去小数,不舍入取模取模ModXModY加法加法+X+Y减法减法-X-Y字符串运算符:字符串运算符:运算运算运算符运算符 表达式举例表达式举例说明说明连接连接&X$&Y$字符串运算,也可以使用字符串运算,也可以使用“+”幂运算幂运算幂运算用来计算乘方和方根。运算符为幂运算用来计算乘方和方根。运算符为。例如:例如:102表示表示10的的2次幂次幂250.5表示表示25的平方根的平方根8(1/3)表示表示8的立方根的立方根注意:当指数是一个表达式时,必须加上括号。注意:当指数是一个表达式时,必须加上括号。例如:例如:x(z+y)浮点数除法与整数除法浮点数除法与整数除法浮点数除法运算符(浮点数除法运算符(/)执行标准除法操作,其结果为浮点数。)执行标准除法操作,其结果为浮点数。例如,表达式例如,表达式3/2的结果为的结果为1.5整数除法运算符(整数除法运算符()执行整除运算,结果为整型值,不舍入。)执行整除运算,结果为整型值,不舍入。例如,表达式例如,表达式32的结果为的结果为1整除的操作数一般为整型值。当操作数带有小数时,首先被整除的操作数一般为整型值。当操作数带有小数时,首先被四舍五入为整型数,然后进行整除运算,运算结果不舍入。四舍五入为整型数,然后进行整除运算,运算结果不舍入。例如:例如:25.636.78的结果为的结果为3取模取模运算运算取模运算符取模运算符Mod用来求余数,其结果为第一个操作数整用来求余数,其结果为第一个操作数整除第二个操作数所得的余数。除第二个操作数所得的余数。例如:例如:7Mod4的结果为的结果为325.68Mod6.99的结果为的结果为5(先进行四舍五入变为(先进行四舍五入变为26和和7,再取摸),再取摸)算术运算符的优先级算术运算符的优先级幂幂运算运算取负取负乘乘浮点除浮点除整除整除取模取模加加减减字符串连接字符串连接注意注意:如果表达式中有括号时,:如果表达式中有括号时,先计算括号内的值;有多层括号先计算括号内的值;有多层括号时,先计算内层括号。时,先计算内层括号。例:查看运行结果。例:查看运行结果。PrivateSubCommand1_Click()a=35b=12c$=ssssd$=qqqPrinta+b,a-b,a*b,a/bPrintab,aModb,b2,2*-aPrintc+d,c&dEndSub关系运算符关系运算符 也也称称比较运算符,用来对两个表达式的值进行比较,比较的比较运算符,用来对两个表达式的值进行比较,比较的结果是一个逻辑值,即真(结果是一个逻辑值,即真(True)或假(或假(False)。)。VB提供提供了了8个关系运算符。个关系运算符。测试关系测试关系运算符运算符表达式举例表达式举例等于等于=X=Y不等于不等于或或XY小于小于XXY小于等于小于等于=X=X=Y比较样式比较样式LikeBAT123khgLikeB?T*返回返回True比较对象变量比较对象变量Is使用使用Is 运算符来比较两个对象引用运算符来比较两个对象引用PrivateSubCommand1_Click()c$=“2001181101”IfLeft(c$,4)=“2001”ThenPrint“是是2001级的学生级的学生”n1$=“王军王军”Ifn1$Like“王王*”ThenPrint“是姓王的学生是姓王的学生”对对ElsePrint“不是姓王的学生不是姓王的学生”EndIfn2$=“王军红王军红”Ifn2$Like“王王?”ThenPrint“是姓王的学生是姓王的学生”ElsePrint“不是姓王的学生不是姓王的学生”对对EndIfEndSub逻辑运算符逻辑运算符也称布尔运算。用逻辑运算符连接两个或多个关系式,组成也称布尔运算。用逻辑运算符连接两个或多个关系式,组成一个布尔表达式。有一个布尔表达式。有6种逻辑运算符。种逻辑运算符。VB逻辑运算符:优先级从上至下逻辑运算符:优先级从上至下逻辑逻辑运算符运算符表达式举例表达式举例 说明说明非非NotNotX原来为真,否定为假原来为真,否定为假与与AndXAndY其一为假,结果为假其一为假,结果为假或或OrXOrY其一为真,结果为真其一为真,结果为真异或异或XorXXorY不同为真,相同为假不同为真,相同为假等价等价EqvXEqvY相同为真,不同为假相同为真,不同为假蕴含蕴含ImpXImpYX为真且为真且Y为假,结果为假为假,结果为假逻辑运算表:逻辑运算表:-1-1为真,为真,0 0为假为假XYNotX XAndYXOrYXXorYXEqvYXImpY-1-10-1-10-1-1-1000-1-1000-1-10-1-10-100-1000-1-1例:查看运行结果。例:查看运行结果。PrivateSubCommand1_Click()a=1:b=2c=3:d=4PrintabAndcdPrintadPrintNotabPrintadPrintadPrintadEndSub表达式执行顺序表达式执行顺序 1.首先执行函数运算。首先执行函数运算。2.其次算术运算,算术运算符优先顺序:幂、取负、乘和浮其次算术运算,算术运算符优先顺序:幂、取负、乘和浮点除、整除、取模、加和减、连接点除、整除、取模、加和减、连接3.再次关系运算。再次关系运算。4.最后进行逻辑运算,优先顺序为:最后进行逻辑运算,优先顺序为:Not、And、Or、Xor、Eqv、Imp。注意:注意:v在运算中,括号内的运算的优先于括号外的运算。在运算中,括号内的运算的优先于括号外的运算。v字符串连接运算符不是算术运算符,它的优先级高于比较字符串连接运算符不是算术运算符,它的优先级高于比较运算符,低于算术运算符。运算符,低于算术运算符。vLike和比较运算符的优先顺序相同。进行模式匹配处理,和比较运算符的优先顺序相同。进行模式匹配处理,应该注意?和应该注意?和*两个通配符。两个通配符。v当使用幂时,符号优先,例如:当使用幂时,符号优先,例如:4-2,表示表示4的负的负2次方。次方。3.4常用内部函数常用内部函数VB提供了大量的内部函数,大体上可分为提供了大量的内部函数,大体上可分为5类,有转换函数、类,有转换函数、数学函数、日期函数、时间函数和随机函数,以及字符串函数学函数、日期函数、时间函数和随机函数,以及字符串函数。数。转换函数:转换函数:函数函数功能功能例例Int(x)返回不大于自变量的整数返回不大于自变量的整数Int(5.3)的值为的值为5;Int(-7.8)的值为的值为-8Fix(x)返回自变量的整数部分返回自变量的整数部分Fix(5.3)的值为的值为5;Fix(-7.8)的值为的值为-7Val(x)将数字字符串转换成数值型常数将数字字符串转换成数值型常数Val(“12ab”)的值为的值为12Oct$(x)返回代表八进制值的字符串返回代表八进制值的字符串Oct$(459)的值为的值为713Asc(x$)返回字符串返回字符串x$的第一个字母的的第一个字母的ASCII码码Asc(Apple)的值为的值为65Chr$(x)返回返回x的值的的值的ASCII码的字母码的字母Chr(65)的值为的值为AStr$(x)将自变量将自变量x转换为字符串转换为字符串Str(-459.65)的值为的值为-459.65Cint(x)将自变量将自变量x转换为整数,小数部分四舍五入转换为整数,小数部分四舍五入Cint(7/2)的值为的值为4Ccur(x)将自变量将自变量x转换为货币型,小数部分最多转换为货币型,小数部分最多4位,四舍五入位,四舍五入Ccur(31.245678)的值为的值为31.2457CDbl(x)将自变量将自变量x转换为双精度数转换为双精度数CLng(x)将自变量将自变量x转换为长整形,小数部分四舍五入转换为长整形,小数部分四舍五入CLng(31.32)的值为的值为31CSng(x)将自变量将自变量x转换为单精度数转换为单精度数CVar(x)将自变量将自变量x转换为变体类型转换为变体类型注意:注意:当小数部分恰好为当小数部分恰好为0.5时,时,Cint和和CLng函数会将它转函数会将它转换为最接近的偶数值。换为最接近的偶数值。例:请编制程序,打印下列函数结果,自变量的值自己设置一例:请编制程序,打印下列函数结果,自变量的值自己设置一个数据。程序如下:个数据。程序如下:PrivateSubCommand1_Click()PrintInt(7.6),Int(-7.8)PrintFix(7.8),Fix(-7.8)PrintHex(15),Oct(15)PrintAsc(A),Chr(66)PrintStr(7.8)+aaaaPrintCInt(3.5);CInt(4.5);CInt(4.6);Int(5.3)PrintCCur(3.55678);CCur(5.34454)PrintCLng(3.5);CLng(4.5);CInt(4.6);CInt(5.3)EndSub数学函数数学函数(注意:这里的三角函数中的注意:这里的三角函数中的x为弧度为弧度)函数函数功能功能例例Sin(x)返回自变量返回自变量x的正弦值的正弦值Cos(x)返回自变量返回自变量x的余弦值的余弦值Tan(x)返回自变量返回自变量x的正切值的正切值Atn(x)返回自变量返回自变量x的反正切值的反正切值Abs(x)返回自变量返回自变量x的绝对值的绝对值Abs(-5)的值为的值为5Sgn(x)返回自变量返回自变量x的符号值的符号值Sgn(-5)的值为的值为-1Sqr(x)返回自变量返回自变量x的平方根的平方根Exp(x)返回以返回以e为底,为底,x为指数的值,为指数的值,e为自然对数为自然对数PrivateSubCommand1_Click()PrintSin(7.6)PrintCos(7.8)PrintTan(0.45)PrintAtn(1.3)PrintAbs(-5);Abs(5)PrintSgn(-5);Sgn(5);Sgn(0)PrintSqr(4)PrintExp(4)EndSub例:请编制程序,打印下列函数结果,自变量的值自己设例:请编制程序,打印下列函数结果,自变量的值自己设置一个数据。置一个数据。日期函数:日期函数:函数函数功能功能例例Day(x)返回自变量中的返回自变量中的日日Day(#12/31/2002#)的值为的值为31WeekDay(x)返回自变量中的返回自变量中的星期星期WeekDay(#12/31/2002#)的值为的值为2Month(x)返回自变量中的返回自变量中的月份月份Month(#12/31/2002#)的值为的值为12Year(x)返回自变量中的返回自变量中的年份年份Year(#12/31/2002#)的值为的值为2002;Year(Now)的值的值为当前的年份为当前的年份例:请编制程序,打印下列函数结果,自变量的值自己设置一例:请编制程序,打印下列函数结果,自变量的值自己设置一个数据。个数据。PrivateSubCommand1_Click()PrintDay(Now)PrintWeekday(Now)PrintMonth(Now)PrintYear(Now)PrintNowEndSub注意:日期和时间函数的自变量注意:日期和时间函数的自变量now是一个内部变量,是一个内部变量,不需要用户定义,用它作自变量,可以用日期和时间函不需要用户定义,用它作自变量,可以用日期和时间函数返回当前系统的日期和时间。数返回当前系统的日期和时间。时间函数:时间函数:函数函数功能功能例例Hour(x)返回自变量中的小返回自变量中的小时(时(0-23)Hour(#12/31/20025:30:20PM#)的值为的值为17Minute(x)返回自变量中的分返回自变量中的分钟(钟(059)Minute(#12/31/20025:30:20PM#)的值为的值为30Second(x)返回自变量中的秒返回自变量中的秒钟(钟(059)Second(#12/31/20025:30:20PM#)的值为的值为20例:请编制程序,打印下列函数结果,自变量的值自己设置一例:请编制程序,打印下列函数结果,自变量的值自己设置一个数据。个数据。PrivateSubCommand1_Click()PrintHour(Now)PrintMinute(Now)PrintSecond(Now)PrintNowEndSub随机函数:随机函数:函数函数功能功能Rnd(x)产生一个产生一个0-1之间的单精度随机数之间的单精度随机数Rnd(x):当当x0时,序列中的下一个随机数,上一个时,序列中的下一个随机数,上一个产生的随机数为下一个随机数的种子。产生的随机数为下一个随机数的种子。当一个应用程序不断地重复使用随机数时,同一序列的随机数当一个应用程序不断地重复使用随机数时,同一序列的随机数会反复出现,用会反复出现,用Randomize语句可以消除这种情况。语句可以消除这种情况。格式:格式:RandomizenumberRandomize用用number将将Rnd函数的随机数生成器初始化,函数的随机数生成器初始化,该随机数生成器给该随机数生成器给number一个新的种子值。一个新的种子值。如果省略如果省略number,则用系统计时器返回的值作为新的种子则用系统计时器返回的值作为新的种子值。值。例:例:PrivateSubCommand1_Click()RandomizePrintRnd(1);Rnd(1);Rnd(0)PrintRnd(2);Rnd(3);Rnd(4)PrintRnd(-1);Rnd(-1)PrintRnd(-2);Rnd(-3);Rnd(-4)PrintRnd(2);Rnd(3);Rnd(4)Print*EndSub例:使用例:使用rnd函数随机生成一个函数随机生成一个1到到6的随机整数。的随机整数。PrivateSubCommand1_Click()Dimmyvaluemyvalue=Int(6*Rnd)+1)PrintmyvalueEndSub公式:公式:Int(upper-lower+1)*Rnd+lower)字符串函数:字符串函数:1、VB的字符处理机制的字符处理机制v早期的早期的VB版本的字符处理机制为版本的字符处理机制为ANSI方式,采用单字节处方式,采用单字节处理机制。西文字符占用理机制。西文字符占用1个字节,汉字占用个字节,汉字占用2个字节。个字节。v在在VB4.0以后以后,采用统一编码方式采用统一编码方式,即即“UniCode”方式。把方式。把西文字符和中文字符作为一个整体进行编码,每个字符均西文字符和中文字符作为一个整体进行编码,每个字符均占用两个字节。占用两个字节。v在字符串函数中,考虑的是字符个数,而不是字节数。在字符串函数中,考虑的是字符个数,而不是字节数。v为了兼容早期的软件,可使用为了兼容早期的软件,可使用转换函数转换函数StrConv把字符串转把字符串转换为指定格式。换为指定格式。新字符串新字符串新字符串新字符串=StrConvStrConvStrConvStrConv(待转字符串待转字符串待转字符串待转字符串,转换格式转换格式转换格式转换格式)转换格式转换格式值值说明说明vbUnicode64将将ANSI编码格式的字编码格式的字符串转换为符串转换为UNICODE格式。格式。vbFromUnicode128将将UNICODE编码格式编码格式的字符串转换为的字符串转换为ANSI格式。格式。当在当在UnicodeUnicode方式下,必须用加了方式下,必须用加了“B”B”的字符串函数来处理的字符串函数来处理ANSIANSI的字符串才能得到正确的值,函数如下:的字符串才能得到正确的值,函数如下:处理处理Unicode的字符串的函数名的字符串的函数名处理处理ANSI的字符串的函数名的字符串的函数名lenlenBleftleftBrightrightBmidmidBinstrinstrB例:运行下面程序,查看两种编码的使用区别。例:运行下面程序,查看两种编码的使用区别。PrivateSubCommand1_Click()DimtempStr,newStrAsStringtempStr=“VB程序设计程序设计”Print“tempStr=”;tempStrnewStr=StrConv(tempStr,vbFromUnicode)Print“*”Print“执行执行newStr=StrConv(tempStr,vbFromUnicode)后后:”Print“newStr=”;newStrPrint“LenB(newStr)=”;LenB(newStr)Print“注注:每个长度单位为每个长度单位为1个字节个字节,字符占字符占1个个,汉字占汉字占2个个”Print“Len(newstr)=”;Len(newStr)Print“注注:每个长度单位为每个长度单位为2个字节个字节,字符占半个字符占半个,汉字占汉字占1个个”Print“*”newStr=StrConv(newStr,vbUnicode)Print“执行执行newStr=StrConv(tempStr,vbUnicode)后后:”Print“newStr=”;newStrPrint“LenB(newStr)=”;LenB(newStr)Print“注注:每个长度单位为每个长度单位为1个字节个字节,字符占字符占2个个,汉字占汉字占2个个”PrintLen(newStr)=;Len(newStr)Print注注:每个长度单位为每个长度单位为2个字节个字节,字符占字符占1个个,汉字占汉字占1个个EndSub2 2、字符串函数、字符串函数删除空白字符串函数删除空白字符串函数去掉字符串左边空白字符:去掉字符串左边空白字符:LTrim$(字符串字符串)去掉字符串右边空白字符:去掉字符串右边空白字符:RTrim$(字符串字符串)去掉字符串左边空白字符:去掉字符串左边空白字符:Trim$(字符串字符串)空白字符包括空格、空白字符包括空格、TAB键键等。等。例:使用函数。查看运行结果例:使用函数。查看运行结果PrivateSubCommand1_Click()aaa1=aaaaabbb1=bbbbbccc1=cccccPrint|+LTrim(aaa1)+|+LTrim(bbb1)+|+LTrim(ccc1)+|Print|+RTrim(aaa1)+|+RTrim(bbb1)+|+RTrim(ccc1)+|Print|+Trim(aaa1)+|+Trim(bbb1)+|+Trim(ccc1)+|EndSub字符串截取函数字符串截取函数左部截取:左部截取:Left$(字符串字符串,n)从左部开始取从左部开始取n个字符个字符右部截取:右部截取:Right$(字符串字符串,n)从右部取从右部取n个字符个字符中部截取:中部截取:Mid$(字符串字符串,p,n)从左部开始的第从左部开始的第p个字符,个字符,取连续取连续n个字符个字符这里的字符串可以是字符串常量、字符串变量、字符串函数这里的字符串可以是字符串常量、字符串变量、字符串函数或是字符串连接表达式。或是字符串连接表达式。Mid$函数的第三个字变量可以省略。在这种情况下,将从第函数的第三个字变量可以省略。在这种情况下,将从第二个字变量指定的位置向后截取到字符串的末尾。二个字变量指定的位置向后截取到字符串的末尾。例:使用函数,查看运行结果例:使用函数,查看运行结果PrivateSubCommand1_Click()MyString=MidFunctionDemoFirstWord=Left(MyString,3)返回返回Mid。LastWord=Right(MyString,4)返回返回Demo。MidWords=Mid(MyString,5)返回返回FuncionDemo。PrintFirstWord,LastWord,MidWordsEndSub字符串长度测试函数字符串长度测试函数Len(字符串字符串):字符串的长度。字符串的长度。Lenb(变量名变量名):变量的存储空间。变量的存储空间。例:使用函数。例:使用函数。查看运行结果。查看运行结果。PrivateSubCommand1_Click()a$=ABCDEFGHIJKPrintLen(a$)a=Len(var1%)b=Len(var2!)c=Len(var3#)Printa,b,cEndSubString$String$函数函数String$(n,ASCIIString$(n,ASCII码值码值):):返回由该返回由该ASCIIASCII码指定的字符码指定的字符组成的组成的n n个字符的字符串个字符的字符串String$(n,String$(n,字符串字符串):):返回由该字符串的第一个字符组返回由该字符串的第一个字符组成成n n个字符的字符串个字符的字符串PrivateSubCommand1_Click()PrintString$(6,65)返回字符串返回字符串AAAAAAPrintString$(3,chyufdgxd)返回字符串返回字符串cccEndSub例:使用函数。查看运行结果。例:使用函数。查看运行结果。空格函数空格函数 Space$(n):返回由返回由n个空格组成的字符串个空格组成的字符串例:使用函数。查看运行结果。例:使用函数。查看运行结果。PrivateSubCommand1_Click()Printstart+Space(3)+END返回字符串返回字符串startENDPrintstart+123+END“返回字符串返回字符串start123ENDEndSub字符串匹配函数字符串匹配函数Instr$(首字符位置首字符位置,字符串字符串1,字符串字符串2,n)查找字符串查找字符串2的第一个字符在字符串的第一个字符在字符串1中首次出现的位置。中首次出现的位置。说明:说明:v字符串字符串2的长度必须小于的长度必须小于65535个字符。个字符。v“首字符位置首字符位置”指的是开始查找的位置。指的是开始查找的位置。vn是可选的,是一个整型数,用来指定字符串比较方是可选的,是一个整型数,用来指定字符串比较方式。式。n为为0,二进制比较(区分大小写);,二进制比较(区分大小写);n为为1,文本,文本方式比较(不区分大小写);方式比较(不区分大小写);n为为2,数据库信息比较,数据库信息比较(仅用于(仅用于MicrosoftAccess)。)。当当变量变量n省略时,用区省略时,用区分大小写方式比较。分大小写方式比较。Instr的返回值是一个长整型数,在不同的条件下,函数的返的返回值是一个长整型数,在不同的条件下,函数的返回值也不一样。回值也不一样。如果如果InStr返回返回string1为零长度为零长度0string1为为NullNullstring2为零长度为零长度开始位置开始位置string2为为NullNullstring2找不到找不到0在在string1中找到中找到string2找到的位置找到的位置开始位置开始位置string2位置位置0PrivateSubCommand1_Click()DimSearchString,SearchChar,MyPosSearchString=XXpXXpXXPXXP被搜索的字符串。被搜索的字符串。SearchChar=P要查找字符串要查找字符串“P”。从第四个字符开始,以文本比较的方式找起。返回值为从第四个字符开始,以文本比较的方式找起。返回值为6(小写(小写p)。)。小写小写p和大写和大写P在文本比较下是一样的。在文本比较下是一样的。MyPos=InStr(4,SearchString,SearchChar,1)PrintMyPos从第一个字符开始,以二进制比较的方式找起。返回值为从第一个字符开始,以二进制比较的方式找起。返回值为9(大写(大写P)。)。小写小写p和大写和大写P在二进制比较下是不一样的。在二进制比较下是不一样的。MyPos=InStr(1,SearchString,SearchChar,0)PrintMyPos缺省的比对方式为二进制比较(最后一个参数可省略)。缺省的比对方式为二进制比较(最后一个参数可省略)。MyPos1=InStr(SearchString,SearchChar)返回返回9。mypos2=InStr(1,SearchString,W)返回返回0。PrintMyPos1,mypos2EndSub字母大小写转换函数字母大小写转换函数 UcaseUcase$($(字符串字符串):将字符串转换为大写:将字符串转换为大写LcaseLcase$($(字符串字符串):将字符串转换为小写:将字符串转换为小写例:使用函数。查看运行结果。例:使用函数。查看运行结果。PrivateSubCommand1_Click()PrintUCase$(Rose)返回字符串返回字符串ROSEPrintLCase$(Rose)返回字符串返回字符串roseEndSub插入字符串语句插入字符串语句 Mid$Mid$Mid$(字符串字符串,位置位置,L)=子字符串子字符串说明说明:在字符串中在字符串中,从指定位置开始从指定位置开始L个字符被子字符串替换个字符被子字符串替换,如果子字符串长度大于如果子字符串长度大于L,子字符串被截取;如果子字符串被截取;如果L没有,则没有,则替换后的字符串长度和被替换前的字符串长度一样。替换后的字符串长度和被替换前的字符串长度一样。PrivateSubCommand1_Click()DimMyStringMyString=Thedogjumps设置字符串初值。设置字符串初值。Mid(MyString,5,3)=foxPrintMyStringMyString=ThefoxjumpsMid(MyString,5)=cowPrintMyStringMyString=ThecowjumpsMid(MyString,5)=cowjumpedoverPrintMyStringMyString=ThecowjumpeMid(MyString,5,3)=duckPrintMyStringMyString=TheducjumpeEndSub例:使用函数。查看运行结果。例:使用函数。查看运行结果。判断函数(函数的返回值为判断函数(函数的返回值为true或者或者false)|1、IsNumeric()/判断表达式是否为数字型判断表达式是否为数字型2、IsEmpty()/判断变量是否已被初始化判断变量是否已被初始化3、IsDate()/判断表达式是否为日期判断表达式是否为日期4、IsArray()/判断变量是否为数组判断变量是否为数组ShellShell函数函数通过通过shell函数来调用函数来调用DOS下或下或Windows下运行的任何可执下运行的任何可执行的程序。行的程序。格式:格式:shell命令字符串命令字符串命令字符串是包含路径的可执行的应用程序的名字命令字符串是包含路径的可执行的应用程序的名字例如:例如:PrivateSubCommand1_Click()Shell(c:winntsystem32cmd.exe)EndSub
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!