2. 字符函数
(1)字符串编码
在Windows采用的DBCS(Double Byte Character Set)编码方案中,一个汉字在计算机内存中占2个字节,一个西文字符(ASCII码)占1个字节,但在VB中采用的是Unicode(ISO字符标准)来存储字符的,所有字符都占2个字节。为方便使用,可以用StrConv函数来对Unicode 与DBCS进行转换,可以用函数Len()函数求字符串的字符数,用 LenB()函数求字符串的字节数。
(2)常用的字符串函数
函数名 |
功能 |
示例 |
结果 |
Len(x) |
求x字符串的字符长度(个数) |
Len("ab技术") |
4 |
LenB(x) |
求x字符串的字节个数 |
LenB("ab技术") |
8 |
Left(x,n) |
从x字符串左边取n个字符 |
Left("ABsYt",2) |
"AB" |
Right(x,n) |
从x字符串右边取n个字符 |
Right("ABsYt",2) |
"Yt" |
Mid(x,n1,n2) |
从x字符串左边第n1个位置开始向右取n2个字符 |
Mid("ABsYt",2,3) |
"BsY" |
Ucase(x) |
将x字符串中所有小写字母改为大写 |
Ucase("ABsYug") |
ABSYUG |
Lcase(x) |
将x字符串中所有大写字母改为小写 |
Ucase("ABsYug") |
absyug |
Ltrim(x) |
去掉x左边的空格 |
Lrim(" ABC ") |
"ABC " |
Rtrim(x) |
去掉x右边的空格 |
Trim(" ABC ") |
" ABC" |
Trim(x) |
去掉x两边的空格 |
Trim(" ABC ") |
"ABC" |
Instr(x,"字符", M) |
在x中查找给定的字符,返回该字符在x中的位置,M=1不区分大小写,省略则区分 |
Instr("WBAC","B") |
2 |
String(n,"字符") |
得到由n个首字符组成的一个字符串 |
String(3,"abcd") |
"aaa" |
Space (n) |
得到n个空格 |
Space (3) |
"□□□" |
Replace(C,C1,C2,N1,N2) |
在C字符串中从N1开始将C2替代N2次C1,如果没有N1表示从1开始 |
Replace("ABCASAA","A","12",2,2) |
"ABC12S12A" |
StrReverse (C) |
将字符串反序 |
StrReverse ("abcd") |
"dcba" |
3. 日期与时间函数
常用的日期与时间函数
函数名 |
含义 |
示例 |
结果 |
Date () |
返回系统日期 |
Date () |
02-3-19 |
Time() |
返回系统时间 |
Time() |
3:30 :00 PM |
Now |
返回系统时间和日期 |
Now |
02-3-19 3:30 :00 |
Month(C) |
返回月份代号(1-12) |
Month("02,03,19") |
3 |
Year(C) |
返回年代号(1752-2078) |
Year("02-03-19") |
2002 |
Day(C) |
返回日期代号(1-31) |
Day("02,03,19") |
19 |
MonthName(N) |
返回月份名 |
MonthName(1) |
一月 |
WeekDay() |
返回星期代号(1-7),星期日为1 |
WeekDay("02,03,17") |
1 |
WeekDayName(N) |
根据N返回星期名称, 1为星期日 |
WeekDayName(4) |
星期三 |
|
|
|
|
|
增减日期函数: DateAdd(要增减日期形式,增减量,要增减的日期变量)
例:计算期末考试日期:DateAdd("ww",15,#2002/3/19#)
求日期之差函数: DateDiff(要间隔日期形式,日期一,日期二)
例:计算距毕业天数: DateDiff("d", Now, #2005/6/30#)
日期形式
日期形式 |
yyyy |
q |
m |
y |
d |
w |
ww |
h |
n |
s |
意义 |
年 |
季 |
月 |
一年的天数 |
日 |
一周的天数 |
星期 |
时 |
分 |
秒 |
4. 转换函数
函数名 |
功能 |
示例 |
结果 |
Str (x) |
将数值数据x转换成字符串 |
Str (45.2) |
"45.2" |
Val(x) |
将字符串x中的数字转换成数值 |
Val("23ab") |
23 |
Chr(x) |
返回以x为ASCII码的字符 |
Chr(65) |
"A" |
Asc(x) |
给出字符x的ASCII码值,十进制数 |
Asc("a") |
97 |
Cint(x) |
将数值型数据x的小数部分四舍五入取整 |
Cint(3.6) |
4 |
Int(x) |
取小于等于x的最大整数 |
Int(-3.5)
Int(3.5) |
-4
3 |
Fix(x) |
将数值型数据x的小数部分舍去 |
Fix(-3.5) |
- 3 |
CBool(x) |
将任何有效的数字字符串或数值转换成逻辑型 |
CBool(2) CBool("0") |
True
False |
CByte(x) |
将0-255之间的数值转换成字节型 |
CByte(6) |
6 |
CDate(x) |
将有效的日期字符串转换成日期 |
CDate(#1990,2,23#) |
1990-2-23 |
CCur(x) |
将数值数据x转换成货币型 |
CCur(25.6) |
25.6 |
Round(x,N) |
在保留N位小数的情况下四舍五入取整 |
Round(2.86,1) |
2.9 |
CStr(x) |
将x转换成字符串型 |
CStr(12) |
"12" |
CVar(x) |
将数值型数据x转换成变体型 |
CVar("23")+"A" |
"23A" |
CSng(x) |
将数值数据x转换成单精度型 |
CSng(23.5125468) |
23.51255 |
CDbl(x) |
将数值数据x转换成双精度型 |
CDbl(23.5125468) |
23.5125468 |
5. 格式输出Format函数
Format函数用于制定字符串或数字的输出格式。
语法:x = Format (expression, fmt ) expression是所输出的内容。fmt是指输出的格式,这是一个字符串型的变量,这一项若省略的话,那么Format函数将和Str函数的功能差不多。如:
语句 |
输出 |
Format (2, “0.00”) |
2.00 |
Format (.7, “0%”) |
70% |
Format (1140, “$#,##0”) |
$1,140 |
fmt字符的意义
字符 |
意义 |
字符 |
意义 |
0 |
显示一数字,若此位置没有数字则补0 |
. |
小数点 |
# |
显示一数字,若此位置没有数字则不显示 |
, |
千位的分隔符 |
% |
数字乘以100并在右边加上”%”号 |
- + $ ( ) |
这些字出现在fmt里将原样打出 |
Format函数对时间进行输出时的意义
fmt |
输出 |
fmt |
输出 |
m/d/yy |
8/16/96 |
h:mm:ss a/p |
10:41:29 p |
d-mmmm-yy |
16-August-96 |
h:mm |
22:41 |
d-mmmm |
16-August |
h:mm:ss |
22:41:29 |
mmmm-yy |
august-96 |
m/d/yy h:mm |
8/16/96 22:41 |
hh:mm AM/PM |
10:41 PM |
|
|
6.InputBox函数与MsgBox函数
(1)InputBox函数
语法:x = InputBox (prompt, title, default, xpos, ypos, helpfile, context)
其中,prompt是提示的字符串,这个参数是必须的。title是对话框的标题,是可选的。default是文本框里的缺省值,也是可选的。xpos,ypos决定输入框的位置。helpfile,context用于显示与该框相关的帮助屏幕。返回值 x 将是用户在文本框里输入的数据,x是一个字符串类型的值。如果用户按了Cancel钮,则 x 将为空字符串。
(2)MsgBox函数
语法:Action = MsgBox (msg, type, title)
数值 |
符号常量 |
意义 |
0 |
vbOKOnly |
只显示 Ok 按钮 |
1 |
vbOKCancel |
显示 Ok Cancel 按钮 |
2 |
vbAbortRetryIgnore |
显示 Abor Retry Ignore 按钮 |
3 |
vbYesNoCancel |
显示 Yes No Cancel 按钮 |
4 |
vbYesNo |
显示 Yes No 按钮 |
5 |
vbRetryCancel |
显示 Retry Cancel 按钮 |
16 |
vbCritical |
Stop Sign对极其重要的问题提醒用户 |
32 |
vbQuestion |
Question Mark增亮没有危险的问题 |
48 |
vbExclamation |
Exclamation Mark强调警告用户必须知道的事情 |
64 |
vbInformation |
Information Mark可以使乏味的信息变得有趣 |
0 |
vbDefaultButton1 |
第一个按钮缺省 |
256 |
vbDefaultButton2 |
第二个按钮缺省 |
512 |
vbDefaultButton3 |
第三个按钮缺省 |
Action的值
返回值 |
含义 |
返回值 |
含义 |
1 |
选择 Ok 按钮 |
5 |
选择 Ignore 按钮 |
2 |
选择 Cancel 按钮 |
6 |
选择 Yes 按钮 |
3 |
选择 Abort 按钮 |
7 |
选择 No 按钮 |
4 |
选择 Retry 按钮 |
|
| |