第四章 Visual Basic语言基础
1、掌握VB的数据类型;
2、掌握VB的 运算符和表达式的使用;
3、掌握常用内部函数的使用;
本章重点:
变量和常量的定义及使用、运算符和表达式的使用及常用内部函数的使用。
本章难点:
数据类型、运算符与表达式。
本章内容及要求:
数据类型
一.标准数据类型
1.数值型数据(Numeric)
数值型数据一般分为整型数和浮点数两类。
整型数分为: 整数(Integer)和 长整数(Long)
浮点数分为: 单精度浮点数(Single)和双精度浮点数(Double)
有时也把货币型数据(Currency)和字节型数据(Byte)划归数值型数据。数值型数据的默认值为:0
所有数值变量都可相互赋值。在将浮点数赋予整数之前, Visual Basic将浮点数的小数部分四舍五入到整数。
1)整数(Integer)——%
整数是不带小数点和指数符号的数,在机器内部以2字节二进制码形式表示。VB中用±n[%]来表示整数,其中%为整数的类型符,可以省略。如-123%、123都表示整数。
1.数值型数据(Numeric)
2)长整数(Long)——&
整数的最大值为32767,大于此数,程序运行时就会因为溢出产生中断。此时可使用长整数。
长整数用4字节二进制数存储,可以表示更大的整数,其取值范围为-2147483648~2147483647。VB中用±n&来表示长整数,其中&为长整数的类型符。如-1234&、987654&都表示长整数。
浮点数也称为实型数或实数,由符号、尾数和指数组成,分单精度浮点数(Single)和双精度浮点数(Double),其指数部分分别用“E”(或“e”)和“D”(或“d”)表示。
3)浮点数
单精度浮点数——!
双精度浮点数——#
1.数值型数据(Numeric)
4)货币型(Currency)——@
货币型属于定点实数或整数,用8个字节存储,小数点前有15位,小数点后有4位,其余的数字被舍去,其表示形式为在数字后加上“@”。
5)字节型(Byte)
字节型数据用1个字节的无符号二进制数存储,取值范围为0~255。
2. 日期型数据(Date)
用于存储Date 和 Time,表示的日期从公元100年1月1日~9999年12月31日,时间范围为0:00:00~23:59:59。
任何在字面上可以被认作日期的文本都可以赋值给日期变量,且日期文字必须用符号“#”括起来。用8个字节存储,默认值为:0:00:00。如: #January 15,2002#, #1985-10-1 9:45:00 PM#都是合法的日期型数据。
例如: Dim SomeDate As Date
SomeDate = #1980-03-16#
SomeDate = #3-6-93 13:20#
SomeDate = #March 27 ,2004 1:20am#
3.逻辑型数据(Boolean)
逻辑型数据只有两个值:真(True)和假(False),用2个字节存储,经常用来表示逻辑判断的结果。Boolean 的缺省值为 False。
说明:
当把数值型数据转换为逻辑型数据时:
0——转换为False
非0——转换为 True。
反之,当把逻辑型数据转换为数值型时:
False——转换为0
True——转换为-1。
4.字符型数据(string)
字符型数据是指一切可打印的字符和字符串,它是用双引号括起来的一串字符。一个西文字符、汉字都是一个字符,它们在内存中都占两个字节。字符型数据的默认值为:“”
在VB中有两种类型字符串:
变长字符串和定长字符串。
变长字符串的长度不确定,可以是0~231个字符(约21亿)。
定长字符串长度一定,最多不超过 216 个字符
如: Dim S As String ‘变长字符串
Dim/Private/Public/ Static varname As String * 8
‘定长字符串
如:
Dim MyString As String * 10 ‘声明长度为10个字符的定长字符串
MyString = "Mary is 5."
Print MyString
MyString = “Mary is five years old.” ‘MyString的值为
Print MyString “Mary is fi”, 多余的部分被截断,舍弃。
说明:1)空字符串与空格串的区别;
2)在字符串中必须用两个连续的双引号来表示字符串有一个双引号。 如字符串:abc“计算机”abc,在VB中表示为:
"abc""计算机""abc"
3)Dim intX As Integer
Dim strY As String
StrY=3716 ‘将数字赋值给字符串
intX=strY ‘将字符串传递给数值变量
5.对象(Object)类型的数据
对象类型:占用4个字节的内存空间,存放的是对一个对象的引用(对象在内存中的地址),程序对对象型变量的操作等同于对它所引用对象的操作。
用 Set 语句给对象型变量赋值。未赋值之前为Nothing
如: Dim objFirst As Object | Control | 对象类型名
Set objFirst = cmdok ‘cmdok为某一按钮对象名
Set objFirst = Form
Dim objFirst As CommandButton
Set objFirst = cmdok ‘把按钮对象赋给此变量
Set objFirst = Form ‘错误,类型不匹配
6.变体(Variant)数据类型
Variant数据类型又称为变体数据类型,它是一种特殊的、可以表示所有系统定义类型的数据类型。
变体数据类型对数据的处理可以根据上下文的变化而变化,除了定长的string类型及用户自定义的数据类型之外,可以处理任何类型的数据而不必进行数据类型的转换,如上所述的数值型、日期型、对象型、字符型的数据都可表示。
Variant数据类型是VB对所有未定义的变量的缺省数据类型,能够存储所有类型的数据。
Variant型变量占用16个字节的内存。
Dim SomeValue
SomeValue = "17"
SomeValue = SomeValue - 15
SomeValue = "U" & SomeValue
除了可以表示各种类型的数据外,Variant类型的变量也可以包含Empty、Error及Null等特殊值。
Empty值:
Empty值用来标记尚未初始化(给定初值)的Variant变量。在赋值之前,Variant变量具有值Empty。值,Empty是异于0、零长度字符串( “” )或Null值的特定值。
Null 值:
Null通常用于数据库应用程序,表示未知数据或丢失的数据。
注意:
1、对包含Null 的表达式,计算结果总是Null。
2、将Null值、含Null的Variant变量或计算结果为Null的表达式作为参数传递给大多数函数,将会使函数返回Null。
3、也可用Null关键字指定Null值,例如:z=Null
4、如果要测试Variant变量是否包含Null值,可以例用IsNull函数,即Null与本身不想等。
Error值:
Error是用来指示在过程中出现错误时的特殊值。
二 用户自定义数据类型
除了上述数据类型外,在VB中,用户可以根据需要利用Type语句定义自己的数据类型,其格式如下:
[Private | Public] Type 自定义类型名
数据类型元素 As 类型名
…
End Type
——相当于C 语言中的结构体
其中,数据类型元素名为自定义数据类型中的一个成员,
类型名为上述基本类型名或自定义数据类型名。
注意:
(1)自定义类型必须在标准模块或窗体模块的声明段中声明,在标准模块中定义时默认为全局变量(Public)。在窗体模块或类模块的声明部分定义模块级用户自定义类型时,一定要加上Private关键字。
(2)自定义类型的元素类型如果有字符串,则必须是定长字符串,即应该为:strName As String*常数(“常数”指明定长字符串的长度)
用户可以像使用标准数据类型一样使用自义的数据类型 ,如:
Dim Diego As Employee ‘在过程中
Private Dona As Employee ‘在模块中
使用自定义变量中的元素,类似于对象属性的操作: Diego. Name=”Diego”
Private Type Employee
ID As Integer
Name As String *20
Salary As Currency
End Type
常量和变量
常 量
在程序运行过程中,其值不能被改变的量称为常量。在VB中有三类常量:
普通常量 符号常量 系统常量。
一、普通常量
1. 整型常量
(1)整型(Integer):表示-32768至32767之间的整数
例如:10 110 20
(2)长整型(Long):
表示-2,147,483,648至2,147,483,647之间的整数
例如:长整型常数的书写: 23&
通常我们说的整型常量指的是十进制整数,但VB中可以使用八进制和十六进制形式的整型常数,因此整型常数有如下三种形式:
1)十进制整数。如125,0,-89。20
2)八进制整数。以&或&O(字母O)开头的整数是八进制整数,如&O25表示八进制整数25,即(25)8 ,等于十进制数21。
3)十六进制。以&H开头的整数是十六进制整数,如&H25表示十六进制整数25,即(25)16 ,等于十进制数37。VB中的颜色数据常常用十六进制整数表示。
常量和变量
2、实数
1)单精度实型(Single):有效数为7位
2)双精度实型(Double):有效数为15位
常量的表示:
1)十进制小数形式。它是由正负号(+,-)、数字(0~9)和小数点(.)或类型符号(!、#)组成,即±,±n!或±n#,其中n是0~9的数字。
例如、.123、、123!、123#等
2)指数形式。
±nE±m 或 ±±m, ±nD±m 或 ±±m
例:+3 和 +3相当于 或者×103。
常量和变量
3、字符串常量
在VB中字符串常量是用双引号“"”括起的一串字符,可以是所有西文字符和汉字、标点符号等;
例如"ABC","abcdefg","123","0","VB程序设计"等。
说明:
(1)""表示空字符串,而" "表示有一个空格的字符串;
(2)若字符串中有双引号,例如ABD"XYZ,则用连续两个双引号表示,即:
"ABD""XYZ“
4、逻辑(Boolean)数据类型
只有两个值True,或False。将逻辑数据转换成整型时:True为-1,False为0;其它数据转换成逻辑数据时:非0为True, 0为False。
常量和变量
5、日期常量
日期(Date)型数据按8字节的浮点数来存储,表示日期范围从公元100年1月1日~9999年12月31日,而时间范围从0:00:00~23:59:59。
一种在字面上可被认作日期和时间的字符,只要用号码符“#”括起来,都可以作为日期型数值常量。
例:#09/02/99#、#January 4,1989#,#2002-5-4 14:30:00 PM#都是合法的日期型常量。
常量和变量
二、符号常量
在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。
VB中使用关键字Const 声明符号常量。其格式如下:
Const 常量名 [As 类型] =常数表达式
或:Const 常量名 [类型符号]=常数表达式
例如:
Const PI As Double= 等价于:
Const PI#=
常量和变量
例如,要将文本框Text1的前景颜色设置为红色,可以使用下面的语句:
=vbRed
这里的vbRed就是系统常量。这比直接使用16进制数来设置要直观得多。
三、系统常量
VB系统提供的应用程序和控件的系统定义常数。它们存放于系统的对象库中,在“对象浏览器”中的 Visual Basic(VB) 和 Visual Basic for applications(VBA)对象库中列举了 Visual Basic 的常数
常量和变量
变 量
一.变量的命名规则
1. 以字母或汉字开头,后可跟字母、数字或下划线组成.
2. 变量名最长为255个字符;
3. VB中不区分变量名的大小写,不能使用VB中的关键字;
4.字符之间必须并排书写,不能出现上下标
5.同一个过程中不能出现重名变量
以下符是合法的变量名:
a, x, x3, BOOK_1, sum5
以下标识符是非法的:
3s 以数字开头 s*T 出现非法字符*
-3x 以减号开头 bowy-1 出现非法字符-(减号)
if 使用了VB的关键字
常量和变量
二.变量声明
1.用Dim语句显式声明变量
形式:Dim 变量名 [AS 类型]
Dim 变量名[类型符]
例:
(1)Dim a As integer , b As single
等价于 Dim a%, b!
但不等价于:Dim a, b as integer (此时a属于变体型)
(2)Dim s as string *5 (s只能装5个字符,不加*5可装多个字符)
(3)Dim a as integer
a= (此时若输出变量a的值, 输出结果是多少?)
常量和变量
下面程序使用的变量a, b, Total都没有事先定义。
Private Sub Form_Click()
Total = 0
a = 10: b = 20
Total = a + b
Print “Total="; Total
End Sub
2.隐式声明
Visual Basic允许用户在编写应用程序时,不声明变量而直接使用。
所有隐式声明的变量都是Variant数据类型。
VB根据程序中赋予变量的值来自动调整变量的类型。
例如:
常量和变量
3.强制显式声明——Option Explicit语句
良好的编程习惯都应该是“先声明变量,后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。Visual Basic 中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句:
Option Explicit
运算符和表达式
一. 运算符
1. 算术运算符
(ia=3)
运算符和表达式
一. 运算符
1. 算术运算符
例:5+2*10 mod 10 \ 9 / 3 +2 ^2 结果是:
11
运算符和表达式
2. 字符串运算符与字符串表达式
字符串运算符有:& 、+ 。 功能是字符串连接
例如:
"ABCD" + "EFGHI" ' 结果为:ABCDEFGHI
“ VB ” & “程序设计教程” ' 结果为:VB程序设计教程
说明:当连接符两旁的操作量都为字符串时,上述两个连接符等价。它们区别是:
+(连接运算):两个操作数均应为字符串类型;
&(连接运算):两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。
运算符和表达式
例:
"100" + 123 ' 结果为 223
"100" + "123" ' 结果为 100123
"Abc" + 123 ' 出错
"100" & 123 ' 结果为 100123
100 & 123 ' 结果为 100123
"Abc" & "123" ' 结果为 Abc123
"Abc" & 123 ' 结果为 Abc123
注意:使用运算符“&”时,变量与运算符“&”之间应加一个空格。这是因为符号“&”还是长整型的类型定义符,如果变量与符号“&”接在一起,VB系统先把它作为类型定义符处理,因而就会出现语法错误。
运算符和表达式
关系运算符与关系表达式
比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为True,若关系不成立,结果为False。
VB中的关系运算符如下表所示。
运算符
含义
优先级
实例
结果
<
小于
所有关系运算优先级相同。低于算术运算的加“+”,减“-”运算,高于逻辑非“Not”运算。
15+10<20
False
<=
小于或等于
10<=20
True
>
大于
10>20
False
>=
大于或等于
"This">= "That"
True
=
等于
"This"= "That"
False
<>
不等于
"This"<> "That"
True
Like
字符串匹配
"This" Like "*is"
True
Is
对象比较
运算符和表达式
关系运算的规则如下 (1)当两个操作式均为数值型,按数值大小比较。
(2)字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。
例: " ABCDE " > " ABRA " 结果为 False
(3)数值型与可转换为数值型的数据比较,
如:29>"189" ,按数值比较,结果为False。
(4)数值型与不能转换成数值型的字符型比较,
如:77>" sdcd" ,不能比较,系统出错。
(5)“Like”运算符是新增加的。
其使用格式为:str1 Like str2
运算符和表达式
逻辑运算符与逻辑表达式
逻辑运算符:Not,And,Or Xor Eqv Imp
说 明:
(1)逻辑运算符的优先级不相同,Not(逻辑非)最高,但它低于关系运算,Imp(逻辑蕴含)最低。
(2)VB中常用的逻辑运算符是Not、And和Or。它们用于将多个关系表达式进行逻辑判断。
例如:
数学上表示某个数在某个区域时用表达式: 10≤X<20
用VB程序中应写成: X>=10 And X<20
如果写成如下形式将是错误的:
10<=x<20 或 10<=x Or x<20
运算符和表达式
例:用人单位招聘干部:年龄小于40岁,女性,学历专科或本科:
写成条件VB的表达式:
年龄<=39 性别="女" 学历="专科" 学历="本科"
运算符和表达式
And
Or
And
( )
nn<=39 xb="女" xl="专科" xl="本科"
And
And
Or
( )
日期型表达式
日期型数据是一种特殊的数值型数据,只能有下面3种情况:
1.一个日期型数据可以相减: DateB - DateA
结果是一个数值型整数(两个日期相差的天数)。
例如:#05/08/2002# - #05/01/2002# 其结果为数值:7
2.一个日期型数据(DateA)与一数值数据(N)可作加法运算:DateA + N
其结果仍是一个日期型数据。
3.一个日期型数据(DateA)与一数值数据(N)可作减法运算: DateA - N
其结果仍是一个日期型数据。
例如:#05/08/2002# - 7
运算符和表达式
运算符和表达式
运算符的执行顺序
表达式中出现了多种不同类型的运算符时,其运算符优先级如下:
算术运算符>=字符运算符>关系运算符>逻辑运算
说明:
1.当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑运算符.
2.可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由内到外。
3. 表达式的书写中需注意的问题
(1)运算符不能相邻。例a+*b是错误的。
(2)乘号不能省略。例x 乘以y 应写成:x*y
(3)括号必须成对出现,均使用圆括号。
(4)表达式从左到右在同一基准并排书写,不能出现上下标
(5)要注意各种运算符的优先级别,为保持运算顺序,在写VB表达式时需要适当添加括号(),若用到库函数必须按库函要求书写。 如:
运算符和表达式
(b-sqr(b*b-4*a*c))/(2*a)
(a+b)/(a-b)
VB提供了上百种内部函数(库函数),要求掌握这些常用函数的功能及使用。
调用方法:
函数名(参数列表) 有参函数
函数名 无参函数
说明:
(1) 使用库函数要注意参数的个数及其参数的数据类型
(2) 要注意函数的定义域(自变量或参数的取值范围)
例如: sqr(x) 要求: x>=0
(3) 要注意函数的值域。
如:exp(23773) 的值就超出实数在计算机中的表示 范围。
常用内部函数
-3
Fix()
返回数的整数部分
Fix
-4
Int()
返回不大于给定数的最大整数
Int
4
Sqr(16)
返回数的平方根
Sqr
-1
Sgn(-100)
返回数的符号值
Sgn
0~1之间的随机数
Rnd
返回小于1且大于或等于0的随机数
Rnd
0
Log(1)
返回一个数值的自然对数
Log
Exp(1)
返回e 的指定次幂
Exp
Abs()
返回数的绝对值
Abs
Tan(1)
返回弧度的正切
Tan
.785398163397448
Atn(1)
返回用弧度表示的反正切值
Atn
.54030230586814
Cos(1)
返回弧度的余弦
Cos
.841470984807897
Sin(1)
返回弧度的正弦
Sin
结果
实例
说 明
函 数
数学函数
说明:
(1) 在三角函数中的自变量是以弧度为单位。
如:sin300 sin(
(2)Rnd函数返回0 ~ 1(包括0和不包括1)之间的单精度随机数。
若要产生1-100的随机整数: Int(Rnd *100)+1
提问:怎样产生[N,M]区间的随机数?
有关数学函数的使用说明
(3)要区别两个取整函数int()和fix()
Fix(N)为截断取整,即去掉小数后的数。
Int(N)不大于N的最大整数。
N>0与int(N) 相同,当N<0时, int(N) 与fix(N) -1相等。
例如: Fix() =9, Int() =9
Fix() =-9, Int() =-10
思考:如何实现四舍五入取整?
(4)Asc("Abcd") 值为: 65 (只取首字母的Ascii值)
(5)Val("abc123") 值为:0, Val("") 值为
注意: Val( )函数只将最前面的数字字符转换为数值。
"Name"
Right$("MyName",4)
返回从字符串右端开始截取N个字符的子串
Right$(C,N)
"My"
Left$("MyName",2)
返回从字符串左边开始截取N个字符的子串
Left$(C,N)
"MyName"
Trim$("MyName")
返回删除字符串前导和尾部空格后的字符串
Trim(C)
"MyName"
RTrim$("MyName")
返回删除字符串右端空格后的字符串
Rtrim$(C)
"MyName"
LTrim$("MyName")
返回删除字符串左端空格后的字符串
Ltrim$(C)
结果
实例
说 明
函 数
字符串函数
字符串函数
8
InStr(7,"ASDFDNFDF", "DF")
返回在c1中从N1开始搜索c2第一次出现的位置。
说明:M用来指定字符串的比较方式。
0—进行二进制比较,区分字母的大小写。
1—比较时忽略大小写。
2—基于库中的信息比较。
Instr ([N1,]C1,C2[,M])
9
Len("MyName=王青")
返回字符串的长度
Len(C)
"yNa"
Mid $("MyName",2,3)
Mid $("MyName",1,2)= “You” “YoName”
见例题2:
返回从字符串指定位置开始的指定数目的字符串
语句:
Mid$(C1,N1[,N2])=c2
Mid$ (C,N1[,N2])
结果
实例
说 明
函 数
字符串函数
-1
0
StrComp(“Tom”,”tom”)
StrComp(“Tom”,”tom” ,1 )
比较两个字符串:
若 C1>c2,则返回1
若 C1=c2,则返回0
若 C1<c2,则返回-1
StrComp(C1,C2 [,M] )
M----比较方式
0----二进制比较
1----不屈分大小写
"ABCABC"
LCase("ABCabc")
返回将小写字母转换成大写字母的字符串
Ucase(C)
"abcabc"
LCase("ABCabc")
返回将大写字母转换成小写字母的字符串
Lcase(C)
"DCBA“
StrReverse("ABCD")
将字符串反序排列
StrReverse(C)
"AA"
String$(2, "ABCD")
返回一个由N个重复的字符C 组成的字符串
String$(N,C)
""
Space$(5)
返回由 N个空格组成的字符串
Space$(N)
结果
实例
说 明
函 数
将实数转换成错误值
Error
CVErr
若为数值,范围与Double相同;若不为数值,则范围与String相同
Variant
Cvar
依据参数返回CStr
String
CStr
负数:~-45;
正数:-45~
Single
Csng
-2147483648~2147483647,小数部分四舍五入
Long
CLng
-32768~32767,小数部分四舍五入
Integer
Cint
负数:~-324
正数:-324~
Double
Cdbl
任何有效的日期表达式
Date
Cdate
~
Currency
Ccur
0~255
Byte
Cbyte
任何有效的字符串或数值表达式
Boolean
Cbool
参数范围
返回类型
函数
数据类型转换函数
(1)求ASCⅡ码值—— Asc
功能:用来求一个字符串首字符的ASCⅡ码值
格式:Asc(string)
说明:参数string可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。
(2)求ASCⅡ码字符——Chr
功能:求一个ASCⅡ码值所对应的ASCⅡ码字符
格式: Chr(charcode)
说明:参数charcode是一个用来识别某字符的 Long型数。charcode 的正常范围为 0 – 255。
0 到 31 之间的数字与标准的非打印 ASCII 代码相同。例如,Chr(10) 可以返回换行字符。
功能:是返回包含于字符串内的数字,字符串中是一个适当类型的数值。
格式:Val(string)
如:
(3)字符串转换为数值—— Val
转换函数
功能:是将一个数值表达式转换为一个字符串,且表达式的类型不变。
格式:Str(number)
说明:当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。
使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号。
(4)数值转换为字符串—— Str
数制转换函数
Hex 函数返回数值的十六进制表示形式(字符串) 。
Oct 函数返回数值的八进制表示形式(字符串)。
它们的语法格式为:
Hex(number)
Oct(number)
说明:参数number为任何有效的数值表达式或数字串表达式。
如果 number 不是一个整数,那么在执行前会先被四舍五入成最接近的整数。
日期和时间函数
08:35:35
Time
见例3:
返回当前时间(hh:mm:ss)
Time
3
Month("2002-3-5")
返回一年中的某月(1~12)
Month(C|D)
星期二
WeekDayName (3)
返回星期代号(1~7)转换为星期名称,1 为星期日
WeekDayName (C|N)
3(星期二)
WeekDay(date)
返回是星期几(1~7)
WeekDay(C|D)
5
Day("2002-3-5")
返回月中第几天(1~31)
Day(C|D)
01-2-3
DateValue("1,2,3")
返回一个日期形式,自变量为字符串
DateValue(C)
01-2-3
DateSerial(1,2,3)
返回一个日期形式
DateSerial(年,月,日)
2004-04-12
Date
返回当前日期(yy-mm-dd )
Date
2004-04-12 08:19:10
Now
返回系统日期和时间(yy-mm-dd hh:mm:ss)
Now[( )]
结果
实例
说 明
函 数
例3:
十二月
Monthname(12)
返回月份名
Monthname(C|N)
1:02:03
TimeValue("1:2:3")
返回一个时间形式
TimeValue(C|D)
1:02:03
TimeSerial (1,2,3)
返回一个时间形式
TimeSerial(时,分,秒)
(由系统决定)
Timer
返回从午夜算起已过的秒数
Timer[$][()]
48
Second(#9:12:48# )
返回秒(0~59)
Second(C|D)
9
Minute(#9:12:48#)
返回分钟(0~59)
Minute(C|D)
16(由系统决定)
Hour(Now)
返回小时(0~23)
Hour(C|D)
2002
Year("2002-3-5")
返回年份(yyyy)
Year(C|D)
结果
实例
说 明
函 数
格式输出函数
使用格式输出函数Format()可以使数值、日期或字符型数据按指定的格式输出。其返回值是字符串。
Format函数的语法格式为:
Format(表达式 [,格式字符串])
说明:
若省略[格式字符串],则Format 函数的功能与Str函数的功能基本相同,唯一区别是:正数时, Format 函数无符号位。
Format 函数一般用于Print 方法中
常用的数值型格式说明字符
用指数表示,正指数显示X,负指数显示-X。
E-
用指数表示,正指数显示+X,负指数显示-X。
E+
在数字前强加-
-
在数字前强加+
+
在数字前强加$
$
百分比符号占位符。表达式乘以100。而百分比字符(%)会插入到格式字符串中出现的位置上
%
千分位符号占位符
,
小数点占位符
.
数字占位符。显示一位数字或是零。如果表达式在格式字符串中0的位置上有一位数字存在,那么就显示出来,否则就以零显示。
0
数字占位符。显示一位数字或什么都不显示。如果表达式在格式字符串中 # 的位置上有数字存在,那么就显示出来,否则,该位置什么都不显示。
#
说 明
字符
数值格式化实例
‘ 格式符位数少,照常显示
‘ 正指数带+号,负指数带 - 号
常用的字符型格式说明字符
“ABCD”
Format(“ABCD”, “!&&&&&&”)
强制由左至右填充字符占位符。缺省值是由右至左填充字符占位符
!
“ABCD”
Format(“abcd”, “>”)
强制大写。将所有字符以大写格式显示
>
“ abcd”
Format(“ABCD”, “<@@@@@@”)
强制小写。将所有字符以小写格式显示
<
“ABCD”
Format(“ABCD”, “&&&&&&”)
字符占位符。显示字符或什么都不显示,如果字符串在格式字符串中& 的位置有字符存在,那么就显示出来否则就什么都不显示。除非有惊叹号字符(!)在格式字符串中,否则字符占位符将由右到左被填充。
&
” ABCD”
Format(“ABCD”,”@@@@@@”)
字符占位符。显示字符或是空格。如果字符串在格式字符串中@的位置有字符存在,那么就显示出来;否则就在那个位置上显示空格。除非有惊叹号字符(!)在格式字符串中,否则字符占位符将由右到左被填充
@
结果
实例
说明
字符
常用的时间日期型格式说明字符
显示完整长日期(yyyy年m月d日)
dddddd
显示完整短日期(m/d / yy)
ddddd
显示星期全名(Sunday~Saturday)
dddd
显示星期缩写(Sun~Sat)
ddd
月份全名(January ~December)
mmmm
显示月份缩写(Jan~Dec)
mmm
显示月份(01~12),个位前加0
mm
显示月份(1~12),个位前不加0
m
一年中的星期数(1~54)
ww
星期为数字(1~7,1是星期日)
w
显示日期(01~31),个位前加0
dd
显示日期(1~31),个位前不加0
d
作 用
符号
作 用
符号
常用的时间日期型格式说明字符(续)
12小时的时钟,中午前A或a
中午后P或p
A/P, a/p
12小时的时钟,中午前AM或am;中午后PM或pm
AM /pm
显示完整时间(小时、分和秒)默认格式为hh:mm:ss
tttt
显示秒(00~59),个位前加0
ss
显示秒(0~9),个位前不加0
S
在h后显示分(0~59),个位前加0
mm
在h后显示分(0~59),个位前不加0
m
显示小时(0~23),个位前加0
hh
显示小时(0~23),个位前不加0
h
季度数(1~4)
q
四位数显示年份(0100~9999)
yyyy
两位数显示年份(00~99)
yy
显示一年中的日(1~366)
y
作 用
符号
作 用
符号
VB语句的书写格式
1.关键字与标识符:定义、使用、规则
2.程序语句格式
3.程序的书写规则:大小写、语句、注释
4.命令格式约定:< > 、[ ]、|、…… 、…