《东北大学,可视化程序设计(VB)02第2章.ppt》由会员分享,可在线阅读,更多相关《东北大学,可视化程序设计(VB)02第2章.ppt(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Visual Basic.NET 程序设计程序设计主讲人:蒋忠中主讲人:蒋忠中东北大学工商管理学院第第2 2章章 Visual Basic.NETVisual Basic.NET语法基础语法基础教教学学目目的的教教学学要要求求重重点点难难点点教教学学内内容容教教学学目目的的 通过本章的学习,了解数据类型、常量和变量的概念,合理的确定变量的类型,掌握数组的定义,数组元素的引用方法,会正确的书写算术表达式、字符串表达式、关系表达式和逻辑表达式,正确使用常用的字符串函数,日期时间函数,数学函数和随机函数。BACK教教学学要要求求u了解数据类型的概念,掌握整型,字符型,字符串,单精度,日期时间型的类型
2、名,了解枚举类型的概念;u掌握变量和存储单元的对应关系,掌握上述类型常量的表示方法;u掌握数组的定义和引用数组元素的方法,了解动态数组的概念;u能够正确书写算术表达式、字符串表达式,关系表达式和逻辑表达式,正确理解字符串运算符、逻辑运算符;u掌握常用的字符串函数、数学函数和随机函数的书写格式和功能。BACK重重点点难难点点重点:u变量和存储单元的对应关系;u数组的概念,数组元素的引用方法;u算术表达式、字符串表达式、关系表达式和逻辑表达式的正确书写;u字符串函数、日期时间函数、数学函数和随机函数。难点:u数据类型的概念;u变量和存储单元的对应关系;u数组的概念;u字符串的运算、逻辑运算、字符串
3、函数和随机函数。BACK教教学学内内容容2.1 2.1 数据类型数据类型2.2 2.2 常量和变量常量和变量2.3 2.3 数组数组2.4 2.4 运算符与表达式运算符与表达式2.5 2.5 常用内部函数常用内部函数2.1 2.1 数据类型数据类型2.1.1 2.1.1 基本数据类型基本数据类型类类型名型名类类型型符符占字占字节节数数取取 值值 范范 围围Short2-32768 +32767Integer%4-2 147 483 648 +2 147 483 647Long&8-9 223 372 036 854 775 808 +9 223 372 036 854 775 807Byte1
4、0-255Decimal12+4+/-79228162514264337593543950335Single!4-3.402 823 5E+38 +3.402 823 5E+38Double#8-1.797 693 134 862 31E+308 +1.797 693 134 862 31E+3082.1 2.1 数据类型数据类型类类型名型名类类型型符符占字占字节节数数取取 值值 范范 围围Char20-65535String$一个字符串可存一个字符串可存储储大大约约20亿亿个个Unicode字符字符 Boolean4True 或或 FalseDate8January 1,1-December
5、 31,9999Object4任何一种数据任何一种数据类类型的数据均可存型的数据均可存储储在在Object数据数据类类型中型中2.1.1 2.1.1 基本数据类型基本数据类型2.1 2.1 数据类型数据类型2.1.1 2.1.1 基本数据类型基本数据类型u给变量赋超出其表示范围的值,将导致出错;u带小数的数值赋给整数变量,则系统对小数部分进行四舍五入处理;u日期型数据要用分界符#。#日期数据#2.1 2.1 数据类型数据类型2.1.2 2.1.2 复合数据类型复合数据类型1 1结构的声明结构的声明 结构的声明由Structure语句开始,由 End Structure语句结束。例如:Struc
6、ture Student Dim Number As Long Dim Name As String Dim Age As Integer Dim Score As Single End Structure 结构名成员2.1 2.1 数据类型数据类型2.1.2 2.1.2 复合数据类型复合数据类型2 2结构成员的访问结构成员的访问 定义结构类型以后,就可以声明该结构类型的变量。Dim S1 As Student 访问结构变量的字段,必须使用“.”号。S1.Number=980205 S1.Name=“张明”S1.Age=20 S1.Score=86.52.1 2.1 数据类型数据类型2.1.2
7、 2.1.2 复合数据类型复合数据类型3 3结构的嵌套结构的嵌套一个结构中包含其它结构类型的字段,构成结构的嵌套。Structure Score Dim YuWen As Single Dim ShuXue As Single Dim WuLi As Single Dim YingYu As SingleEnd StructureStructure Student2 Dim Number As Long Dim Name As String Dim Age As Integer Dim ChengJi As ScoreEnd StructureChengJi是结构是结构Student2的一个域
8、,的一个域,是是Score结构类型结构类型2.1 2.1 数据类型数据类型2.1.2 2.1.2 复合数据类型复合数据类型3 3结构的嵌套结构的嵌套 嵌套的结构变量,需要使用多级“.”符号访问其字段。Dim S2 As Student2 S2.Number=980206 S2.Name=“李佳”S2.Age=19 S2.ChengJi.YuWen=82.5 S2.ChengJi.YingYu=65.0 2.1 2.1 数据类型数据类型2.1.3 2.1.3 枚举类型枚举类型 枚举类型用Enum语句创建。在默认情况下,枚举类型中的多个常量值依次赋初值为0,1,2,。Public Enum Day
9、s Sunday Monday Tuesday Wednesday Thursday Friday SaturdayEnd Enum2.1 2.1 数据类型数据类型2.1.3 2.1.3 枚举类型枚举类型 在定义枚举类型时,可以为枚举常量显式赋值,通常使用小于零的值标示为无效。Public Enum Days Sunday Saturday Invalid=-1 End Enum 在引用枚举类型成员时,必须使用枚举类型名限定。X=Days.Sunday2.1 2.1 数据类型数据类型2.1.4 2.1.4 类型转换类型转换 将值从一种数据类型改变为另一种数据类型的过程被称为类型转换。按涉及的类
10、型收缩转换扩展转换按转换方式隐式转换显式转换2.1 2.1 数据类型数据类型2.1.4 2.1.4 类型转换类型转换1 1扩展转换与收缩转换(标准扩展转换表)扩展转换与收缩转换(标准扩展转换表)源数据类型目标数据类型ByteByte,Short,Integer,Long,Decimal,Single,DoubleShortShort,Integer,Long,Decimal,Single,DoubleIntegerInteger,Long,Decimal,Single,DoubleLongLong,Decimal,Single,DoubleDecimalDecimal,Single,Doubl
11、eSingleSingle,DoubleDoubleDouble任意枚举类型源类型的基础整数类型,以及任意能扩展的类型CharChar,String任意类型Object任意派生类型 源类型的基类型2.1 2.1 数据类型数据类型2.1.4 2.1.4 类型转换类型转换类类型型转换转换关关键键字字目目标标数据数据类类型型类类型型转换转换关关键键字字目目标标数据数据类类型型CboolBooleanCintIntegerCbyteByteClngLongCcharCharCobjObjectCdateDateCshortShortCdblDoubleCSngSingleCdecDecimalCstr
12、String1 1显式转换与隐式转换(类型转换关键字表)显式转换与隐式转换(类型转换关键字表)使用类型转换关键字的类型转换,称为显式转换。类型转换改变的是表达式值的类型,而不影响表达式中变量的值和类型 由系统自动完成的类型转换,称为隐式转换。Dim X As Integer Dim Y As Single X=125 Y=X2.1 2.1 数据类型数据类型2.1.4 2.1.4 类型转换类型转换1 1显式转换与隐式转换显式转换与隐式转换125.0MENU2.2 2.2 变量和常量变量和常量2.2.1 2.2.1 常量常量 Const 常量名常量名 As 类型类型=表达式表达式 VB.NET提供
13、了一个管理常量类型的编译指令“Option Strict”。u当Option Strict为On时,必须指出常量的数据类型;u当Option Strict为Off时,编译器将为常量分配数据类型。Option Strict On Const MinAge As Integer=16 Const PI AS Single=3.14159 或者:Option Strict Off Const Days=365 Const Salary=24502.2 2.2 变量和常量变量和常量2.2.2 2.2.2 变量变量 在程序运行过程中其值可以变化的量称为变量。变量的使用前需要声明,声明格式为:Dim 变量
14、名变量名 As 类型类型 Dim Height As Integer Dim Score As Single Dim Name As String Dim A,B As Single 2.2 2.2 变量和常量变量和常量2.2.2 2.2.2 变量变量变量名称必须遵守下列规则:u必须以字母、汉字或下划线(_)开头。u仅能由字母、数字、下划线或汉字组成。u以下划线开头,其后必须跟有其他字符。u 不能使用VB.NET保留字。u 变量名在变量的作用范围内不能重名。例如:MyAge、_1、ab_453都是合法的变量名 21abc、_、My.Name、Money$都是非法的变量名。2.2 2.2 变量和
15、常量变量和常量2.2.2 2.2.2 变量变量 变量的有效范围是指,从其声明语句开始到包含它的程序块结束。Private Sub Button1_Click()Dim AA As Integer If AA 0 Then Dim CC As Single End If End Sub AA的有效范围CC的有效范围MENU2.3 2.3 数组数组2.3.1 2.3.1 数组的定义数组的定义 数组应该先定义后使用。定义数组可以使用Dim、ReDim、Static、Public、Protected、Private等语句:uDim:用于模块或过程中;uReDim:只用于过程中,定义动态数组;uStat
16、ic:只用于过程中,定义静态数组;uPublic:用于模块中,定义全局数组。2.3 2.3 数组数组2.3.1 2.3.1 数组的定义数组的定义1 1一维数组的定义一维数组的定义Dim 数组名(下标上界)数组名(下标上界)As 类型名类型名Dim Myarray(5)As Integer说明:(1)“数组名”的命名规则与变量相同。(2)如果省略“As 类型名”,则定义的数组为Object类型。2.3 2.3 数组数组2.3.1 2.3.1 数组的定义数组的定义1 1一维数组的定义一维数组的定义(3)定义数组时只指定数组下标的上界,其下界为0,而且不能改变。(4)定义时,系统会把u数值型数组中的
17、所有元素初始化为0;u字符类型的数组初始化为空字符串;u布尔型的数组初始化为False等。(5)通常,数组各元素的类型是相同的。但是,当定义的数组是Object类型时例外。2.3 2.3 数组数组2.3.1 2.3.1 数组的定义数组的定义1 1一维数组的定义(内存分配示意图)一维数组的定义(内存分配示意图)内存单元内存单元Myarray(0)Myarray(2)Myarray(1)Myarray(3)Myarray(5)Myarray(4)2.3 2.3 数组数组2.3.1 2.3.1 数组的定义数组的定义2 2二维数组的定义二维数组的定义 格式:Dim 数组名(第一维下标上界,第二维下标上
18、界)数组名(第一维下标上界,第二维下标上界)As 类型名类型名 Dim Arr(3,4)As Integer2.3 2.3 数组数组2.3.1 2.3.1 数组的定义数组的定义2 2二维数组的定义二维数组的定义 (1)二维数组在内存中“按行存放”。(2)定义的二维数组a(m,n),其第i行第j列的元素a(i,j)在数组中的排列位置可以用i(n+1)+j+1计算。(3)在同一定义体中定义的变量、一维数组和二维数组必须是同一类型的数据。Dim d,a(2),b(2,1)As Integer2.3 2.3 数组数组2.3.1 2.3.1 数组的定义数组的定义2 2二维数组的定义二维数组的定义 (内存
19、分配图)(内存分配图)内存单元内存单元对应元素对应元素A(0,0)A(0,1)A(0,2)A(0,3)A(1,0)A(1,1)A(1,2)A(1,3)A(2,0)A(2,1)A(2,2)A(2,3)Dim a(2,3)as integer则,数组元素在内存中的存储。2.3 2.3 数组数组2.3.2 2.3.2 数组的初始化数组的初始化1 1一维数组的初始化一维数组的初始化 Dim 数组名()数组名()As 类型类型=常量常量1,常量,常量2,常,常量量nu数组初始化时,不能指定下标的上界;u元素个数由花括号中的常量个数决定;u各常量之间用逗号隔开;u常量的类型要与数组类型一致。Dim num
20、bers()As Single=12,25,-6,2.3,0 2.3 2.3 数组数组2.3.2 2.3.2 数组的初始化数组的初始化2 2二维数组的初始化二维数组的初始化 Dim 数组名(,)数组名(,)As 类型类型=第一行值第一行值,第二行值第二行值,第第n行值行值u内层花括号的个数等于二维数组的行数;u第一维下标的上界等于内层花括号个数减1;u内层花括号中常量的个数等于二维数组的列数;u第二维下标的上界等于内层花括号中常量的个数减1。u初始化二维数组时,每维数据的个数要一致。2.3 2.3 数组数组2.3.2 2.3.2 数组的初始化数组的初始化3 3多维数组的初始化多维数组的初始化
21、对于一个n(n=3)维数组来说,初始化时,等号左边括号中要用n-1个逗号指定数组维数,等号右边的花括号中的初值要放在n-1层嵌套的花括号中。Dim a(,)As Integer=1,1,4,5,2,1,1,5,7,4,3,7,0,5,3,0,1,1 2.3 2.3 数组数组2.3.2 2.3.2 数组的初始化数组的初始化4.UBound4.UBound函数和函数和LBoundLBound函数函数 格式:UBound(数组名(数组名,n)LBound(数组名(数组名,n)uUBound函数返回指定数组第n维的下标上界值;uLBound函数返回指定数组第n维的下标下界值。如果数组是一维数组,参数n
22、可以省略。Dim a(,)As Short=2,3,1,2,5,4DeBug.WriteLine(UBound(a,1)DeBug.WriteLine(LBound(a,2)2.3 2.3 数组数组2.3.3 2.3.3 数组元素的引用数组元素的引用数组名(下标数组名(下标1,下标,下标2,下标,下标n)u下标可以是整型常数、变量或整型表达式;u下标取值必须在指定范围之内,即0到下标上界;u在引用数组元素时,数组名和维数必须与定义数组时一致。Dim a()As Short=3,2,4,9Dim b(1,1)As Short b(1,0)=a(2)+a(1)b(1,1)=a(0)-a(3)2.3
23、 2.3 数组数组2.3.4 2.3.4 动态数组动态数组1 1动态数组的定义动态数组的定义 动态数组的定义分两个步骤:(1)用Dim、Public、Private等语句声明一个只有括号但没有下标的数组。(2)在过程中用ReDim语句重定义数组时,指定动态数组的下标上界。使用ReDim语句的格式为:ReDim Preserve 数组名数组名 (下标上界)(下标上界)2.3 2.3 数组数组2.3.4 2.3.4 动态数组动态数组1 1动态数组的定义动态数组的定义保留上次数组各元素的值用Dim语句定义好的动态数组被赋过值的变量2.3 2.3 数组数组2.3.4 2.3.4 动态数组动态数组1 1
24、动态数组的定义动态数组的定义使用ReDim语句:u可以多次对同一数组进行重定义,并对数组中的元素个数进行修改;u不能改变数组的维数和类型。2.3 2.3 数组数组2.3.4 2.3.4 动态数组动态数组1 1动态数组的定义动态数组的定义Private Sub Form1_Click(ByVal sender As Object,ByVal e As System.EventArgs)Handles _ MyBase.Click Dim arr()As Integer,n As Integer n=1 ReDim arr(n)arr(0)=56:arr(1)=3 Debug.WriteLine(
25、arr(0)&arr(1)n=2 ReDim arr(n)arr(2)=23 Debug.WriteLine(arr(0)&arr(1)&arr(2)n=4 ReDim Preserve arr(n)arr(3)=-10:arr(4)=24 Debug.WriteLine(arr(0)&arr(1)&arr(2)&arr(3)_&arr(4)End Sub Dim arr()As Integer,n As Integern=1ReDim arr(n)arr(0)=56:arr(1)=3Debug.WriteLine(arr(0)&arr(1)n=2ReDim arr(n)arr(2)=23De
26、bug.WriteLine(arr(0)&arr(1)&arr(2)n=4ReDim Preserve arr(n)arr(3)=-10:arr(4)=24Debug.WriteLine(arr(0)&arr(1)&arr(2)&“_&arr(3)_&arr(4)2.3 2.3 数组数组2.3.4 2.3.4 动态数组动态数组2 2EraseErase语句语句 Erase 数组名数组名u释放数组的存储空间;u只能用在过程中。MENU2.4 2.4 运算符与表达式运算符与表达式2.4.1 2.4.1 算术运算符算术运算符运算符运算符含含 义义优优先先级级例例 子子结结 果果指数指数1a532-取
27、取负负2-a-2*乘乘33.6*a7.2/浮点除浮点除310.3/a5.15整除整除410.3a5Mod取模取模513 Mod a1+加加610+a12-减减610-a8 a=22.4 2.4 运算符与表达式运算符与表达式2.4.1 2.4.1 算术运算符算术运算符1 1指数运算与取负运算指数运算与取负运算 指数运算比取负运算的优先级别要高,但当指数运算符后面紧临着取负运算符时,先进行取负运算。2-2求的是2-2,结果是0.25;(-2)-2求的是(-2)-2,结果是0.25;-2-2求的是-(2-2),结果是-0.25。2.4 2.4 运算符与表达式运算符与表达式2.4.1 2.4.1 算术
28、运算符算术运算符2 2浮点除与整除运算浮点除与整除运算 浮点除运算执行标准的除法运算,结果为浮点数。13.49/2.49=5.42 整除运算执行整数除法运算,即运算符的操作数都要先四舍五入取整,其运算结果被截断为整型数或长整型数,并不进行四舍五入。13.492.49=62.4 2.4 运算符与表达式运算符与表达式2.4.1 2.4.1 算术运算符算术运算符3 3模运算模运算 模运算符Mod用来求余数。7 Mod的计算结果为 7.5 Mod 3的计算结果为1.52.4 2.4 运算符与表达式运算符与表达式2.4.2 2.4.2 字符串运算符字符串运算符 使用字符串运算符“&”和“+”可以把两个字
29、符串连接起来。变量后使用“&”时,变量名与“&”之间应留有空格。当两个操作数中有一个是数值型数据时:(1)“&”把数值型数据转换为字符类型,然后进行字符的连接;(2)“+”把字符数据转换为数值数据执行加法运算,但如果字符数据不能转换成数值,就会出错。12.23+“asf”是错误的。2.4 2.4 运算符与表达式运算符与表达式2.4.3 2.4.3 关系运算符关系运算符运运 算算 符符含含 义义例例 子子结结 果果=相等相等X=YFalse大于大于XYFalse=大于等于大于等于X=YFalse小于小于XYTrue=小于等于小于等于X=YTrue或或不等于不等于XYTrueLike字符串匹配字符
30、串匹配“fdag”Like“*a*”TrueIs对对象引用比象引用比较较X=12.3Y=562.4 2.4 运算符与表达式运算符与表达式2.4.3 2.4.3 关系运算符关系运算符(1)如果两个操作数是数值,就按其大小进行比较。(2)如果两个操作数是字符或字符串,则按字符的UniCode码值从左到右逐个字符进行比较,其UniCode码值大的字符串大。abcdf abcf比较结果为False “10”2”比较的结果为False(3)关系运算符之间的优先级相同。2.4 2.4 运算符与表达式运算符与表达式2.4.4 2.4.4 逻辑运算符逻辑运算符运算符运算符 含含义义说说 明明例例 子子结结 果
31、果Not非非由真由真变变假或由假假或由假变变真,真,进进行行“取反取反”运算。运算。Not(31)And(21)Or(23)(21)Or(23)(23)TrueTrueFalseXor异或异或当两个表达式同当两个表达式同时为时为真或同真或同时为时为假,假,结结果才果才为为假,否假,否则则就就为为真。真。(23)False2.4 2.4 运算符与表达式运算符与表达式2.4.4 2.4.4 逻辑运算符逻辑运算符(1)要判断X是否在区间a,b,应写成 a=X And X关系运算符逻辑运算符。在算术运算中,如果表达式具有不同的数据精度,则运算结果的数据类型采用精度高的数据类型;当Long型数据与Sin
32、gle型数据运算时,结果为Single型数据。MENU2.5 2.5 常用内部函数常用内部函数2.5.1 2.5.1 转换函数转换函数函数格式函数功能及参数说明例子结果Chr(x)返回与指定字符代码相关联的字符。参数x是Integer型的数,其取值范围为-3276865536。Chr(65)Chr(-14133)“A”“人”Asc(s)返回字符s的代码数据或字符代码。对于单字节字符集,函数返回值范围为0255;对于双字节字符集,函数返回值的范围为-3276832768。Asc(“A”)Asc(“人”)65-14133Str(x)把数字转换为字符串。Str(12.3)&“a”“12.3a”Val
33、(s)把参数s转换为适当类型的数值。参数s可以使String表达式、Object变量(其值必须可以转换为String类型)或Chr值。Val(“2457”)Val(“asds”)24570Format(x,格式说明符)返回根据指定格式设置x的字符串。其中x是值数据;格式说明符是一个由预定义说明符组成的字符串。Format(12.3)Format(31.5,”00.00”)12.331.502.5 2.5 常用内部函数常用内部函数2.5.1 2.5.1 转换函数转换函数函数格式函数功能及参数说明例子结果Hex(x)返回数值数据x的十六进制值的字符串。如果x不是整数,则将其舍入到最接近的整数;如果
34、省略参数,则返回0。Hex(459)1CBOct(x)返回数值数据x的八进制值的字符串。对参数x的要求与Hex函数一致。Oct(459)713Fix(x)不进行舍入,直接返回数值x的整数部分。Fix(99.8)Fix(-26.2)99-26Int(x)如果x=0,则不进行舍入,直接返回x的整数部分;如果x0,则返回小于或等于x的最大负整数。Int(99.8)Int(-26.8)99-27Cint(x)把数值进行四舍五入取整。Cint(99.8)Cint(-26.2)100-262.5 2.5 常用内部函数常用内部函数2.5.2 2.5.2 格式输出函数(格式输出函数(FormatFormat)
35、使 用 说 明例 子结 果0数字占位符。如果表达式在格式中出现0的位上有数字,则显示该数字;否则在该位显示0;如果整数部分位数大于格式的位数,则整数部分完整显示;如果小数部分位数大于格式位数,则进行舍入。Format(5,”00.00”)Format(5.45,”0.0”)Format(-15.45,”0.0”)Format(-15.45,0000.0)05.005.5-15.5-0015.5#其作用与格式说明符0的作用相同,只是如果格式说明符指定的位数多于表达式的数字个数,多余的位置不出现。Format(5,”#.#”)Format(5.45,”#.#”)Format(-15.45,”#.#
36、”)55.5-15.5,千位分隔符。Format(12565.45,#,#.#)12,565.5%百分号占位符。Format(0.445,0#.00%)0044.50%:时间分隔符,指定输出时间数据的格式。Format(1231256,00:00:00)123:12:56/日期分隔符,指定输出日期数据的格式。Format(19961256,#/#/#)1996/12/562.5 2.5 常用内部函数常用内部函数2.5.2.5.3 3 字符串操作字符串操作函数函数函数格式函数功能及参数说明例子结果Ucase(s)把字符串参数转换成大写字符。UCase(lEFt)“LEFT”Lcase(s)把字符
37、串参数转换成小写字符。LCase(lEFt)“left”Lelf(s,n)从字符串s左边第一个字符开始截取n个字符。Left(c,2)“中国”Right(s,n)从字符串s右边最后一个字符开始截取n个字符。Right(c,4)“hong”Mid(s,n,L)从字符串s的第n个字符开始截取L个字符。Mid(c,3,1)“人”LTrim(s)去除字符串s左边的空格。LTrim(12.3 )“12.3 “RTrim(s)去除字符串s右边的空格。RTrim(12.3 )“12.3“Trim(s)同时去除字符串s左边和右边的空格。Trim(12.3 )“12.3”InStr(n,s1,s2,m)返回字符
38、串s2在字符串s1中的第一个匹配项的起始位置;如果字符串s2不在字符串s1中,则返回0。其中参数n用来指定字符串匹配操作的起始位置,s1是搜索的字符串,s2是要查找的字符串,m用来指定字符串比较的类型。InStr(s,12)InStr(2,s,12)InStr(s,12,0)1 0 1StrComp(s1,s2,m)比较两个字符串。如果s1大于s2,则返回1;如果s1小于s2,则返回-1;如果s1=s2,则返回0。StrComp(Zhe,zho)StrComp(Zho,zho)StrComp(Zho,zhe)-1 0 1Len(s)计算字符串所含字符的个数。Len(中国Zhong)7StrRe
39、verse(s)返回与指定字符串s的字符顺序相反的字符串。StrReverse(Zheng)“gnehZ”函数格式函数格式函数功能及参数函数功能及参数说说明明例例 子子结结果果Lcase(s)把字符串参数把字符串参数转换转换成小成小写字符。写字符。LCase(lEFt)“left”Ucase(s)把字符串参数把字符串参数转换转换成大成大写字符。写字符。UCase(lEFt)“LEFT”Left(s,n)从字符串从字符串s左左边边第一个字第一个字符开始截取符开始截取n个字符。个字符。Microsoft.VisualBasic.Left(c,3)“中国人中国人”Right(s,n)从字符串从字符串
40、s右右边边最后一个最后一个字符开始截取字符开始截取n个字符。个字符。Microsoft.VisualBasic.Right(c,5)“Zhong”函数格式函数格式函数功能及函数功能及参数参数说说明明例例 子子结结果果Mid(s,n,L)从字符串从字符串s的第的第n个个字符开始截取字符开始截取L个个字符。字符。Mid(c,3,4)“人民共和人民共和”LTrim(s)去除字符串去除字符串s左左边边的的空格。空格。LTrim(12.3 )“12.3 “RTrim(s)去除字符串去除字符串s右右边边的的空格。空格。RTrim(12.3 )“12.3“StrReverse(s)返回与指定字符串返回与指定
41、字符串s的字符的字符顺顺序相反的序相反的字符串。字符串。StrReverse(Zheng)“gnehZ”Trim(s)同同时时去除字符串去除字符串s左左边边和右和右边边的空格。的空格。Trim(12.3 )“12.3”函数格式函数格式函数功能及参数函数功能及参数说说明明例例 子子结结果果StrComp(s1,s2,m)比比较较两个字符串。如果两个字符串。如果s1大于大于s2,则则返回返回1;如果;如果s1小于小于s2,则则返回返回-1;如果;如果s1=s2,则则返回返回0。StrComp(Zhe,zho)StrComp(Zho,zho)StrComp(Zho,zhe)-1 0 1InStr(n
42、,s1,s2,m)返回字符串返回字符串s2在字符串在字符串s1中的中的第一个匹配第一个匹配项项的起始位置;如的起始位置;如果字符串果字符串s2不在字符串不在字符串s1中,中,则则返回返回0。其中参数。其中参数n用来指定用来指定字符串匹配操作的起始位置,字符串匹配操作的起始位置,s1是搜索的字符串,是搜索的字符串,s2是要是要查查找的字符串,找的字符串,m用来指定字符用来指定字符串比串比较较的的类类型。型。InStr(s,12)InStr(2,s,12)InStr(s,12,0)1 0 1Len(s)计计算字符串所含字符的个数。算字符串所含字符的个数。Len(中国中国Zhong)7s为“123.
43、2”,c为“中国人民共和国Zhong”。2.5 2.5 常用内部函数常用内部函数2.5.2.5.4 4 日期日期函数函数郑郑 州州 航航 院院 计计 算算 机机 科科 学学 与与 应应 用用 系系函数格式函数功能及参数说明例子结果Now()返回当前系统日期和时间。Now()2005-3-21 17:12:57Today()返回或设置当前系统的日期。Today()2005-3-21 0:00:00TimeOfDay()返回或设置当前系统时间。TimeOfDay()0001-1-1 17:12:58Year(d)返回日期变量d指定的年,值是19999的整数。Year(Now)2005Month(d
44、)返回日期变量d指定的月,值是112的整数。Month(Now)3Day(d)返回日期变量d指定的日,值是131的整数。Hour(d)返回时间变量d指定的时,值是023的整数。Hour(Now)17Minute(d)返回时间变量d指定的分,值是059的整数。Minute(Now)12Second(d)返回时间变量d指定的秒,值是059的整数。Second(Now)57Weekday(d)返回1-7之间的整数,代表日期对应的星期数。Weekday(Now)22.5 2.5 常用内部函数常用内部函数2.5.2.5.4 4 日期日期函数函数1 1DayDay函数函数 使用Day函数时,需要用Micr
45、osoft.VisualBasic命名空间对其进行限制。Dim Mydate As Date Mydate=#5/12/2003#Debug.WriteLine(Microsoft.VisualBasic.Day(Mydate)运行结果:122.5 2.5 常用内部函数常用内部函数2.5.2.5.4 4 日期日期函数函数2 2DateAddDateAdd函数函数 DateAdd(Interval,Number,DateValue)u 完成Date型数据的加运算,并返回计算结果;u Interval表示所要添加时间间隔的DateInterval枚举值或者字符串表达式;u Number是一个Dou
46、ble型的浮点数,指定加的数据;u DateValue是Date型的数据。2.5 2.5 常用内部函数常用内部函数2.5.2.5.4 4 日期日期函数函数2 2DateAddDateAdd函数函数(IntervalInterval参数的设置值参数的设置值)枚举值字符串待添加时间间隔的单位DateInterval.Day“d”天DateInterval.DayOfYear“y”天DateInterval.Hour“h”小时DateInterval.Minute“n”分钟DateInterval.Month“m”月份DateInterval.Quarter“q”季度DateInterval.Sec
47、ond“s”秒DateInterval.Weekday“w”天DateInterval.WeekOfYear“ww”周DateInterval.Year“yyyy”年2.5 2.5 常用内部函数常用内部函数2.5.2.5.4 4 日期日期函数函数 DateInterval.Day、DateInterval.DayOfYear和DateInterval.Weekday可以被视为等效。DateAdd函数不返回无效日期,如果出现参数的值无效,则发生错误。Dim d As Dated=#2/24/1996#Debug.WriteLine(DateAdd(y,-5,d)DateAdd函数还可以写成Dat
48、eAdd(DateInterval.DayOfYear,-5,d)2DateAdd函数函数(Interval参数的设置值参数的设置值 1)2.5 2.5 常用内部函数常用内部函数2.5.2.5.4 4 日期日期函数函数3DateDiffDateDiff函数函数 DateDiff(Interval,Date1,Date2,DayOfWeek,WeekOfYear)(1)Interval的设置与DateAdd函数中的Interval的设置相同;(2)Date1和Date2都是Date型的数据,用于计算Date2与Date1之间的差值;(3)DayOfWeek是FirstDayOfWeek的枚举值,
49、用来指定周的第一天,如果省略该参数,则使用FirstDayOfWeek.Sunday;(4)WeekOfYear是FirstWeekOfYear的枚举值,用来指定年的第一周,如果省略该参数,则使用FirstWeekOfYear.Jan1。2.5 2.5 常用内部函数常用内部函数2.5.2.5.4 4 日期日期函数函数 Dim d As Date d=#2/24/1996#Debug.WriteLine(DateDiff(DateInterval.Year,d,Now)程序运行结果为:9 3DateDiffDateDiff函数函数 2.5 2.5 常用内部函数常用内部函数 如果在程序中要使用这些
50、方法,必须先在代码的开头引入Math类,即在Public Class Form1语句的上面添加语句Imports System.Math。如果不添加这条语句,则使用这些方法时必须加上System.Math类。System.Math.Tan(30/180*3.142)2.5.2.5.5 5 System.MathSystem.Math的方法的方法 2.5 2.5 常用内部函数常用内部函数2.5.2.5.5 5 System.MathSystem.Math的方法的方法 函数名称函数功能及参数说明例子结果Abs返回绝对值。Abs(a)12.8Sin返回Double型正弦值。Sin(30/180*x)