现代教育技术中心 第二章 2.1 2.2 2.3 2.4 Visual Basic语法 基础 数据类型 变量和常量 运算符和表达式 常用内部函数 主讲人:姚灵 2010年2月 2.1 数据类型 数据是程序语言的基本要素之一,数据有 不同的数据类型,如在给对象属性赋值时, 这个值就有数据类型。    Text1.Text=“hello” Form1.Width=500 Command1.Enabled=True VB提供了两种数据类型: 1、基本数据类型 2、用户自定义数据类型 现代教育技术中心 WWW.LNCC.EDU.CN 2.1.1 基本数据类型 6.通用数据类 型 5.对象数据类 型 1.数值数据类 型 4.字符数据类 型 2.逻辑数据类 型 3.日期数据类 型 现代教育技术中心 WWW.LNCC.EDU.CN 2.1.1 基本数据类型 6.通用数据类 型 5.对象数据类 型 4.字符数据类 型 3.日期数据类 型 现代教育技术中心 数值(Numeric) 类型分别是: Interger、Long、 Single、Double、 Currency和Byte。 其中: 1.数值数据类 Interger 、 型 逻 辑 (Boolean) 数 Long型存放整数; 据类型用于逻辑判 Single、Double 断 , 它 只 有 True 和Currency型存 与 False 两 个 值 。 放小数; 当逻辑数据转换成 2.逻辑数据类 Byte字节型用于 型.

Download Report

Transcript 现代教育技术中心 第二章 2.1 2.2 2.3 2.4 Visual Basic语法 基础 数据类型 变量和常量 运算符和表达式 常用内部函数 主讲人:姚灵 2010年2月 2.1 数据类型 数据是程序语言的基本要素之一,数据有 不同的数据类型,如在给对象属性赋值时, 这个值就有数据类型。    Text1.Text=“hello” Form1.Width=500 Command1.Enabled=True VB提供了两种数据类型: 1、基本数据类型 2、用户自定义数据类型 现代教育技术中心 WWW.LNCC.EDU.CN 2.1.1 基本数据类型 6.通用数据类 型 5.对象数据类 型 1.数值数据类 型 4.字符数据类 型 2.逻辑数据类 型 3.日期数据类 型 现代教育技术中心 WWW.LNCC.EDU.CN 2.1.1 基本数据类型 6.通用数据类 型 5.对象数据类 型 4.字符数据类 型 3.日期数据类 型 现代教育技术中心 数值(Numeric) 类型分别是: Interger、Long、 Single、Double、 Currency和Byte。 其中: 1.数值数据类 Interger 、 型 逻 辑 (Boolean) 数 Long型存放整数; 据类型用于逻辑判 Single、Double 断 , 它 只 有 True 和Currency型存 与 False 两 个 值 。 放小数; 当逻辑数据转换成 2.逻辑数据类 Byte字节型用于 型.

现代教育技术中心
第二章
2.1
2.2
2.3
2.4
Visual Basic语法
基础
数据类型
变量和常量
运算符和表达式
常用内部函数
主讲人:姚灵
2010年2月
2.1 数据类型
数据是程序语言的基本要素之一,数据有
不同的数据类型,如在给对象属性赋值时,
这个值就有数据类型。



Text1.Text=“hello”
Form1.Width=500
Command1.Enabled=True
VB提供了两种数据类型:
1、基本数据类型
2、用户自定义数据类型
现代教育技术中心
WWW.LNCC.EDU.CN
2.1.1 基本数据类型
6.通用数据类
型
5.对象数据类
型
1.数值数据类
型
4.字符数据类
型
2.逻辑数据类
型
3.日期数据类
型
现代教育技术中心
WWW.LNCC.EDU.CN
2.1.1 基本数据类型
6.通用数据类
型
5.对象数据类
型
4.字符数据类
型
3.日期数据类
型
现代教育技术中心
数值(Numeric)
类型分别是:
Interger、Long、
Single、Double、
Currency和Byte。
其中:
1.数值数据类
Interger 、
型
逻
辑 (Boolean) 数
Long型存放整数;
据类型用于逻辑判
Single、Double
断
, 它 只 有 True
和Currency型存
与 False 两 个 值 。
放小数;
当逻辑数据转换成
2.逻辑数据类
Byte字节型用于
型 数 据 时 ,
型 整
存储二进制数。
True 转 换 为 -1 ,
False转换为0。
WWW.LNCC.EDU.CN
数值数据类型
1、整型数:不带小数点和指数符号的数。
(1)整型(Integer):2个字节,-32768~32767
在VB中整数表示形式: n[%]
其中,n是0~9的数字,%是整型类型符(可省)
问题:下列哪些数据属于整型:
(A)-456% (B)+456.0 (C)789 (D)98123
(2)长整型(Long): 4个字节,类型符&(可省)
表示形式为: n&
问题:下列哪些数据属于长整型:
(A)+32712 (B)+456.0 (C)789& (D)-98123&
现代教育技术中心
WWW.LNCC.EDU.CN
数值数据类型
2、浮点数
浮点数也称实型或实数,是带有小数部分的数值。
(1)单精度数(Single):4个字节,类型符是!
范围:-3.402823E+38~-1.401298E-45或
1.401298E-45~ 3.402823E+38
表示形式为:±n.n、 ± n!、 ± nE±m 、
±n.nE±m 分别为小数形式、整数加单精度类
型符、指数形式,其中n,m为0~9数字
问题:下列哪些数据属于单精度浮点数:
(A)+456123 (B)+456.0# (C) 456.0! (D)-9.8E3
现代教育技术中心
WWW.LNCC.EDU.CN
浮点数
(2)双精度数(Double):8个字节,类型符#
范围: -1.797693123862315D+308~
-4.94066D-324或4.94066D324~
1.797693123862315D+308
表示形式为:±n.n#、 ± n#、 ± nD±m 、
± nE±m# 、 ±n.nD±m、 ±n.nE±m#
问题:下列哪些数据属于双精度浮点数:
(A)+4.5E1# (B)+456.0# (C) 456.0! (D)-9.8D3
注意:所有数值变量都可相互赋值。
在将浮点数赋予整数
之前, Visual Basic将浮点数的小数部分四舍五入到整数。
现代教育技术中心
WWW.LNCC.EDU.CN
字符数据类型
字符串(String,类型符$)
字符串是字符序列,包括所有西文
字符和汉字,由""作定界符。
注意:
(1)“”表示空字符串,而“ ”表示有
一个空格的字符串;
(2)若字符串中有双引号,例如,要表
示字符串:123"abc,则用连续两个双引
号表示,即: "123""abc"。
现代教育技术中心
WWW.LNCC.EDU.CN
特殊数据类型
(1)逻辑型(Boolean):1个字节,
范围: True或False
注意:当逻辑数据转换成整型数据时,True转换
为-1,False转换为0;当将其他类型数据转换成逻辑数
据时,非0数转换为True,0转换为False.
(2)字节型(Byte):1个字节,存储无符号整形数。
范围: 0~255
(3)货币型(Currency):8个字节,类型符@
(4)日期型(Date):8个字节,
范围: 100年1月1日-9999年12月31日
0:00:00-23:59:59
表示形式:# 日期或时间#
现代教育技术中心
WWW.LNCC.EDU.CN
(5)对象型(Object):4个字节,用来表示图形、
OLE对象或其它对象。
(6)变体型(Variant):
也称通用型,是一种通用的、可变的数据类型。
是所有未定义变量默认的数据类型。它可以用
来存放前面介绍的任何一种类型的数据。它对
数据的处理完全取决于程序上下文的需要。
可以使用VarType()函数来检测数据类型(P22表
2-2)
问题:下列哪些数据属于日期型数据:
(A)January 13,2002# (B)#1/13/2002#
(C) #1999-5-12 12:30:00 PM# (D) 1/13/2002
现代教育技术中心
WWW.LNCC.EDU.CN
2.1.2 用户自定义数据类型
在模块的声明部分可以使用Type语句建立自定义
数据类型。如果在窗体中自定义类型,则必须加上限
定词Private。
一般形式:Type 自定义类型名
元素 As 类型
…
End Type
演示2-1:怎样使用用户自定义数据类型
现代教育技术中心
WWW.LNCC.EDU.CN
2.2 变量和常量
2.2.1 变量或常量的命名规则
• 必须以字母或汉字开头,由字母、汉
字、数字或下划线组成,长度小于等
于255个字符。
• 变量内不能包含小数点、也不能包含%、
&、!、#、@、$等代表变量类型的符
号(除了最后一个字符外)。
• 不能使用VB中的关键字。
• VB中不区分变量名的大小写。
现代教育技术中心
WWW.LNCC.EDU.CN
2.2 变量和常量
2.2.1 变量或常量的命名规则
• 为了便于区分,一般变量首字母用大写字母,
其余用小写字母表示;常量全部用大写字母
表示。
• 为了增加程序的可读性,可在变量名前加一
个缩写的前缀来表明该变量的数据类型。例
如:strMystring、intCount
问题:下列哪些是合法的变量名:
(A)123abc
(B)X_yz
(C) long
(D)X-Y
(E) sng最小值
现代教育技术中心
WWW.LNCC.EDU.CN
2.2.2
变量
变量是在程序运行中其值可以变化的量。
 每个变量都有一个名字和相应的数据类
型,通过名字来引用一个变量,而数据类型
则决定了该变量的存储方式。
变量声明方法:
1、Dim语句显式声明变量
格式:Dim 变量名[As 数据类型]
例:
Dim a1 as Boolean
Dim n As Integer

现代教育技术中心
WWW.LNCC.EDU.CN
变量声明
在一行中可声明多个变量,用“,”号分隔。
例: Dim a1 as Boolean, n As Integer
Dim x%,y%, sngAllsum!
对于字符串变量类型,其定义方法有两种:
Dim 字串变量名 As String
Dim 字串变量名 As String*字符数
说明:前者是可变长字符串变量,其长度由
为它赋值的字符串决定;后者是定长字符串
变量,由 String*字符数指定字符长度。
现代教育技术中心
WWW.LNCC.EDU.CN
字符串变量声明
例如:
Dim S1 As String 或者
Dim S1$
'声明可变长字符串变量
Dim S2 As String*50 ‘声明定长字符串变量最多
可存放50个字,若赋予的字少于50,则右补空格;
若赋予的字超过50个,则多余部分截去。
注意:由于VB采用UniCode编码,一个汉字与一个
西文字符一样都算作一个字,占两个字节。
?len(“啊a”) ’返回字符个数
2
?lenb("啊a")
‘返回字节数
4
现代教育技术中心
WWW.LNCC.EDU.CN
变量显式声明
2、Static语句显式声明变量
格式:Static 变量名[As 数据类型]
说明:
Static是静态变量关键字。与Dim声明的变
量不同之处在于在执行一个过程结束时,过
程中所涉及到的Static变量的值会保留,下
次再调用此过程时,变量的初值是上次调用
结束时被保留的值,而Dim声明的变量在过
程结束时不保留,每次调用时需要重新初始
化。
现代教育技术中心
WWW.LNCC.EDU.CN
变量显式声明
2、Static语句显式声明变量
例:在窗体上画一个名称为command1的命令按钮,
然后编写如下程序,求运行时三次单击command1后,
6)
窗体上显示的结果为( 15
Private Sub Command1_Click()
Static x AS Integer
Static y AS Integer
Cls
Y=1:Y=Y+5:X=X+5
Print X,Y
End Sub
现代教育技术中心
WWW.LNCC.EDU.CN
变量声明
3、用类型声明符显式声明变量
如:Dim No%
Dim Sum&,Name$
4、隐式声明
VB中使用变量之前不必先声明这个变量,
它可以由VB 系统自动创建(隐式声明),隐
含为Variant类型。
现代教育技术中心
WWW.LNCC.EDU.CN
Option Explicit显式声明
隐式声明虽然很方便,但是如果写错变量名,会
导致难以查找的错误。
为了避免麻烦,可以规定,使用变量前必须显式
声明变量,否则VB 将发出错误警告。设置方法如下:
1、在类模块、窗体模块或标准模块的声明段的第
一行添加语句: Option Explicit
2、在“工具”菜单中选取“选项”,单击“编辑
器”选项卡,再复选“要求变量声明”选项。
这样就在任何新模块中自动插入 Option Explicit
语句,但不会在现有模块中自动插入;所以在工程内
部,只能用手工方法向现有模块添加 Option Explicit。
现代教育技术中心
WWW.LNCC.EDU.CN
2.2.3 变量的作用域
1、局部变量(dim | static声明)
在过程内定义的变量叫局部变量,作用域是
它所在的过程。
2、窗体变量和模块变量(dim | private)
窗体变量可用于窗体内所有的过程
模块变量可用于模块内所有的过程
演示2:窗体变量示例
3、全局变量(public|global)
可用于工程中的每个模块、每个过程中
现代教育技术中心
WWW.LNCC.EDU.CN
表 2-3 三种变量的作用范围及使用规则
作用范围
局部变量
窗体/模块级变量
声明方式
Dim、Static
Dim、private
声明位置
在过程中
能否被本模
块的其他过
程存取
不能
能否被其他
模块存取
不能
全局变量
窗体
标准模块
Public、Global
窗体/模块的“通
窗体/模块的“通用声明”段
用声明”段
能
不能
能
能(但在变量名前
要加窗体名)
能
• 例2-1 变量作用域举例
现代教育技术中心
WWW.LNCC.EDU.CN
2.2.4 常量

常量是在程序运行中不可以改变的量。
可以使用有意义的名字来取代不变的数值
或字符串,称为符号常量。

常量有三种来源:
1、内部的或系统定义的常量是应用程序
和控件提供的。
2、直接常量(字面常量)
3、用户定义的常量(符号常量)

现代教育技术中心
WWW.LNCC.EDU.CN
2.2.4 常量
1、内部的或系统定义的常量是应用程序和控件提
供的。
在引用时可使用2个小写字母前缀,限定在哪个对
象库中,例如:
vb:表示VB和VBA中的常量。
xl:表示Excel中的常量。
db:表示Data Access Object库中的常量。
例如,改变窗口状态属性WindowsState
Form1.WindowState = vbMaximized
2、直接常量
常数值直接反映了其类型;也可在常数值后紧
跟类型符显示地说明常数的数据类型。
现代教育技术中心
WWW.LNCC.EDU.CN
问题:下列常量属于哪种类型:
整型
(A)1234
双精度浮点型
(B)12.45#
(C) #10/12/2000# 日期型
字符型
(D)”123”
逻辑型
(E) True
长整型
(F)1234&
(G)-0.12E3
单精度浮点型
在VB中除了十进制数常数外,还有八进制、十六进制常数。
八进制常数形式:数值前加&0。
例如,&0123、&0456。
十六进制常数形式:数值前加&H。
例如,&HABCD、&H1234。
现代教育技术中心
WWW.LNCC.EDU.CN
3、用户定义的常量
Const 常量名[As类型] = 表达式
1.表达式,由数值常量或字符串常量以及运算符组成。
2.常量一旦声明,在其后的代码中只能引用不能改
变
3.[As类型] 可用类型说明符代替
为创建仅存在于过程中的常数,请在这个过程内部
声明常数。
为创建一常数,它对模块\窗体中所有过程都有效,
但对模块\窗体之外任何代码都无效,请在模块\窗
体的声明段中声明常数。
为创建在整个应用程序中有效的常数,请在标准模
块的声明段中进行声明,并在 Const 前面放置
Public 关键字。
在窗体模块或类模块中不能声明 Public 常数。
现代教育技术中心
WWW.LNCC.EDU.CN
Const 语句可以表示数量或 Date / Time 量:
Const Pi = 3.14159265358979
Const Max As Integer = 9
Const Max% = 9
Const DD = #1/1/95#
也可用 Const 语句定义字符串常量:
Const Version = "07.10.A"
Const CodeName = "English""
如果用逗号进行分隔,则在一行中可放置多个常
量声明:
Const Pi = 3.14, Max = 9
甚至可用先前定义过的常量定义新常量。
Const Pi2 = Pi * 2
现代教育技术中心
WWW.LNCC.EDU.CN
课堂练习
• 习题 P34-11,14,30
• 编程:由键盘输入半径,计算圆的周
长和面积。界面如下:
现代教育技术中心
WWW.LNCC.EDU.CN
2.3 运算符和表达式
• 程序中对数据的基本加工是依靠运算
符实现的。
• 在Visual Basic中运算符的类型有:
赋值运算符、算术运算符、比较运算
符、连接运算符、逻辑运算符。
• 通过常量、变量、运算符、函数等的
组合,由此构成表达式。
现代教育技术中心
WWW.LNCC.EDU.CN
1、算术运算符
+(加)-(减)
Mod(模)
\ (整除)
* (乘) / (除)
- (取负)
^ (指数)
由
低
到
高
3+5-2.5
5.5
15 mod 2 1
4.8\3
1
2*0.6/3
0.4
-5
-5
3^2
9
含有算术运算符的表达式为算术表达式,计算结果为数值
注意:1. 整除运算的结果是商的整数部分。如果参加整除运算的量是实数,则先
按四舍五入原则将它们变成整数; 求余运算符的两个操作数如果为实数,则先按四
舍五入原则将它们变成整数。再求余数,求得的余数正负号与第一个操作数相同。
2. 刚好为0.5的情况四舍五入为最接近该数的偶数 。
例如,在立即窗口中输入 ?6.5 mod 2 , 结果为0
现代教育技术中心
WWW.LNCC.EDU.CN
2、关系运算符
3<4
T
<(小于)
T
<=(小于等于) 25<=34
6>9
F
>(大于)
8>=20
F
>=(大于等于)
12=12
T
=(等于)
7<>7
F
<>(不等于)
Like(字符串匹配) “abcdef” Like “?bc*” T
含有关系运算符的表达式为关系表达式,结果为逻辑值。
现代教育技术中心
WWW.LNCC.EDU.CN
2、关系运算符
在比较时注意以下规则:
(1) 数值型数据,按其大小比较。
(2) 字符型数据,按字符的ASCII码值从左
到右一一比较。
例:“abv”>“abc” 结果为True
"abcd"<"abc"结果为 False
(3) 汉字字符大于西文字符。
例: "你好"<"abc“结果为 False
(4) 关系运算符的优先级相同。
现代教育技术中心
WWW.LNCC.EDU.CN
3、逻辑运算符
Not(非)
And(与)
Or(或)
Xor(异或)
Eqv(等价)
Imp(蕴含)
由
高
到
低
A
F
F
T
T
B
F
T
F
T
and
F
F
F
T
or xor eqv imp
F F
T T
T T F
T
T T F
F
T F T
T
含有逻辑运算符的表达式为逻辑表达式,
结果为逻辑值。
现代教育技术中心
WWW.LNCC.EDU.CN
4、字符串运算符
运算符: +、&
“hello”+” world”
“hello”&” world”
“hello world”
“hello world”
含有字符串运算符的表达式为字符串表达式,结果为字符串。
注意:连接符“&”与“+”的区别是:
“+”:连接符两旁的操作数应均为字符型;若均为数
问题:求出下列表达式的运行结果
值型则进行算术加运算;若一个为数字字符型,另一个为
123+456
579
数值型,则自动将数字字符转换为数值,然后进行算术加;
“123”+”456”
“123456“
若一个为非数字字符型,另一个为数值型,则出错。
579
123+”456”
“&”:连接符两旁的操作数不管是字符型还是数值型,
出错
进行连接操作前,系统先将操作数转换成字符型,然后再
123+”45ab”
连接。
“123456”
123&456
123&“45ab”
现代教育技术中心
“12345ab”
WWW.LNCC.EDU.CN
5、 赋值运算符
将数据赋值给变量可以使用赋值运算符(=)。
变量名=表达式
在VB中,经常用到以下几种赋值语句:
(1)给变量赋数值一般只能赋给同数据类型的
变量,若赋值运算符两边数据类型不同且不能转
换,会出现类型不符错误。
(2)为对象的属性赋值
一般格式为:对象.属性=属性值
(3)为用户自定义型变量的各元素赋值
一般格式为:变量名.元素名=表达式
现代教育技术中心
WWW.LNCC.EDU.CN
对表达式的进一步说明:
在混合运算符表达式中, 运算符优先顺序为:
1、括号、函数。 4、关系运算符。
2、算术运算符。 5、逻辑运算符。
3、字符运算符。
表达式的书写规则:
(l)乘号不能省略。例如,x乘以y应写成:x*y
(2)括号必须成对出现,均使用圆括号;可以出现
多个圆括号,但要配对。
(3)表达式从左到右在同基一准上书写,无高低、
大小区分。
(x+y)/2
例如:计算x和y的平均值的表达式为:
现代教育技术中心
WWW.LNCC.EDU.CN
不同数据类型的转换:
在算术运算中,如果操作数具有不同的数据精
度,则VB规定运算结果的数据类型采用精度高
的数据类型。即:
Integer<Long<Single<Double<Currency
但当Long型数据与Single型数据运算时,结果
为Double型数据。
问题:
1、表达式16/4-2^5*8/4 MOD 5\2的值为(B)
A、14 B 、4 C、 20 D、2
2、数学关系3x<10表示成正确的VB表达式
( X>=3 and x<10 )
现代教育技术中心
WWW.LNCC.EDU.CN
2.4 常用内部函数
一. 函数的三要素
函数的调用格式是:
<函数名>(参数表)
函数调用通常是出现在表达式中。
1.函数名
用于区分不同的函数,通常是用说明
函数功能的英语单词或缩写。
2.参数(自变量)参数可以是一个、多个或没有,
没有参数时,括号可以省略。
3.函数值
函数运算的结果是函数值。因此,函数可以作为一
个数据项参与运算
现代教育技术中心
WWW.LNCC.EDU.CN
二、常用内部函数
VB提供了大量的内部函数,大体上可分为转换
函数、数学函数、字符串函数、时间/日期函数、格
式输出函数等五类。
1、转换函数
Asc(C)
Chr$(N)
´返回字符串中第一个字符的ASCII码
´将ASCII码转换成字符
例:Asc(“a”) 结果为 97 ;Chr$(65)结果为 "A"
Str$(N)
´把数值转换为一个字符串,当一数字转
成字符串时,总会在前头保留一空位来表示正负。
如果 number 为正,返回的字符串包含一前导空格
暗示有一正号。
例:Str$(123.45)结果为 “ 123.45”
Val(C)
´数字字符串转换为数值
Val(“123AB”)结果为 123;val(123e3)结果为 123000
现代教育技术中心
WWW.LNCC.EDU.CN
Fix(N)
´去掉自变量N的小数部分,保留其整数部分
例: Fix(3.5)结果为3 ; Fix(-3.5) 结果为-3
Int(N)
´求不大于自变量x的最大整数
例: Int(3.5)结果为3 ; Int(-3.5) 结果为-4
Cint(N)
´四舍五入取整,返回一整型量。
注意:当小数部分恰好为 0.5 时, Cint(N)函数会将它
转换为最接近的偶数值。例如,0.5 转换为 0、1.5
转换为 2。
如: cint(3.5)与 cint(4.5)的结果相同,均为4
cint(3.55)与 cint(4.55)的结果分别为4和5
现代教育技术中心
WWW.LNCC.EDU.CN
常用内部函数
ROUND( ) ´将一个数字按照指定的小数位数四舍五入
ROUND(34.568, 2) ´将结果四舍五入到小数点后两
位。若没有指定的小数位数则四舍五入取整。
注意小数部分恰好是0.5的情况与cint()相同
Hex (N)
´把十进制数N转换为十六进制
Oct(N)
´把十进制数N转换为八进制
例:Hex(10)结果为A ;Oct(10)结果为12
Lcase$(C) ´大写字母转换为小写字母
Ucase$(C) ´小写字母转换为大写字母
例:Lcase$(“AbC”)结果为abc ;
Ucase$("AbC")结果为ABC
例:大小写转换示例
现代教育技术中心
WWW.LNCC.EDU.CN
2.数值型函数
函数名
Abs(x)
Exp (x)
Log(x)
Sqr (x)
Rnd(x)
Sin(x)
Cos(x)
Tan(x)
Atn(x)
含义
实例
´求绝对值
Abs(-56.7)
´指数函数
Exp(0)
´求自然对数
Log(1)
´求平方根
Sqr(4)
´产生[0,1)之间的随机数
´求正弦值
Sin(0)
´求余弦值
Cos(0)
´求正切值
Tan(0)
´求反正切值 Atn(1)
结果
56.7
1
0
2
0
1
0
0.78539816
说明:
(l)在三角函数中,x以弧度表示;在反三角函数中,结果为弧度值;Sqr
的自变量不能是负数。
(2)Rnd函数返回小于1,但大于或等于0的单精度随机数。为了每次运行
时,产生不同序列的随机数,可用Randomize语句 ,要产生指定范围的随
机整数,请使用以下公式:
Int((范围上界 -范围下界 + 1) * Rnd + 范围下界) 。
现代教育技术中心
WWW.LNCC.EDU.CN
问题:
1、Rnd函数不可能为下列( B )值。
A、0
B、1
C、0.1234
D、0.0005
2、Int(198.555*100+0.5)/100的值( C )
A、198
B、199.6
C、198.56
D、200
3、要产生3-7之间的随机整数,公式应为:
Int((7-3+1)*rnd+3)
3.字符串函数
InStr([N1,]C1,C2)
´从第N1个字符起,在C1中查找C2第一
次出现的位置,没找到返回值为0
例:InStr(2,“efabcdefg”,“ef”) 结果为7
InStrRev(C1,C2,[N1]) ´与InStr函数作用相似,仅是从串的尾
部开始找
例:InStrRev("abefcdefg","ef“) 结果为7
Left (字符串,N) ´取字符串左部的n个字符
Right(字符串,N) ´取字符串右部的n个字符
现代教育技术中心
WWW.LNCC.EDU.CN
Mid(字符串,P,N) ´从位置P开始取字符串的N个
例:Left$("abcefg",4)结果为"abce"
Right$("abcefg",4)结果为"cefg"
Mid $("abcefg",2,4)结果为"bcef"
Len (字符串)
´取字符表达式的长度
LenB(字符串)
´ 字符串所占的字节数
例:Len("你好hello")结果为7
LenB("你好hello")结果为14
Trim (字符串)
´删除前导及尾部空格
LTrim (字符串) ´删除前导空格
RTrim (字符串) ´删除尾部空格
例:Trim$ (" abcd ")结果为"abcd"
Ltrim$ (" abcd ")结果为"abcd "
Rtrim $(" abcd ")结果为" abcd"
现代教育技术中心
WWW.LNCC.EDU.CN
Space (数值)
´产生指定个数的空格
例:Space$(3)结果为“ "
String(n,C) ´返回由C中N个首字母组成的字符串
例:String$(3,"abcefg")结果为"aaa"
StrReverse(字符串) ´将给定的字符串逆序输出
例:StrReverse("abcefg")结果为"gfecba"
问题:
1、已知A$= “12345678“,则表达式
Val(Left(A$,4)+Mid(A$,4,2))的值为( B)
A、123456 B、123445 C、8 D、6
2、表达式Ucase(Mid(“abcdefgh“,3,4))的值为( CDEF)
3、Val(Left(A$,4) )+Mid(A$,4,2)的值为 ( 1279 )
现代教育技术中心
WWW.LNCC.EDU.CN
4.日期(时间)函数
Date( )
´取当前日期
DateSerial(年,月,日)
´返回一个日期形式
DateValue(字符串)
´同上, ´但自变量为字符串
例:DateSerial(2,1,20) 结果为02-1-20
DateValue(“2,1,20”) 结果为02-1-20
Day (字符串)
´取指定日期的日(号)
例:Day("02,01,22")结果为22
Month (字符串)
´取指定日期的月份
MonthName(数值)
´返回月份名
例:Month(“02,01,22”) 结果为1
MonthName(1) 结果为 一月
Year (字符串)
´取指定日期的年份
例:year("02,01,22")结果为2002
Time( )
´取当前时间
Now
´返回系统日期和时间
现代教育技术中心
WWW.LNCC.EDU.CN
WeekDay(C|N)
´返回星期号(1-7), 星期日为1
WeekDayName(N) ´返回星期名称
例:WeekDay(“02,01,22”) 结果为3
WeekDayName(3)结果为星期二
Hour(时间表达式)
´返回小时
Minute (时间表达式) ´返回分钟
Second(时间表达式 ) ´返回秒
例: Hour(#13:24:32#)结果为13
Minute(#13:24:32#)结果为24
Second(#13:24:32#)结果为32
现代教育技术中心
WWW.LNCC.EDU.CN
5、Shell函数
可以调用 DOS下或Wndows下运行的可执行程序 。
格式:Shell(命令字符串[,窗口类型])
说明:
命令字符串:要执行的应用程序名,包括路径,它必须
是可执行文件(扩展名为.com、.exe、.bat)。
窗口类型:表示执行应用程序的窗口大小,0~4,6的整
型数值,一般取1。
例如,当程序在运行时执行Wndows的计算器,然后切
换到DOS界面,则调用Shell函数如下。
Shell ("c:\windows\system32\calc.exe ") '调用计算器界面
Shell ("c:\windows\system32\command.com") '调用Dos界面
现代教育技术中心
WWW.LNCC.EDU.CN
6、 与用户交互函数和过程
VB 与 用 户 之 间 的 直 接 交 互 是 通 过 InputBox 函 数 、
MsgBox函数和 MsgBox过程进行的。
1) InputBox函数
函数形式如下:
InputBox(提示[,标题][,默认][,x
坐标位置][,y坐标位置])
函数功能:打开一个对话框,等待用户输入内
容,当用户单击“确定”按钮或按回车键,函
数返回输入的值,(单击“取消”按钮,函数返
回空串),其值的类型为字符串。
现代教育技术中心
WWW.LNCC.EDU.CN
InputBox(提示[,标题][,默认][,x坐标
位置][,y坐标位置])
参数功能:
“提示”:不能省略该项。字符串表达式,在对话框中
作为信息显示,可为汉字;若要换行显示,需插入回车、
换行符,Chr(13)和 Chr(l0)控制符。
“标题”:字符串表达式,在对话框的标题区显示;若
省略,则把应用程序名放入标题栏中。
“默认”:字符串表达式,当在输入对话框中无输入时,
则该默认值作为输入的内容。
“x坐标位置”、“y坐标位置”:整型表达式,坐标确
定对话框左上角在屏幕上的位置,屏幕左上角为坐标原点,
单位为twip。
现代教育技术中心
WWW.LNCC.EDU.CN
注意:各项参数次序必须一一对应,除了“提示”
一项不能省略外,其余各项均可省略,处于中间
的默认部分要用逗号占位符跳过。
例如,有如下代码段
Dim strName As String
strName = InputBox("请输入姓名" + Chr(13) + _
Chr(10) + "然后单击确定", "输入姓名", , 200, 200)
现代教育技术中心
当单击“确定”
按钮后,
strName变量中
的值为“王明”
WWW.LNCC.EDU.CN
2) MsgBox函数和MsgBox过程
MsgBox函数用法如下:
变量[%]=MsgBox(提示[,按钮][,标题])
MsgBox语句用法如下:
MsgBox 提示[,按钮][,标题]
函数功能:打开一个信息框,等待用户选择一个
按钮。返回所选按钮的整数值,若不需返回值,
则可作为MsgBox过程使用。
参数功能:
“提示”和“标题”:意义与 InPutBox函数中
对应的参数相同。
“按钮”:整型表达式,决定信息框按钮的数目
现代教育技术中心
WWW.LNCC.EDU.CN
和
类型及出现在信息框上的图标类型
分组 内部常数
按
钮
类
型
值 描述
VbOkOnly
VbOkCancel
VbAboutRetryIgnore
VbYesNoCancel
VbYesNo
0
1
2
3
4
VbRetryCancel
5
只显示“确定”按钮
“确定”、“取消”按钮
“终止”“重试”、“忽略”
按钮
“是”、“否”、“取消”
按钮
显示“是”、“否”按钮
显示“重试”、“取消”按
钮
图 VbCritical
标 VbQuestion
类 VbExclamation
现代教育技术中心
16 关键信息图标,红色STOP
32 询问信息图标 ?
48 警告信息图标 !WWW.LNCC.EDU.CN
分组
内部常数
值
描述
0
256
512
第1个按钮为默认
第2个按钮为默认
第3个按钮为默认
VbApplicationModal
0
应用程序强制返回;应用程
序一直被挂起,直到用户对
消息框作出响应才继续工作
VbSystemModal
4096 系统强制返回;全部应用程
序都被挂起,直到用户对消
息框作出响应才继续工作
默认 VbDefaultButton1
按钮 VbDefaultButton2
VbDefaultButton3
模
式
注意:以上按钮的四组方式可以组合使用(可以
用内部常数形式或按钮值形式表示)。
现代教育技术中心
WWW.LNCC.EDU.CN
内部常数
VbOk
VbCancel
VbAbout
VbRetry
VbIgnore
VbYes
VbNo
现代教育技术中心
返回值
1
2
3
4
5
6
7
被单击的按钮
确定
取消
终止
重试
忽略
是
否
WWW.LNCC.EDU.CN
例如下面的代码:
msgshow = "继续么?"
opt=3+32+512
‘vbYesNoCancel +vbQuestion+vbDefaultButton3
titname = "问题"
MsgBox msgshow, opt, titname
结果
是??
现代教育技术中心
WWW.LNCC.EDU.CN
现代教育技术中心
本次课程结束,再见!
主讲人:姚灵
2010年2月