必威电竞|足球世界杯竞猜平台

Visual Basic
來源:互聯網

Visual Basic(簡稱VB),是1991年由微軟開發的一種事件驅動編程語言和集成開發環境(IDE)。Viusal Basic源自于BASIC編程語言,具有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統的特點。它可以使用DAO、RDO、ADO連接數據庫,或者創建ActiveX控件,用于生成類型安全和面向對象的應用程序。

1991年,微軟發布了Visual Basic 1.0版本,目的是用來設計Windows程序。Windows操作系統不斷升級,Visual Basic的功能也隨之升級。2002年底,微軟NET戰略的推出使得Visual Basic開始遷移到.NET平臺上,Visual Basic 6.0逐漸被VB.NET取代,但它在歷史上為許多Windows應用程序開發者提供了強大的工具和便捷的開發體驗。VB.NET繼承了Visual Basic的許多特性,同時也引入了更多現代編程語言的功能,進一步增強了開發效率和程序性能。2005年,微軟宣布不再對Visual Basic提供免費支持。2010年,微軟將Visual Basic.NET和Visual Basic融合到Visual Studio中。2020年,微軟宣布結束對Visual Basic的開發。

Visual Basic依靠可視化的集成開發環境,曾經是熱門的桌面開發工具,容易上手、可以直接編寫圖形界面的特點,使得Visual Basic成為很多人接觸計算機編程的第一種語言。而隨著Java等語言的興起,Visual Basic的優勢逐漸喪失殆[dài]盡。而且由于Visual Basic技術不支持繼承、異常處理不完善、無原生支持多線程等缺點,大大限制了Visual Basic技術發展。

發展歷史

發展歷程

誕生與發展

1991年,微軟推出了Visual Basic 1.0版,是在原DOS操作系統平臺上的 BASIC 語言基礎上開發的新一代面向對象的程序設計語言。與Basic語言不同的是,Visual Basic 是用來設計 Windows 程序的。這在當時引起了很大的轟動。1992年9月,Visual Basic 1.0 for DOS版本發布,這個連接編程語言和用戶界面的進步被稱為Tripod,最初的設計是由阿蘭·庫珀(Alan Cooper)完成的。

由于Windows 3.1的推出,Windows已經充分獲得了用戶的認可,而 Visual Basic 1.0 的功能過于簡單,相對于 Windows 3.1 的強大功能并沒有發揮出來,所以,微軟于1992年推出了Visual Basic 2.0版本,改善了上一個版本的界面與速度,加入了對象型變量,對語言進行改進和擴充、對VBX有了很好的支持等。

Visual Basic 2.0推出幾個月后,微軟又發布了Visual Basic 3.0版本,該版本針對性的增強了數據庫的功能,增加了對最新的ODBC 2.0的支持,提供了數個數據庫控件和專業級控件,增加了許多新的金融函數。1995年,Visual Basic 4.0版本上線,該版本強化了可視化程序設計的概念,簡化了用戶設計應用程序界面的工作,還可以開發DLL工程,為Visual Basic成為一種COM語言奠定了基礎,但是性能問題遇到了瓶頸,巨大的運行庫也讓用戶感到不滿,對以前版本的支持度也不夠高。

為增強Visual Basic對Internet的支持和開發能力,1997年微軟又推出了Visual Basic 5.0版本,同時也開啟了Visual Basic中英文版本的時代。新版本是專門為Windows 95設計的,采用 Visual C++ 編寫,融合Visual C++的優點,編譯和運行速度比Visual Basic 4.0版本提高了近20%。隨著Windows 98的發行,微軟公司發布了Visual Basic 6.0版本,該版本在創建自定義控件、對數據庫的訪問及對Internet的訪問等方面都得到了進一步的加強、完善和提高。Visual Basic 6.0是經典VB的最后一個版本,在功能和性能上都達到了頂峰,引入了對Web開發的支持、改進的數據庫訪問功能和新的控件。其穩定性和廣泛的功能使其成為開發者社區中長期受歡迎的工具,至今仍有許多應用程序依賴于VB 6.0。

版本大變革

隨著微軟NET戰略的推出,Visual Basic 開始遷移到了.NET平臺,2002年底,最新版本Visual Basic.NET登場,使得Visual Basic成為了完全面向對象的編程語言,并且成為功能有很大改進的Web設計工具。該版本利用 Microsoft.NET 框架進行重新設計,在此之前,發布的第一個Beta版本使得使用者的反響很大,對于能否接受該版本產生了分歧,經過幾個版本的過渡之后才找到正確的定位。為了讓Visual Basic程序員從巨大的變化中緩過來,于2003年問世的Visual Basic.NET 2003(v7.1)版本改動很小,是相當穩重的一個版本。修正了許多錯誤,將事件處理恢復了Visual Basic 6.0版本體驗,語言方面由也進行了改進。

版本的融合

2005年推出的 Visual Basic 2005 是.NET框架的一部分,開發人員的工作效率是該版本發布的目標,Visual Basic 小組成員表示,使用 Visual Basic 2005可以節省50%的編碼。但也是這個版本割裂了Visual Basic的陣營,微軟宣布將不再對非 .NET版本的Visual Basic提供免費支持。2008年,Visual Basic 2008上線,該版本對數據訪問、集成開發環境和編輯功能等都有所改進。2010年,Visual Studio 2010 版本發布,新版本將Visual Basic.NET和Visual Basic融合為 Visual Studio 中,還增加了許多新功能。2012年,Visual Studio 2012 版本發布,新增了異步功能、迭代器、調用層次結構、調用方信息、代碼編輯器等方面的功能。2015年,微軟發布開發工具 Visual Stuio2015 版本,對于跨平臺的支持進行擴展增強,添加應用連接到服務的向導配置項目,集成集成開發環境做出了改進。2018年,TIOBE編程社區出具的報告寫到“微軟正在慢慢減少對 Visual Basic的投入,這種語言遲早會衰落。”2019年,Visual Studio 2019 版本發布,新版本對開發、協作和調試功能進行了改進。這也是微軟最后一次對 Visual Basic 語言進行開發2020年,微軟宣布結束對Visual Basic的開發。

歷史版本

專業術語

對象和類

Viusal Basic是基于對象的程序設計語言,對象是系統的基本運行實體,Visual Basic中對象的概念和面向對象的程序設計中的對象概念是一致的,但是在使用上有很大的區別。Visual Basic中的對象分為兩類:一類是由系統設計好的,成為預定義對象,可以直接使用或者對其進行操作;另一類由用戶定義,可以建立用戶自己的對象。在Visual Basic中,窗體和空間就是預定義對象。

類是一個抽象的整體概念,對象是類的實例化。類與對象是面向對象程序設計語言的基礎。以“學生”為例,說明類與對象的關系,學生是一個籠統的名稱,相當于一個“類”,而具體一個學生就是這個類的實例,也就是這個類的一個對象。

屬性

屬性是一個對象的特性,在可視化編程中,每一個對象都有一組特定的屬性。對象常見的屬性有標題、名字、顏色、字體大小、是否可見等。一個對象屬性都有一個默認值,如果不明確地改變該屬性值,程序就將使用它的默認值。通過修改對象的屬性就能夠控制對象的外觀和操作,有些屬性在運行時是只讀。對象屬性的設置一般有兩條途徑:通過屬性窗口設置和通過代碼設置。

事件

事件就是對象上所發生的事情。在Visual Basic中,事件是預先定義好的、能夠被對象標識的動作,如Click單擊、DbIClick雙擊、Load裝入、Change改變等。不同的對象能夠識別不同的事件。當事件由用戶觸發或系統觸發時,對象會對該事件做出響應。響應某個事件后執行操作用過一段程序代碼來實現,這樣的代碼叫做事件過程。Visual Basic中的事件分為系統事件和用戶事件。

方法

Visual Basic系統將一些通用的操作編寫成子程序并封裝起來,這些通用子程序就稱為方法。用戶在程序中可以不加說明調用對象的想法。方法是屬于對象的,在調用方法時應該指明方法所屬的對象。

窗體和控件

窗體是一塊“畫布”,在窗體上可以直觀地建立應用程序。在設計程序時,窗體是程序員的”工作臺“,運行程序時,每個窗體對應于一個窗口。窗體結構與Windows環境下的應用程序窗口一樣,具有控制單元、標題欄、最大化/還原按鈕、最小化按鈕、關閉按鈕以及邊框。窗體是Visual Basic中的對象,具有自己的屬性、事件和方法。

控件和窗體一樣,都是Visual Basic中的對象,它們共同構成用戶界。Visual Basic的控件是具有自己的屬性、事件和方法的對象,通常分為標準控件、ActiveX控件和可插入對象控件三種類型。標準控件是在默認狀態下工具箱中顯示的控件,被封裝在Visual Basic的可執行文件中,如命令按鈕、文本框、單選按鈕等;ActiveX控件單獨保存在.ocx類型的文件中,包括各種版本Visual Basic提供的控件;可插入控件是指用戶可將Excel工作表或PowerPoint幻燈片等作為一個對象添加到工具箱中,編程時可根據需要隨時創建。

語言基礎

數據類型與數組

數據是指程序所需處理的信息,如:數值、文本、圖形等。數據類型是指具有共同特征的數據所形成的種類;其中特征可以從“值的范圍”和“值上允許進行的操作”來個方面來綜合地刻畫。數據類型可以劃分為基本數據類型和自定義數據類型,基本數據類型是系統預定義的數據類型,自定義數據類型是在基本數據類型基礎上,由用戶定義的數據類型。

基本數據類型

自定義數據類型

程序設計過程中,某一類數據可能由若干個數據項(又稱為成員、元素)組成,自定義數據類型能夠“封裝”數據所包含的成員,歸類和統一使用成員。自定義數據類型需要遵循“先聲明、后使用”的原則.Type語句用于聲明自定義數據類型,語法格式如下:

數組

數組是一種數據結構,是有序數據的集合,用于保存大量的、邏輯上有聯系的數據,數組中的每個元素可以是不同數據類型的數據。在Visual Basic中,數組必須先定義再使用,定義數組后,必須為數組開辟所需要的內存區。根據內存區開辟時機的不同,可以把數組分為靜態數組和動態數組。用數值常量或符號常量作為下標的數組是靜態數組,而用變量作為下標的數組則為動態數組。

數組的定義也稱為數組的聲明。一維數組的定義格式為:

動態數組是指在定義數組時未給出數組的大小,即以變量作為下標值,當要使用時,再用ReDim語句重新定義數組的大小。

變量和常量

在程序運行過程中,其值不能被改變的量稱為常量,能夠改變的量稱為變量,常量和變量名稱稱為標識符。標識符用來命名變量、符號常量、數組、方法、類、對象、接口和包等。

變量

變量所代表的內容可以發生變化。在計算機中,變量實際上代表著某種類型數據對應的存儲單元,變量的名字就是該單元的名字。Visual Basic中變量必須先定義、后使用,定義變量時,必須定義其類型、名稱和數據類型。格式如下:

常量

為了避免因常數變化而造成數據查找不便的問題,Visual Basic中提供了一個聲明常量的功能,即用戶可以為每個常數定義一個有意義的名字,凡是程序中需要使用此常數的地方,不必再寫這個常數,而是以其名字代替。Visual Basic中提供的常量有內部常量和外部常量兩大類。

命名規則

對Visual Basic模塊中的過程、常量、變量和參數命名時,通常,不應使用與 Visual Basic 或主機應用程序中使用的函數、語句、方法和內部常量名稱相同的任何名稱,這會導致與語言中的關鍵字的意義混淆。 要使用與所指定名稱相沖突的內在語言函數、語句或方法,必須顯式標識它,在調用內部函數、語句或方法名,需要在其前面加上相關類型庫的名稱。例如,如果有一個名為的Left變量,則只能使用 VBA.Left調用Left函數。

關鍵字是對編譯器具有特殊含義的預定義保留字集,如果使用關鍵字作為變量名稱(標識符),需要將變量名稱括在括號 ( [] ) 中。例如,[Let]是一個有效的標識符,但Let不是,因為它是一個關鍵字。

基本語句

語句是完整的指令,它可以包含關鍵字、運算符、變量、常量和表達式。在Visual Basic中,語句分為聲明語句和可執行語句。這些語句可以調用方法或函數,并可以在代碼塊中執行循環或分支結構,或者將表達式的值賦予變量。

長語句在編寫代碼中可以拆分為幾行,使用行繼續符在下一行繼續該語句,行繼續符依次包含一個空格、一個下劃線字符(_)和一個回車符,且必須是行的最后字符。例如:

編寫代碼中會向代碼中添加嵌入的注釋信息來幫助說明源代碼,注釋行以撇號(’)開頭或以關鍵字Rem開頭,后跟一個空格。注釋可以添加在代碼中的任意位置,但不能添加在字符串中。示例:

運算符和表達式

算術運算符和表達式

算術運算符用于實現算術運算,其運算對象和結果都是數值型數據。以x=5舉例算術運算符和優先級:

算術表達式是用算數運算符和括號將數值數據連接而成的式子,但數學中的代數式并不一定是Visual Basic中的算法表達式。表達式在同一行上書寫成線性序列,只能使用圓括號,且可以嵌套,不能使用方括號和花括號。表達式中不能出現π、α、β、λ等希臘字母,可以用其他字符串來替代,例如圓周率π可以用3.14來代替。表達式通過運算后有一個結果,運算結果的類型由數據和運算符共同決定。

關系運算符和表達式

關系運算的運算對象是數值型數據和字符型數據,是對兩個數進行比較的運算。

關系運算的結果是邏輯型的值。當關系成立時,結果為True;當關系不成立時,結果為False。關系運算符的優先級相同,若關系表達式中又有算數表達式,則先進行算術運算,再進行關系運算。

邏輯運算與邏輯表達式

邏輯運算符是對操作數進行邏輯運算,運算的結果為邏輯性數據。當邏輯關系成立時,運算結果為True;當邏輯關系不成立時,運算結果為False。

控制語句

Visual Basic使用結構化的控制語句來控制程序的流程,其中If···Then···Else語句和Select···Case語句是選擇語句,根據表達式的值從若干給定的語句中選擇一個來執行。而根據表達式的值重復執行一組語句是循環語句,包括For···Next語句、For Each···Next語句、Do···Loop語句和While···End While語句等。

If···Then···Else語句

If···Then···Else 語句根據表達式的值有條件地執行一組語句。If···Then···Else語句分為單行格式和多行格式。

Select···Case語句

Select···Case 語句根據表達式的值執行若干組語句中的某一組。示例:

For···Next語句

使用 For···Next 實現多次重復一組語句的流程。語法如下:

For Each···Next語句

For Each···Next語句為集合或數組的每一個元素重復一組語句。語法如下:

Do···Loop語句

Do···Loop語句用于當Boolean條件為True或在條件變為True之前,重復語句塊。語法如下:

While···End While語句

While···End While在給定條件為True時運行一系列語句。語法如下:

過程和參數

過程是結構化程序設計的一個重要組成部分,所有的操作代碼都應該放在過程內部,過程是指括在過程聲明語句和End語句中的一組代碼語句塊的總和。過程一經定義之后,可以在其他代碼中被調用。Visual Basic中的過程有三種類型:Sub過程、函數過程和Property過程。

Sub過程

Sub過程也叫事件過程,事件過程名為“對象名_動作”,用Sub語句聲明,以End Sub語句結束。下面代碼是一個典型的事件過程:

Function過程

Function過程又稱函數過程,分為內部函數和用戶自定義函數兩種類型,用Function語句聲明,以End Function結束。

函數過程代碼示例:

Property過程

Property過程又稱屬性過程,對應于屬性的讀寫操作,屬性過程分為三種:Property Get過程、Property Let過程、Property Set過程。Get用來處理從屬性中讀取數據的操作,Let和Set處理對屬性賦值的操作,Let用于一般類型的屬性,Set用于對象類型的屬性。用Property語句聲明,以End Property結束。

屬性過程代碼示例:

參數

過程中的代碼需要某些關于程序狀態的信息才能完成所執行的工作,信息包括在調用過程時傳遞到過程內的變量。當將變量傳遞到過程時,稱變量為參數。參數的傳遞方式有兩種:按值傳遞參數和按地址傳遞參數。按值傳遞參數時,傳遞的是變量的副本,如果過程中改變了這個值,則所作變動只影響副本而不是影響變量本身,用ByVal關鍵字傳遞。而按地址傳遞參數時,過程用變量的內存地址去訪問實際變量的內容,可以改變變量值,用ByRef關鍵字進行傳遞。

參數傳遞示例代碼:

函數

概念和使用

函數(Function)是能夠實現一定功能的一段程序,由系統進行封裝,程序員使用時只能看到函數名、參數和返回值等信息。使用時,程序員無須了解函數過程的實現細節,只需了解函數的參數特征和返回值特征即可。函數分為有參函數和無參函數,是過程的另一種形式,Visual Basic提供了許多內部函數。函數的使用稱為函數調用,調用時需要注意以下幾點:參數的個數及參數特征;數據類型應與參數要求類型一致;注意函數參數的取值范圍;函數的返回值可以直接用于表達式中,參與運算。

內置函數

語言特點

面向對象的程序設計思想

Visual Basic中用來構成圖形用戶界面的可視化控件,就是“對象”,對象封裝了程序和數據。不同的對象在程序中所賦予的功能是不同的。把面向對象的思想應用到軟件中指導軟件開發,能直接在程序界面畫出控件,并設置空間的屬性,建立的對象屬性是可視的,不必編寫建立和描述每個對象的程序代碼,與編寫完整的代碼比較,可以較少程序語句。

可視化的程序設計語言

Visual Basic采用可視化的圖形用戶界面GUI(Graphical User 接口),開發人員利用系統提供的大量可視化控件,按設計要求的屏幕布局,在屏幕上可以畫出各種圖形對象“部件”,并設置這些圖形對象的樹形,Visual Basic便自動產生界面設計代碼,程序設計人員只需要編寫實現程序功能的那部分代碼,從而大大提高了程序設計的效率。

結構化的程序設計語言

結構化的程序設計語言,能夠方便實現“自頂向下、分而治之、模塊化”的程序設計方法,Visual Basic是在結構化的BASIC語言基礎上發展起來的,具有高級程序設計語言的結構化、豐富的數據類型、眾多的內部函數,便于程序的模塊化、結構化設計。結構清晰且簡單易學,在輸入代碼的同時,編輯器自動進行語法檢查,設計過程中可以隨時運行程序,調試并改正錯誤,整個應用程序設計好之后,可以編譯生成可執行文件(.exe),脫離VB環境,直接在Windows環境下運行。

開放的數據庫功能與網絡支持

Viusal Basic系統具有很強的數據庫管理功能,不僅可以管理MS Access格式的數據庫,還能訪問其他外部數據庫,如Visual FoxPro、Dbase、Paradox等格式的數據庫。Visual Basic還提供了開放式數據連接功能,可以通過直接訪問或建立的方式使用并操作后臺大型網絡數據庫。在應用程序中,可以使用SQL直接訪問服務器上的數據,并提供簡單的面向對象的庫操作命令、所擁護數據庫的枷鎖機制和網絡數據庫編程技術,為單機上運行的數據庫提供結構化查詢語言網絡接口。

事件驅動的編程方式

事件驅動是增強程序圖形界面交互性的主要方法,利用用戶的動作或行為控制程序運行的流向。程序員只需要編寫響應用戶動作的代碼,各個動作之間不一定有聯系,代碼短、易編寫、易維護。Visual Basic通過事件來執行對象的操作,對象與程序代碼通過事件及事件過程來聯系。一個對象可以感知和接收多個不同類型的事件,每個事件均能驅動一段程序或事件過程,完成對象響應事件的工作,從而實現一個預編程的功能。

Visual Basic編程沒有明顯的主程序概念,程序員要做的就是面向不同的對象分別編寫他們的事件過程,整個Visual Basic應用程序就是由這些彼此相互獨立的事件過程構成,事件過程的執行與否以及執行的順序取決于操作時用戶所引發的事件,若用戶為觸發任何時間,則系統將處于等待狀態。

交互式程序設計

傳統的高級語言編程需要經過編碼、編譯和測試代碼三個步驟,每一個步驟需要調用專門的處理程序,而Visual Basic將這三個步驟的操作都集中在它的集成集成開發環境內統一處理,使得這三個步驟之間不再有明顯的界限,方便了設計人員的使用。大多數語言中,設計人員在編寫代碼時產生錯誤,在該程序編譯時才能夠被編譯器捕獲,這樣造成了編碼效率的局限性,而Visual Basic則采用交互式的在線檢測式,在設計人員輸入代碼時便對其進行解釋,即使捕獲并突出顯示其語法或拼寫錯誤,設計人員能夠及時發現錯誤并改正。

開發環境

開發環境和工具

Visual Basic提供了一個強大的集成開發環境(IDE),包括代碼編輯器、表單設計器、調試工具和項目管理工具。

開發Visual Basic應用程序,可以使用文本編輯器編寫代碼,并使用編譯器進行編譯、運行,也可以使用微軟集成開發工具:SDK軟件開發工具包,包括開發人員編寫、生成、測試和部署應用程序時所需要的工具;Microsoft Visual Studio,開發應用軟件的平臺,提供開發工具和功能、Xamarin Studio和Visual Studio Code等。

編譯器

Visual Basic的一種運行方式是編譯方式,是系統讀取Visual Basic程序中全部代碼,將其轉換(編譯)成機器代碼,并保存在擴展名為.exe的可執行文件中,以便可以脫離Visual Basic環境運行該程序。Visual Basic支持的編譯器有Visual Studio和.NET。

解釋器

Visual Basic中另一種運行方式是解釋方式,是系統讀取觸發事件過程的代碼,將程序代碼逐句轉換(翻譯)為機器代碼,譯出一句就立即執行一句,邊解釋邊執行,轉換后的機器代碼不保留,如需再次運行程序,還要重新翻譯。

異常處理

Visual Basic同時支持結構化和非結構化的異常處理,能夠在程序運行發生異常時得到有效的處理,使程序能夠繼續執行下去。程序中的異常可分為三種:語法錯誤、運行時錯誤和邏輯錯誤。

結構化異常處理

結構化異常處理使用Try···Catch···Finally語句,語法如下:

將異常語句放在Try塊中,如果產生異常,就會被送到Catch語句中,每個Catch語句都帶有一個過濾條件,也可以沒有。Visual Basic從上到下依次檢查每個Catch塊,如果拋出的異常與過濾條件相匹配,執行這個Catch塊中的語句處理捕獲的異常,Catch塊中沒有過濾條件則接收所有異常。Finally塊中的代碼將在處理完Try塊后執行,可以將諸如關閉文件、釋放對象實例等做清理工作的代碼放在Finally塊中。

關鍵字throw用來生成終止錯誤,使用throw關鍵字停止對命令、函數或腳本的處理,可以在if語句的腳本塊中使用throw關鍵字來響應條件,或者用在try···catch···finally語句的catch塊中,throw關鍵字可以引發任何對象,例如用戶消息字符串或導致了錯誤的對象。

throw關鍵字的語法如下:

非結構化異常處理

非結構化異常處理使用On Error語句,On Error語句放在所要檢查的代碼塊的最前面。當On Error語句所處理的代碼塊中產生一個異常時,控制權會立即轉交到On Error語句所指定的程序行處理發生的異常。On Error語句分為三種類型:On Error GoTo Line語句、On Error Resume Next語句、On Error GoTo 0語句以及On Error GoTo-1語句。

On Error Resume Next語句表示其所處理的代碼塊中遇到異常就將其忽略,執行下面的代碼。On Error GoTo 0語句表示禁用當前過程內的異常處理器,如果沒有該語句,異常處理器將在過程退出時禁用。而On Error GoTo-1語句表示禁用當前過程中的異常,不包含該語句時,異常會在過程退出時自動禁用。

示例,名為DivideByZero的異常處理器用于被0除的異常。

標準庫

標準庫是指由編程語言自帶的一系列函數和類,程序可以從符合標準的標準庫實現中調用大量函數。 這些函數執行服務(如輸入和輸出),并提供常用操作的高效實現。

衍生語言

Visual Basic for Applications

Visual Basic for Applications(即VBA)是基于 Visual basic發展而來的,與VB具有相似的語言結構。從語言結構上講,VBA是VB的一個子集,它們的語法結構是一樣的。兩者的開發環境也幾乎相同。但是,VB是獨立的開發工具,它不需要依附于任何其他應用程序,它有自己完全獨立的工作環境和編譯、鏈接系統。VBA是一種內置在微軟Office辦公軟件中的編程語言,依托于Office軟件而不能獨立運行。通過VBA可以實現各種Office軟件操作的自動化,如在 Access中,可以通過VBA編寫模塊來滿足特定的需要。

Visual Basic Script

Visual Basic Script簡稱VB Script是微軟創建的一種腳本語言,使用同Visual Basic一樣的語法。VB script源自Visual Basic for Applicant,繼承了Visual Basic for Applications的大部分功能,包括對數學運算、數組、流控制、數據轉換、COM對象、過程以及日期等的支持,但微軟最初將VBScript設計為Web的腳本語言,因此取消了直接I/O函數并剝離了對類型的支持以提高VBScript的處理速度,因此,VBScript不支持顯示類型,并且不包含用于直接訪問客戶端磁盤的本機命令,但后來成為通過Windows腳本主機編寫面向Windows的批處理文件的流行語言。

Visual Basic.NET

Visual Basic.Net是Visual Basic 6.0的升級,是在.NET平臺上編程的一種面向對象的程序設計語言。Visual Basic.Net語言主要用來構建在.Net Framework上運行的各種安全、可靠的應用程序。能更好地與PythonRuby等動態語言互通操作,使得其語言表達邏輯和自然語言的表達非常相似。

OpenOffice Basic

OpenOffice Basic是一種源自Basic系列的編程語言,OpenOffice Basic 擴充了OpenOffice標準功能。可以在 OpenOffice Basic 中自動執行常見任務,可以鏈接到其他程序(例如,鏈接到數據庫服務器),還可以通過按下某個按鈕來執行復雜活動(使用預定義腳本)。OpenOffice Basic可以對所有OpenOffice功能進行完全訪問,支持所有功能,還可以修改文檔類型,以及提供創建個人對話框窗口的選項。OpenOffice Basic 編程語言有OpenOffice Basic 語言、運行時庫、Apache OpenOffice API(應用程序編程接口)和對話框編輯器四個部分組成。

Gambas

Gambas是一個面向對象的BASIC語言分支和一個附帶的IDE,能在Linux以及其他 Unix-like 計算機操作系統中運行。它提供一個與Visual Basic相似的用戶體驗。Gambas被設計成為一個針對遷移到Linux平臺上Visual Basic開發者的Visual Basic替代產品。

WinWrap Basic

WinWrap Basic 是一個低成本、功能強的 .NET/WPF/COM 組件,是 ActiveX、VBScript、VB6、Visual Basic for Applications、Sax Basic 和 VSTA 腳本的替代品。它允許使用Visual Basic語言構建Windows應用程序。它支持將Web應用程序轉換為本地應用程序,使其可以在沒有網絡連接的情況下運行。

LotusScript

LotusScript 是一種嵌入式的Basic腳本語言,具有語言擴展功能特色。是Visual Basic的通用語言,主要應用于Notes的客戶端應用程序開發中。由于Lo tusScript與Java的后臺類庫基本一致,又被眾多的 Notes開發人員所熟悉,因此LotusScript在Domino Web 開發中得到了廣泛的應用

Corel WordPerfect Office

Corel Word Perfect Office是一款辦公軟件, 由文字處理軟件“WordPerfect”、表格計算軟件“Quattro Pro”以及幻燈演示制作程序“Presentations”組成。1998年,微軟與Corel公司達成協議,在Corel公司產品中集成MicrosoftVisual Basic for Applications(Visual Basic for Applications)。Corel公司宣布了Corel WordPerfect套件和CorelDRAW等不同產品集成VBA的計劃。

WordBasic

WordBasic是Word對象模型中的一個屬性,該屬性返回一個具有全部 WordBasic語句和函數的對象;該對象使WordBasic宏可在Word中運行。Word的每個元素(如文檔、段落、字段和書簽)都可以由Visual Basic中的對象表示,WordBasic語言由大約 900 個命令的平面列表組成,而 Visual Basic 由對象的層次結構組成,其中每個對象都公開一組特定的方法和屬性, (類似于 WordBasic) 中的語句和函數。 大多數WordBasic命令在任何時候都可運行,而在Visual Basic中,只能使用在給定時刻有效的對象的方法和屬性。

應用領域

Web網頁開發

Visual Basic 6.0中,可以通過使用專用設計窗口來建立網頁,以便與應用程序發生聯系;也可以調入已存在的網頁進行修改。在Visual Basic(VB)中建立網頁時,可以將HTML元素放在設計器中,并布置它們的位置,用這種方法建立網頁時,無需了解HTML標簽,Visual Basic為網頁中的每個元素建立標簽和屬性,即可完成特點功能的網頁。Visual Basic可以將現有的HTML網頁調入,進行重新調整用戶界面、增加、刪除網頁上的元素。可以在Visual Basic中用代碼處理動態網頁DHTML發生的事件,響應網頁中的元素所發生的事件。在Visual Basic中創建DHTML應用時,網頁中的每一個HTML元素可作為獨立的對象進行操作,可以設置它們的屬性,調用它們的方法來修改特征。

應用程序開發

Visual Basic完全可視化開發環境,事件驅動的編程機制使得編程易學易用,其中Visual Basic 2005構建的應用程序不僅能執行任務,而且具有多變的外觀。使用其可以為Windows操作系統、Web、手持設備以及其他環境和設置創建應用程序,它最重要的優勢是提高了開發工作中使用數據庫信息和創建接口解決方案時的效率。

游戲開發

Visual Basic提供的集界面設計、編寫代碼、程序調試等于一體的集成開發環境,可以開發出多種具有圖形界面的應用程序,以Visual Basic編制動畫游戲,能夠按程序代碼延時,受程序代碼的操作,在游戲軟件的制作中具有重要意義。游戲界面的設計可通過Visual Basic提供的控件進行設計成一個窗體,窗體上的屬性可以自定義。通過編碼實現游戲過程和事件的發生,使用函數進行實現功能和繪圖等。

用Visual Basic設計的簡單游戲——黑白棋

在窗體建立三個菜單,調用畫棋盤函數過程來畫出棋盤,然后調用Click命令實現單擊事件,設計Timer事件的計時器,用函數進行繪制圖形界面。執行程序后,游戲設計實現。

數據庫應用程序開發

Visual Basic在數據庫方面提供了功能和工具,利用Visual Basic提供的數據庫管理功能,可以進行數據庫應用程序的開發。用Visual Basic的可視化數據管理器VisData創建數據庫,數據庫的查詢語言SQL語言沒有屏幕處理或用戶輸入輸出的能力,需要嵌入到Visual Basic語言中調用,提供訪問數據庫的標準方法,對于Visual Basic的關系數據庫,數據存入數據庫后,可以用SQL同數據庫進行交互。Visual Basic中有三種數據訪問的接口:ActiveX數據對象、遠程數據對象和數據訪問對象,與三個接口響應的三種可視化數據訪問控件為ADO Data控件、Data控件和RDO控件

自動化和腳本編程

自動化是組件對象模型 (COM) 的一項功能,它是可供應用程序用來向開發工具、宏語言和其他支持自動化的應用程序公開其對象的行業標準技術。當應用程序支持自動化時,可通過 Visual Basic 訪問應用程序所公開的對象。Visual Basic提供的字符串處理函數,如 Instr,Mid,Left,Format等,可以實現對字符串的比較、挑選、截取、抽取等,從而完成腳本所有關鍵字的解析和處理。Visual Basic Script就是微軟創建的一種腳本語言,使用同Visual Basic一樣的語法。

內嵌控件的應用

多媒體技術的普及,Visual Basic為了方便用戶的開發,提供了功能較強的多媒體控件。其中較為簡單的有MMControl控件,用于顯示媒體播放的進度等信息以及控制媒體播放和結束。

網絡的廣泛應用使得許多語言都提供了網絡程序的功能。Winsock控件是Visual Basic提供網絡編程工具中的一種,它建立在TCP、UDP協議的基礎上,完成與遠程計算機的通信,使用該控件可以在很短的時間內創建一個簡單的客戶機/服務器程序。用戶通過設置控件的屬性并調用其方法即可連接到一臺遠程計算機上,并且還可以雙向交換數據。

影響評價

反對觀點

Visual Basic是一個充滿爭議的語言,很多批評家評判微軟簡單地拷貝了Basic語言的思想到Visual Basic中,計算機科學家Edsger Wybe Dijkstra說:“如果一個學生最早學過Basic,那么幾乎不可能讓他學會優秀的編程,因為這些已經放棄了重生的希望。”Visual Basic一開始就是一種簡單的語言,所以很多人自學了Visual Basic,但是零基礎的編程操作是他們不能掌握良好的編程習慣。并且一些C++和Java中的特性并沒有在Visual Basic中出現,難以編寫多線程程序和產品無法跨平臺等問題使得Visual Basic不能勝任大型程序的開發。

支持觀點

很多Visual Basic的支持者解釋說Visual Basic的易用性就是它最大的優勢,能使得經驗豐富的程序員或者剛入門的人都能用自己的方式快速開發程序,而且Visual Basic的程序與數據庫連接簡單,利用控件即可綁定數據庫,可以掌握數據庫的所有信息而不用寫一行代碼。

參考資料 >

Visual Basic 文檔.microsoft.2023-10-10

vb是什么意思?下面就來為大家解釋解釋.中國工業網.2023-10-10

Visual Studio 2019 version 16.9 Release Notes.microsoft.2023-11-01

Visual Studio: 面向軟件開發人員和 Teams 的 IDE 和代碼編輯器.microsoft.2023-10-19

..2023-10-10

微軟不再發展Visual Basic編程語言:它曾經的輝煌你可知?.快科技.2023-10-19

?VB編程宣告終結,微軟:不再提供新功能.澎湃新聞.2023-10-10

..2023-10-11

..2023-10-10

..2023-10-10

..2023-10-10

..2023-10-10

Visual Basic 2005 簡介.microsoft.2023-10-10

Visual Basic 中的新增功能.microsoft.2023-10-12

Visual Basic 2010 中的新增功能.microsoft.2023-10-11

Visual Studio 2012 中 Visual Basic 的新增功能.microsoft.2023-10-12

Welcome to Visual Studio 2015.microsoft.2023-10-12

.microsoft.2023-10-12

Microsoft Visual Basic 4.0.winworldpc.2023-11-01

微軟停止VB6免費技術支持 百名MVP上書抗議.新浪科技.2023-10-11

Visual Basic 的新增功能.microsoft.2023-11-01

..2023-10-19

..2023-10-18

Visual Basic 命名規則.microsoft.2023-11-02

Visual Basic Keywords.tutlane.2023-11-02

關鍵字 (Visual Basic).microsoft.2023-11-02

If...Then...Else 語句 (Visual Basic).microsoft.2023-11-01

Select...Case 語句 (Visual Basic).microsoft.2023-11-02

For...Next 語句 (Visual Basic).microsoft.2023-11-01

For Each...Next 語句 (Visual Basic).microsoft.2023-11-01

Do...Loop 語句 (Visual Basic).microsoft.2023-11-01

While...End While 語句 (Visual Basic).microsoft.2023-11-01

..2023-10-18

..2023-10-18

字符串函數 (Visual Basic).microsoft.2023-10-18

數學函數 (Visual Basic).microsoft.2023-10-18

轉換函數 (Visual Basic).microsoft.2023-10-18

..2023-10-10

..2023-10-11

..2023-10-18

Visual Basic集成開發環境.清華大學出版社.2023-10-19

..2023-10-19

Skip to main content Skip to search.synopsys.2023-11-01

關于Throw.microsoft.2023-10-19

C++ 標準庫參考 (STL).microsoft.2023-10-19

.NET API 瀏覽器.microsoft.2023-10-19

403 Forbidden.人民郵電報.2023-10-11

中國科普博覽_電信博物館.中國科普博覽.2023-10-11

Visual Basic Scripting (VBScript).activexperts.2023-10-11

..2023-10-11

..2023-10-11

Apache OpenOffice BASIC 編程指南.openoffice.2023-10-19

Gambas不安全臨時文件創建漏洞.國家信息安全漏洞平臺.2023-10-19

全知識.allhistory.2023-10-19

winwrap首頁.winwrap.2023-10-19

web變成exe.yimenapp.2023-10-19

IBM Documentation.IBM.2023-10-19

..2023-10-19

Corel WordPerfect Office X4 14新特性.新浪科技.2023-10-19

Microsoft宣布與Corel建立VBA伙伴關系.知網空間.2023-10-19

WordBasic 和 Visual Basic 在概念上的區別.microsoft.2023-10-19

..2023-10-12

..2023-10-12

..2023-10-19

..2023-10-19

了解自動化.microsoft.2023-10-19

..2023-10-19

..2023-10-12

電腦義診|Visual Basic 6.0:罪與罰.搜狐號.2023-11-01

VB及VBA編程語言歷史及VB的特點簡介-入門篇.Office交流網.2023-11-01

生活家百科家居網