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 按鈕 |
|
| |