久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

VBScript

來(lái)自站長(zhǎng)百科
(重定向自Vbscript
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

VBScript是一種腳本語(yǔ)言,可以用于微軟 IE 瀏覽器客戶端腳本和微軟 IIS (Internet Information Service) 的服務(wù)器端腳本。

VBScript 是微軟編程語(yǔ)言 Visual Basic 家族中的一個(gè)成員。如果你熟悉微軟的 Visual Basic 或者 Visual Basic for Applications,你會(huì)很快就熟悉 VBScript。

VBScript與Basic語(yǔ)言有密切關(guān)系。如果你熟悉BASIC,你將會(huì)發(fā)現(xiàn)VBScript很容易學(xué)習(xí)和使用。VBScript是Microsoft Visual Basic的簡(jiǎn)化版本。

VBScript是一種腳本語(yǔ)言。這意味著這種語(yǔ)言比BASIC語(yǔ)言的成熟版本容易使用又難于使用。編制簡(jiǎn)單的程序時(shí),腳本語(yǔ)言是容易使用的。腳本語(yǔ)言的句法比較簡(jiǎn)單。但是,簡(jiǎn)單的句法也使開發(fā)大的應(yīng)用程序變得很困難。

你可以在HTML文件中直接嵌入VBScript腳本。這使你能夠擴(kuò)展HTML,使它不僅僅是一種頁(yè)面格式語(yǔ)言。帶有VBScript腳本的網(wǎng)頁(yè)在每次下載到瀏覽器時(shí)都可以是不同的,而且可以對(duì)用戶的操作作出反應(yīng)。

VBScript 是Active Sever Pages的缺省語(yǔ)言。你也可以在ASP網(wǎng)頁(yè)中使用其它腳本語(yǔ)言,如Jscript(將在第九章中討論),Perl,或者REXX(由IBM UK實(shí)驗(yàn)室的Michael Cowlishaw所創(chuàng)的一種語(yǔ)言)。但是,本書中所有的ASP例子程序都使用VBScript。

VBScript應(yīng)用領(lǐng)域[ ]

  • Windows操作系統(tǒng)

  VBScript可以被用來(lái)自動(dòng)地完成重復(fù)性的[[Windows]]操作系統(tǒng)任務(wù)。在Windows操作系統(tǒng)中,VBScript可以在Windows Script Host的范圍內(nèi)運(yùn)行。Windows操作系統(tǒng)可以自動(dòng)辨認(rèn)和執(zhí)行*.VBS和*.WSF兩種文件格式,此外 Internet Explorer可以執(zhí)行HTA和CHM文件格式。VBS和WSF文件完全是文字式的,它們只能通過(guò)少數(shù)幾種對(duì)話窗口與用戶通訊。HTA和CHM文件使用HTML格式,它們的程序碼可以象HTML一樣被編輯和檢查。在WSF、HTA和CHM文件中VBScript和JavaScript的程序碼可以任意混合。HTA文件實(shí)際上是加有VBS、JavaScript成分的HTML文件。CHM文件是一種在線幫助,用戶可以使用專門的編輯程序?qū)TML程序編輯為CHM。

  • 網(wǎng)頁(yè)瀏覽器

  網(wǎng)頁(yè)中的VBS可以用來(lái)指揮客戶方的網(wǎng)頁(yè)瀏覽器(瀏覽器執(zhí)行VBS程序)。VBS與JavaScript在這一方面是競(jìng)爭(zhēng)者,它們可以用來(lái)實(shí)現(xiàn)動(dòng)態(tài)HTML,甚至可以將整個(gè)程序結(jié)合到網(wǎng)頁(yè)中來(lái)。至今為止VBS在客戶方面未能占優(yōu)勢(shì),因?yàn)樗猾@得Microsoft Internet Explorer的支持(Mozilla Suite可以通過(guò)裝置一個(gè)外掛來(lái)支持VBS)。而JavaScript則受到所有網(wǎng)頁(yè)瀏覽器的支持。在Internet Explorer中VBS和JavaScript使用同樣的權(quán)限,它們只能有限地使用Windows操作系統(tǒng)中的對(duì)象。

  • 網(wǎng)頁(yè)服務(wù)器

  在網(wǎng)頁(yè)服務(wù)器方面VBS是微軟的Active Server Pages的一部分,它與JavaServer Pages和PHP是競(jìng)爭(zhēng)對(duì)手。在這里VBS的程序碼直接嵌入到HTML頁(yè)內(nèi),這樣的網(wǎng)頁(yè)以ASP結(jié)尾。網(wǎng)頁(yè)服務(wù)器Internet信息服務(wù)執(zhí)行ASP頁(yè)內(nèi)的程序部分并將其結(jié)果轉(zhuǎn)化為HTML傳遞給網(wǎng)頁(yè)瀏覽器供用戶使用。這樣服務(wù)器可以進(jìn)行數(shù)據(jù)庫(kù)聞?dòng)嵅⑵浣Y(jié)果放到HTML網(wǎng)頁(yè)中。


VBScript優(yōu)缺點(diǎn)[ ]

VBscript優(yōu)點(diǎn):

  • 由于VBScript由網(wǎng)頁(yè)瀏覽器解釋執(zhí)行,不需要增大服務(wù)器的負(fù)擔(dān)。
  • 易學(xué)。
  • 在所有2000 / 98SE以后的Windows版本都可直接使用。
  • 可以使用其它程序和可使用的物件(尤其Microsoft Office)。

VBscript缺點(diǎn):

  • 現(xiàn)在VBS無(wú)法作為電子郵件的附件了。Microsoft Outlook拒絕接受VBS為附件,收信人無(wú)法直接使用VBS附件。
  • VBS的各種編輯程器不受歡迎。
  • 操作系統(tǒng)沒(méi)有任何特別的保護(hù)設(shè)施。VBS程序與其它JS、EXE、BAT或CMD程序一樣對(duì)待。操作系統(tǒng)沒(méi)有監(jiān)察惡意功能的能力。


VBScript和VB的對(duì)比[ ]

不能為變量定義類型

在VB中,為變量定義類型使用Dim變量名As類型 但是在VBScript中這樣寫是錯(cuò)誤的。只能使用Dim變量名,解釋器會(huì)自動(dòng)根據(jù)賦值的類型定義變量類型。

不能使用條件編譯

在VB中,可以使用#If…Then、#ElseIf…Then、#Else、#End If、#Const… = …等語(yǔ)句定義編譯時(shí)使用的語(yǔ)句 而由于VBScript不需要編譯即可直接執(zhí)行,所以并不需要條件編譯語(yǔ)句。


VBScript安全性[ ]

微軟決定Outlook和Outlook Express中的HTML郵件可以使用VBScript后出現(xiàn)了許多利用Windows Script Host和ActiveX的功能的電腦病毒。這些病毒之所以能夠傳播開來(lái)也是因?yàn)橐婚_始這些系統(tǒng)功能完全未受保護(hù)。雖然VBScript和JavaScript使用同樣的使用操作系統(tǒng)的功能的安全措施,今天呼喚這些功能被看作不符合標(biāo)準(zhǔn)。

一般很難保護(hù)VBScript的程序碼不被用戶看到。


VBScript 數(shù)據(jù)類型[ ]

VBscript 只有一種數(shù)據(jù)類型,稱為 Variant。Variant 是一種特殊的數(shù)據(jù)類型,根據(jù)使用的方式,它可以包含不同類別的信息。因?yàn)?Variant 是 VBscript 中唯一的數(shù)據(jù)類型,所以它也是 VBscript 中所有函數(shù)的返回值的數(shù)據(jù)類型。


Variant 子類型[ ]

除簡(jiǎn)單數(shù)字或字符串以外,Variant 可以進(jìn)一步區(qū)分?jǐn)?shù)值信息的特定含義。例如使用數(shù)值信息表示日期或時(shí)間。此類數(shù)據(jù)在與其他日期或時(shí)間數(shù)據(jù)一起使用時(shí),結(jié)果也總是表示為日期或時(shí)間。從 Boolean 值到浮點(diǎn)數(shù),數(shù)值信息是多種多樣的。Variant 包含的數(shù)值信息類型稱為子類型。大多數(shù)情況下,可將所需的數(shù)據(jù)放進(jìn) Variant 中,而 Variant 也會(huì)按照最適用于其包含的數(shù)據(jù)的方式進(jìn)行操作。


子類型描述[ ]

  • Empty 未初始化的 Variant。對(duì)于數(shù)值變量,值為 0;對(duì)于字符串變量,值為零長(zhǎng)度字符串 ("")。
  • Null 不包含任何有效數(shù)據(jù)的 Variant。
  • Boolean 包含 True 或 False。
  • Byte 包含 0 到 255 之間的整數(shù)。
  • Integer 包含 -32,768 到 32,767 之間的整數(shù)。
  • Currency -922,337,203,685,477.5808 到 922,337,203,685,477.5807。
  • Long 包含 -2,147,483,648 到 2,147,483,647 之間的整數(shù)。
  • Single 包含單精度浮點(diǎn)數(shù),負(fù)數(shù)范圍從 -3.402823E38 到 -1.401298E-45,正數(shù)范圍從 1.401298E-45 到 3.402823E38。
  • Double 包含雙精度浮點(diǎn)數(shù),負(fù)數(shù)范圍從 -1.79769313486232E308 到 -4.94065645841247E-324,正數(shù)范圍從 4.94065645841247E-324 到 1.79769313486232E308。
  • Date (Time) 包含表示日期的數(shù)字,日期范圍從公元 100 年 1 月 1 日到公元 9999 年 12 月 31 日。
  • String 包含變長(zhǎng)字符串,最大長(zhǎng)度可為 20 億個(gè)字符。
  • Object 包含對(duì)象。
  • Error 包含錯(cuò)誤號(hào)。


編譯器錯(cuò)誤代碼[ ]

  • Microsoft VBScript 編譯器錯(cuò)誤 錯(cuò)誤 缺少語(yǔ)句
  • ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件
  • MicrosoftOLEDBPRoviderforODBCDrivers(0x80040E21)-->sql語(yǔ)句出錯(cuò)(數(shù)據(jù)類型不匹配或表名(字段名)錯(cuò)誤或表處于編輯狀態(tài),或表不存在于conn打開的數(shù)據(jù)庫(kù)中)
  • MicrosoftOLEDBPRoviderforODBCDrivers(0x80040E14)-->sql語(yǔ)句出錯(cuò)(字段名錯(cuò)誤,或數(shù)據(jù)類型不匹配)
  • MicrosoftOLEDBPRoviderforODBCDrivers(0x80040E07)-->sql語(yǔ)句出錯(cuò)(要插入或更新的字段的類型與變量數(shù)據(jù)類型不匹配)
  • MicrosoftOLEDBPRoviderforODBCDrivers(0x80040E57)-->sql語(yǔ)句出錯(cuò)(要插入或更新的數(shù)據(jù)溢出)
  • MicrosoftOLEDBPRoviderforODBCDrivers(0x80040E10)-->sql語(yǔ)句出錯(cuò)(update字段名或要更新的數(shù)據(jù)類型錯(cuò)誤)
  • MicrosoftOLEDBPRoviderforODBCDrivers(0x80004005)-->sql語(yǔ)句出錯(cuò)(要插入或更新的字段的數(shù)值不能為空值)
  • MicrosoftOLEDBPRoviderforODBCDrivers(0x80004005) -->打開數(shù)據(jù)庫(kù)出錯(cuò),沒(méi)有在指定目錄發(fā)現(xiàn)數(shù)據(jù)庫(kù)
  • MicrosoftOLEDBPRoviderforODBCDrivers(0x80040E37)-->沒(méi)有發(fā)現(xiàn)表
  • MicrosoftVBscript運(yùn)行時(shí)錯(cuò)誤(0x800A000D)-->錯(cuò)誤引用rs變量(rs對(duì)像已關(guān)閉或未定義)
  • MicrosoftVBscript運(yùn)行時(shí)錯(cuò)誤(0x800A01C2)-->vbscript腳本錯(cuò)誤(vbscript語(yǔ)句出錯(cuò))
  • MicrosoftVBscript運(yùn)行時(shí)錯(cuò)誤(0x800A0006)-->vbscript腳本錯(cuò)誤(溢出錯(cuò)誤)
  • MicrosoftVBscript編譯器錯(cuò)誤(0x800A040E)-->缺少loop
  • MicrosoftVBscript編譯器錯(cuò)誤(0x800A03EA)-->缺少if或endif
  • MicrosoftVBscript編譯器錯(cuò)誤(0x800A03EE)--> 語(yǔ)句未結(jié)束(缺少")")
  • MicrosoftVBscript編譯器錯(cuò)誤(0x800A03F6)-->if語(yǔ)句出錯(cuò)(缺少endif)
  • MicrosoftVBscript運(yùn)行時(shí)錯(cuò)誤(0x800A005B)-->缺少set
  • MicrosoftVBscript運(yùn)行時(shí)錯(cuò)誤(0x800A0005)-->變量未定義
  • MicrosoftVBscript編譯器錯(cuò)誤(0x800A03F9)-->if語(yǔ)句缺少then
  • MicrosoftVBscript編譯器錯(cuò)誤(0x800A0411)-->dim語(yǔ)句定義錯(cuò)誤
  • MicrosoftVBscript編譯器錯(cuò)誤(0x800A0408)-->sql語(yǔ)句錯(cuò)誤(?????????????????)
  • Microsoft VBScript 運(yùn)行時(shí)錯(cuò)誤 (0x800A01B6)錯(cuò)誤原因:set rs=server.create......你少了 set
  • ADODB.Recordset(0x800A0BB9)-->sql語(yǔ)句出錯(cuò)(sql語(yǔ)句或conn語(yǔ)句未定義或?qū)σ粋€(gè)rs屬性進(jìn)行賦值時(shí)發(fā)生錯(cuò)誤)
  • ADODB.Recordset(0x800A0CC1)-->rs對(duì)像出錯(cuò)(rs對(duì)像本身不存在或錯(cuò)誤地引用了一個(gè)不存在的字段名)
  • ADODB.Recordset(0x800A0BCD)-->rs對(duì)像出錯(cuò)(記錄集中沒(méi)有記錄卻對(duì)記錄集進(jìn)行操作)
  • ADODB.Recordset(0x800A0E78)-->rs對(duì)像出錯(cuò)(記錄集不存在,缺少rs.open語(yǔ)句)
  • ADODB.Recordset(0x800A0CC1) -->rs對(duì)像出錯(cuò)(引用了一個(gè)不存在的字段名)
  • ADODB.Recordset(0x800A0E7D)-->conn定義錯(cuò)誤
  • ADODB.Recordset(0x800A0CB3)-->數(shù)據(jù)庫(kù)以只讀方式打開,無(wú)法更新數(shù)據(jù)


語(yǔ)法錯(cuò)誤[ ]

  如果 VBscript 語(yǔ)句結(jié)構(gòu)違反了一個(gè)或多個(gè) VBScript 腳本語(yǔ)言語(yǔ)法規(guī)則,就會(huì)產(chǎn)生 VBScript 語(yǔ)法錯(cuò)誤。

  錯(cuò)誤通常在執(zhí)行程序前,編譯程序時(shí)產(chǎn)生。 以下是53個(gè)語(yǔ)法錯(cuò)誤:

  錯(cuò)誤編號(hào) 描述

  十進(jìn)制 十六進(jìn)制 說(shuō)明

  1001 800A03E9 內(nèi)存不足

  1002 800A03EA 語(yǔ)法錯(cuò)誤

  1003 800A03EB 缺少“:”

  1005 800A03ED 需要 '('

  1006 800A03EE 需要 ')'

  1007 800A03EF 缺少“]”

  1010 800A03F2 需要標(biāo)識(shí)符

  1011 800A03F3 需要 '='

  1012 800A03F4 需要 'If'

  1013 800A03F5 需要 'To'

  1014 800A03F6 需要 'End'

  1015 800A03F7 需要 'Function'

  1016 800A03F8 需要 'Sub'

  1017 800A03F9 需要 'Then'

  1018 800A03FA 需要 'Wend'

  1019 800A03FB 需要 'Loop'

  1020 800A03FC 需要 'Next'

  1021 800A03FD 需要 'Case'

  1022 800A03FE 需要 'Select'

  1023 800A03FF 需要表達(dá)式

  1024 800A0400 需要語(yǔ)句

  1025 800A0401 需要語(yǔ)句的結(jié)束

  1026 800A0402 需要整數(shù)常數(shù)

  1027 800A0403 需要 'While' 或 'Until'

  1028 800A0404 需要 'While,'、 'Until,' 或語(yǔ)句未結(jié)束

  1029 800A0405 需要 'With'

  1030 800A0406 標(biāo)識(shí)符太長(zhǎng)

  1031 800A0407 無(wú)效的數(shù)

  1032 800A0408 無(wú)效的字符

  1033 800A0409 未結(jié)束的串常量

  1034 800A040A 未結(jié)束的注釋

  1037 800A040D 無(wú)效使用關(guān)鍵字 'Me'

  1038 800A040E 'loop' 沒(méi)有 'do'

  1039 800A040F 無(wú)效 'exit' 語(yǔ)句

  1040 800A0410 無(wú)效 'for' 循環(huán)控制變量

  1041 800A0411 名稱重定義

  1042 800A0412 必須為行的第一個(gè)語(yǔ)句

  1043 800A0413 不能賦給非Byval參數(shù)

  1044 800A0414 調(diào)用 Sub 時(shí)不能使用圓括號(hào)

  1045 800A0415 需要文字常數(shù)

  1046 800A0416 需要 'In'

  1047 800A0417 需要 'Class'

  1048 800A0418 必須在一個(gè)類的內(nèi)部定義

  1049 800A0419 在屬性聲明中需要 Let , Set 或 Get

  1050 800A041A 需要 'PRoperty'

  1051 800A041B 參數(shù)數(shù)目必須與屬性說(shuō)明一致

  1052 800A041C 在類中不能有多個(gè)缺省的屬性/方法

  1053 800A041D 類初始化或終止不能帶參數(shù)

  1054 800A041E PRoperty Let 或 Set 至少應(yīng)該有一個(gè)參數(shù)

  1055 800A041F 不需要的 'Next'

  1056 800A0420 只能在 ‘PRoperty’ 或 ’Function’ 或 ’Sub’ 上指定 ’Default’

  1057 800A0421 說(shuō)明 'Default' 必須同時(shí)說(shuō)明 'Public' "

  1058 800A0422 只能在 PRoperty Get 中指定 'Default'


運(yùn)行時(shí)錯(cuò)誤[ ]

  如果 VBScript 腳本執(zhí)行系統(tǒng)無(wú)法實(shí)施的操作,則會(huì)產(chǎn)生 VBScript 運(yùn)行時(shí)錯(cuò)誤。只有在運(yùn)行腳本、為變量表達(dá)式賦值或分配內(nèi)存時(shí),才會(huì)產(chǎn)生 VBScript 運(yùn)行時(shí)錯(cuò)誤。 以下是65個(gè)運(yùn)行時(shí)錯(cuò)誤:

  錯(cuò)誤編號(hào) 描述

  十進(jìn)制 十六進(jìn)制 說(shuō)明

  5 800A0005 無(wú)效過(guò)程調(diào)用或參數(shù)

  6 800A0006 溢出

  7 800A0007 內(nèi)存不足

  9 800A0009 下標(biāo)越界

  10 800A000A 該數(shù)組為定長(zhǎng)的或臨時(shí)被鎖定

  11 800A000B 被零除

  13 800A000D 類型不匹配

  14 800A000E 字符串空間溢出

  17 800A0011 無(wú)法執(zhí)行請(qǐng)求的操作

  28 800A001C 堆棧溢出

  35 800A0023 未定義 Sub 或 Function

  48 800A0030 加載 DLL 錯(cuò)誤

  51 800A0033 內(nèi)部錯(cuò)誤

  52 800A0034 壞文件名或數(shù)

  53 800A0035 文件未找到

  54 800A0036 壞文件模式

  55 800A0037 文件已經(jīng)打開

  57 800A0039 設(shè)備I/O錯(cuò)誤

  58 800A003A 文件已經(jīng)存在

  61 800A003D 磁盤空間已滿

  62 800A003E 輸入超出文件尾

  67 800A0043 文件太多

  68 800A0044 設(shè)備不可用

  70 800A0046 權(quán)限禁用

  71 800A0047 磁盤未準(zhǔn)備好

  74 800A004A 不能用不同的驅(qū)動(dòng)器重新命名

  75 800A004B 路徑/文件訪問(wèn)錯(cuò)誤

  76 800A004C 路徑未找到

  91 800A005B 未設(shè)置對(duì)象變量

  92 800A005C For 循環(huán)未初始化

  94 800A005E 非法使用 Null

  322 800A0142 不能建立所需臨時(shí)文件

  424 800A01A8 需要對(duì)象

  429 800A01AD ActiveX 部件無(wú)法創(chuàng)建對(duì)象

  430 800A01AE 類不支持自動(dòng)化

  432 800A01B0 在自動(dòng)化操作中未找到文件名或類名

  438 800A01B6 對(duì)象不支持該屬性或方法

  440 800A01B8 Automation錯(cuò)誤

  445 800A01BD 對(duì)象不支持此操作

  446 800A01BE 對(duì)象不支持指定的參數(shù)

  447 800A01BF 對(duì)象不支持當(dāng)前的區(qū)域設(shè)置

  448 800A01C0 未找到命名參數(shù)

  449 800A01C1 參數(shù)不可選

  450 800A01C2 錯(cuò)誤的參數(shù)個(gè)數(shù)或無(wú)效的參數(shù)屬性值

  451 800A01C3 對(duì)象不是一個(gè)集合

  453 800A01C5 指定的dll函數(shù)未找到

  455 800A01C7 代碼源鎖錯(cuò)誤

  457 800A01C9 這個(gè)鍵已經(jīng)是本集合的一個(gè)元素關(guān)聯(lián)

  458 800A01CA 變量使用了一個(gè) VBScript 中不支持的自動(dòng)化(Automation)類型

  462 800A01CE 遠(yuǎn)程服務(wù)器不存在或不能訪問(wèn)

  481 800A01E1 無(wú)效圖片

  500 800A01F4 變量未定義

  501 800A01F5 違法的分配

  502 800A01F6 腳本對(duì)象不安全

  503 800A01F7 對(duì)象不能安全初始化

  504 800A01F8 對(duì)象不能安全創(chuàng)建

  505 800A01F9 無(wú)效的或不合格的引用

  506 800A01FA 類未被定義

  507 800A01FB 發(fā)生異常

  5016 800A1398 需要正則表達(dá)式對(duì)象

  5017 800A1399 正則表達(dá)式中的語(yǔ)法錯(cuò)誤

  5018 800A139A 錯(cuò)誤的數(shù)量詞

  5019 800A139B 在正則表達(dá)式中需要 ']'

  5020 800A139C 在正則表達(dá)式中需要 ')'

  5021 800A139D 字符集越界

  32811 800A802B 元素未找到


相關(guān)條目[ ]

參考來(lái)源[ ]