版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本章主要介紹了腳本語(yǔ)言VBScript的基本知識(shí)及其使用,通過(guò)本章的學(xué)習(xí)讀者應(yīng)掌握以下內(nèi)容:了解VBScript的語(yǔ)言類(lèi)型掌握VBScript語(yǔ)言語(yǔ)法及其使用掌握VBScript語(yǔ)言擴(kuò)充本講主要內(nèi)容
7.1VBScript簡(jiǎn)介
目前比較流行的腳本語(yǔ)言有兩種:VBScript和JavaScript。其中VBScript基于Microsoft公司的VisualBasic語(yǔ)言;而JavaScript基于SUN公司的Java語(yǔ)言。使用VBScript和JavaScript,既可以編寫(xiě)服務(wù)器端腳本,也可以編寫(xiě)客戶(hù)端腳本。1、VBScript語(yǔ)言的特點(diǎn)
2、VBScript和VisualBasic的主要區(qū)別7.2.1VBScript中的變量1.VBScrip中的變量類(lèi)型2.變量的命名規(guī)則3.變量的聲明操作符varname[,varname]...4.變量的賦值
5.變量的作用域與存活期7.2.2VBScript中的常量1.常量的定義2.常量的聲明可以使用Const語(yǔ)句在VBScript中創(chuàng)建用戶(hù)自定義常量,并給它們賦值。
Const語(yǔ)句格式如下:[Public|Private]Constconstname=expression說(shuō)明:(1)constname:常量的名稱(chēng),根據(jù)標(biāo)準(zhǔn)的變量命名約定。expression:文字或其他常量,或包括除is外的所有算術(shù)運(yùn)算符和邏輯運(yùn)算符的任意組合。(2)Public:可選項(xiàng)。該關(guān)鍵字用于在Script級(jí)中聲明可用于所有腳本中所有過(guò)程的常量。不允許在過(guò)程中使用。(3)Private:可選項(xiàng)。該關(guān)鍵字用于在腳本級(jí)中聲明只可用在聲明所在的腳本中的常量。不允許在過(guò)程中使用。7.2.3VBScript中的數(shù)組1.?dāng)?shù)組的聲明操作符varname[([subscripts])][,varname[([subscripts])]]...2.?dāng)?shù)組的引用和賦值數(shù)組的引用采用下標(biāo)的形式,從0開(kāi)始。數(shù)組的賦值是直接將數(shù)據(jù)賦給數(shù)組的元素,可以是數(shù)值類(lèi)型,也可以是字符類(lèi)型,但對(duì)同一個(gè)數(shù)組內(nèi)部數(shù)據(jù)應(yīng)該是類(lèi)型相同的。3.多維數(shù)組和動(dòng)態(tài)數(shù)組的聲明
1)多位數(shù)組的聲明
2)動(dòng)態(tài)數(shù)組的聲明7.3.1算術(shù)運(yùn)算符1.加運(yùn)算符+2.減運(yùn)算符-3.乘運(yùn)算符*4.除運(yùn)算符/和\5.取余運(yùn)算符mod6.求冪運(yùn)算^7.賦值運(yùn)算符=7.3.2關(guān)系運(yùn)算符
關(guān)系運(yùn)算符又叫比較運(yùn)算符,VBScript中含有普通語(yǔ)言所具有的一般關(guān)系運(yùn)算符:<(小于)、>(大于)、<=(小于等于)、>=(大于等于)、=(等于)、<>(不等于)。
在VBScript中還有一個(gè)特殊的運(yùn)算符is(對(duì)象引用比較),用于比較兩個(gè)對(duì)象引用變量。其語(yǔ)法形式為:
result=object1isobject27.3.3邏輯運(yùn)算符1.邏輯非Not2.邏輯與And3.邏輯或Or4.邏輯異或Xor5.邏輯等價(jià)Eqv7.3.4連接運(yùn)算符
連接運(yùn)算符用于將兩個(gè)字符串相連,它包括兩個(gè)運(yùn)算符:+和&。
加運(yùn)算符用于字符串類(lèi)型的操作數(shù),其作用是將兩個(gè)字符串相連。
&的作用就是將兩個(gè)表達(dá)式按字符串相連。語(yǔ)法格式如下:
result=expression1&expression27.3.5運(yùn)算優(yōu)先級(jí)表7-5運(yùn)算符的優(yōu)先順序優(yōu)先順序運(yùn)算符1^2-3*、/、\4Mod5+、-6&7=、<>、<>、<=、>=、Is8Or9Xor10Eqv11Imp7.4.1選擇結(jié)構(gòu)【例7.1】可以使用If...Then...Else語(yǔ)句定義兩個(gè)可執(zhí)行語(yǔ)句塊,條件為T(mén)rue時(shí)運(yùn)行某一語(yǔ)句塊,條件為False時(shí)運(yùn)行另一語(yǔ)句塊。SubAlertUser(value) Ifvalue=0Then AlertLabel.ForeColor=vbRed AlertLabel.Font.Bold=True AlertLabel.Font.Italic=True Else AlertLabel.Forecolor=vbBlack AlertLabel.Font.Bold=False AlertLabel.Font.Italic=False EndIfEndSub1.If...Then...Else條件語(yǔ)句
If...Then...Else語(yǔ)句基本結(jié)構(gòu)分兩種情況,一種是采用單行結(jié)構(gòu),語(yǔ)法結(jié)構(gòu)如下:
if(條件表達(dá)式)then語(yǔ)句組1else語(yǔ)句組27.4.1選擇結(jié)構(gòu)1.If...Then...Else條件語(yǔ)句
另一種是采用多行(或塊)結(jié)構(gòu)。其結(jié)構(gòu)如下:
if(條件表達(dá)式)then
語(yǔ)句塊1 else
語(yǔ)句塊2 endif【例7.2】對(duì)多個(gè)條件進(jìn)行判斷。
SubReportValue(value) Ifvalue=0ThenMsgBoxvalue ElseIfvalue=1ThenMsgBoxvalue ElseIfvalue=2Then MsgBoxvalue Else MsgBox"數(shù)值超出范圍!" EndIf7.4.1選擇結(jié)構(gòu)2.SelectCase語(yǔ)句其基本結(jié)構(gòu)如下:SelectCase表達(dá)式Case標(biāo)簽1
語(yǔ)句塊1Case標(biāo)簽2
語(yǔ)句塊2
…CaseElse標(biāo)簽n
語(yǔ)句塊nEndSelect【例7.3】下面例子舉例說(shuō)明如何使用SelectCase語(yǔ)句。DimColor,MyVarSubChangeBackground(Color)MyVar=lcase(Color)
SelectCaseMyVarCase"red"document.bgColor="red"Case"green"document.bgColor="green"Case"blue"document.bgColor="blue"CaseElseMsgBox"選擇另一種顏色"EndSelectEndSub7.4.2循環(huán)結(jié)構(gòu)1.For...Next語(yǔ)句
For...Next語(yǔ)句用以指定次數(shù)重復(fù)執(zhí)行一組語(yǔ)句。其基本結(jié)構(gòu)如下:
Forcounter=startToend[Stepstepsize]
循環(huán)體
Next【例7.4】在下面的示例中,計(jì)數(shù)器變量j每次加2。循環(huán)結(jié)束后,total的值為10、12、14、16、18和20的總和。SubTwosTotal()Dimj,totalForj=10To20Step2total=total+jNextMsgBox"總和為"&total&"。"EndSub【例7.5】在下面的示例中,計(jì)數(shù)器變量myNum每次減2。循環(huán)結(jié)束后,total的值為20、18、16、14、12、10、8、6、4和2的總和。SubNewTotal()DimmyNum,totalFormyNum=20To2Step-2total=total+myNumNextMsgBox"總和為"&total&"。"EndSub7.4.2循環(huán)結(jié)構(gòu)2.ForEach...Next語(yǔ)句其基本結(jié)構(gòu)為:
ForEachelementIngroup
語(yǔ)句組
Next[element]7.4.2循環(huán)結(jié)構(gòu)3.Do...Loop語(yǔ)句語(yǔ)法格式為:
Do[{While|Until}條件表達(dá)式]
循環(huán)體
Loop
或:
Do
循環(huán)體
Loop[{While|Until}條件表達(dá)式]7.4.2循環(huán)結(jié)構(gòu)4.While...Wend
其語(yǔ)法格式如下:
While條件表達(dá)式 循環(huán)體
Wend例:
DimCounterCounter=0 '初始化變量
WhileCounter<20 '測(cè)試計(jì)數(shù)器的值
Counter=Counter+1 '增加計(jì)數(shù)器
Wend '計(jì)數(shù)器大于19時(shí)終止循環(huán)7.4.3過(guò)程與函數(shù)1.SUB過(guò)程語(yǔ)法格式:
[Public[Default]|Private]Subname[(參數(shù)表)]
語(yǔ)句組
[ExitSub]
語(yǔ)句組
EndSub2.Function過(guò)程語(yǔ)法格式:
[Public[Default]|Private]Functionname[(參數(shù)表)]
語(yǔ)句組
[name=expression][ExitFunction]
語(yǔ)句組
[name=expression]EndFunction7.4.4錯(cuò)誤處理1.錯(cuò)誤的種類(lèi)程序中出現(xiàn)的錯(cuò)誤可以分為兩類(lèi):一類(lèi)是程序本身出現(xiàn)的錯(cuò)誤,如語(yǔ)法錯(cuò)誤、邏輯錯(cuò)誤等,這種錯(cuò)誤必須改正才能使程序正確運(yùn)行。另一類(lèi)錯(cuò)誤是執(zhí)行中的錯(cuò)誤,這種錯(cuò)誤在程序執(zhí)行中發(fā)生,而且這類(lèi)錯(cuò)誤有些是無(wú)法估計(jì)出來(lái)的。2.捕獲錯(cuò)誤
VBScript可利用OnErrorResumeNext和OnErrorGoto0語(yǔ)句來(lái)捕獲錯(cuò)誤。7.4.4錯(cuò)誤處理3.使用Err對(duì)象
(1)Err對(duì)象的屬性
1)Number屬性。語(yǔ)法格式:object.Number[=Errornumber]2)Description屬性。
語(yǔ)法格式:object.Description[=stringexpression]3)HelpContext屬性。
語(yǔ)法格式:object.HelpContext[=contextID]7.4.4錯(cuò)誤處理4)HelpFile屬性。語(yǔ)法格式:object.HelpFile[=contextID]
【例7.11】Err對(duì)象的HelpFile屬性使用示例。OnErrorResumeNextDimMsgErr.ClearErr.Raise6'產(chǎn)生"溢出"錯(cuò)誤。Err.Helpfile="yourHelp.hlp"Err.HelpContext=yourContextIDIfErr.Number<>0ThenMsg="按下F1鍵或Help查看"&Err.Helpfile&"與下列HelpContext"&_"有關(guān)的主題:"&Err.HelpContextMsgBoxMsg,,"錯(cuò)誤:"&Err.Description,Err.Helpfile,Err.HelpContextEndIf5)Source屬性。語(yǔ)法格式:object.Source[=stringexpression]7.4.4錯(cuò)誤處理(2)Err對(duì)象的方法
1)Raise方法。Raise方法生成運(yùn)行時(shí)錯(cuò)誤。語(yǔ)法格式:
object.Raise(number,source,description,helpfile,helpcontext)2)Clear方法。Clear方法清除Err對(duì)象的所有屬性設(shè)置。語(yǔ)法格式:object.Clear7.5.1字符串函數(shù)1.Asc函數(shù)語(yǔ)法格式:Asc(string)2.Chr函數(shù)語(yǔ)法格式:Chr(charcode)3.InStr函數(shù)語(yǔ)法格式:InStr([start,]string1,string2[,compare])
7.5.1字符串函數(shù)4.InStrRev函數(shù)語(yǔ)法格式:InStrRev(string1,string2[,start[,compare]])5.LCase函數(shù)與UCase函數(shù)語(yǔ)法格式: Lcase(string) Ucase(string)
6.Left與Right函數(shù)語(yǔ)法格式: Left(string,length) Right(string,length)7.5.1字符串函數(shù)7.Mid函數(shù)語(yǔ)法格式:Mid(string,start[,length])8.Len函數(shù)語(yǔ)法格式:Len(string|varname)9.Replace函數(shù)語(yǔ)法格式:Replace(expression,find,replacewith[,compare[,count[,start]]])
7.5.2轉(zhuǎn)換函數(shù)1.CStr函數(shù)語(yǔ)法格式:CStr(expression)2.CBool函數(shù)語(yǔ)法格式:Cbool(expression)3.Cdate函數(shù)語(yǔ)法格式:Cdate(date)【例7.16】下面的示例使用CDate函數(shù)將字符串轉(zhuǎn)換成日期類(lèi)型。MyDate="October01,2001" '定義日期MyShortDate=CDate(MyDate) '轉(zhuǎn)換為日期數(shù)據(jù)類(lèi)型01-10-01MyTime="4:35:47PM" '定義時(shí)間MyShortTime=CDate(MyTime) '轉(zhuǎn)換為日期數(shù)據(jù)類(lèi)型16:35:477.5.3數(shù)學(xué)函數(shù)1.Abs函數(shù)語(yǔ)法格式:Abs(number)2.Rnd函數(shù)語(yǔ)法格式:Rnd[(number)]3.Round函數(shù)語(yǔ)法格式:Round(expression[,numdecimalplaces])4.Sgn函數(shù)語(yǔ)法格式:Sgn(number)7.5.4日期和時(shí)間函數(shù)1.Date函數(shù)和Time函數(shù)語(yǔ)法格式: Date Time2.Day函數(shù)、Month函數(shù)和Year函數(shù)語(yǔ)法格式: Day(date) Month(date) Year(date)3.WeekDay函數(shù)語(yǔ)法格式: Weekday(date,[firstdayofweek])4.Hour、Minute和Second函數(shù)語(yǔ)法格式: Hour(time) Minute(time) Second(time)7.5.5布爾函數(shù)1.IsArray函數(shù)語(yǔ)法格式:IsArray(varname)2.IsDate函數(shù)語(yǔ)法格式:IsDate(expression)3.Isempty函數(shù)語(yǔ)法格式:IsEmpty(expression)4.IsNull函數(shù)語(yǔ)法格式
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 污水課程設(shè)計(jì)紫外消毒
- 數(shù)字電路ic課程設(shè)計(jì)
- 教育培訓(xùn)行業(yè)教學(xué)方法培訓(xùn)體驗(yàn)
- 電子課程設(shè)計(jì)網(wǎng)課答案
- 稅務(wù)工作總結(jié)制度建設(shè)與規(guī)范化監(jiān)督
- 急救護(hù)理工作總結(jié)
- 貸款經(jīng)理工作總結(jié)
- 電信通訊科技行業(yè)技術(shù)分析
- 旅游行業(yè)促銷(xiāo)活動(dòng)總結(jié)
- 酒店用品銷(xiāo)售工作總結(jié)
- 道路運(yùn)輸企業(yè)安全生產(chǎn)管理人員安全考核試題題庫(kù)與答案
- 年終抖音運(yùn)營(yíng)述職報(bào)告
- 車(chē)間修繕合同模板
- 腦梗死患者的護(hù)理常規(guī)
- 2024年7月國(guó)家開(kāi)放大學(xué)法律事務(wù)專(zhuān)科《法律咨詢(xún)與調(diào)解》期末紙質(zhì)考試試題及答案
- 護(hù)士條例解讀
- 醫(yī)務(wù)人員崗前培訓(xùn)課件
- SQE年終總結(jié)報(bào)告
- 檢修工(題庫(kù))附答案
- 2025屆高考語(yǔ)文一輪復(fù)習(xí):小說(shuō)情節(jié)結(jié)構(gòu)之伏筆 練習(xí)題(含答案)
- 《化學(xué)實(shí)驗(yàn)室安全》課程教學(xué)大綱
評(píng)論
0/150
提交評(píng)論