VisualBasic1.0
1992-漸入佳境的VisualBasic,由於Windows3.1的推出,Windows已經充分獲得了用戶的認可,Windows開發也進入一個新的時代。VisualBasic1.0的功能過於簡單,相對於Windows3.1的強大功能沒有發揮出來。所以,微軟在1992年推出了新版本VisualBasic2.0。這個版本最大的改進就是加入了對象型變量,比如
DimbAsCommandButton
DimcAsControl
而且有了最原始的“繼承”概念,對象型變量分為一般類型(Control和Form)和專有類型(CommandButton和Form1等),一般類型的變量可以引用專有類型的實例,甚至通過後期綁定訪問專有類型的屬性和方法。還可以通過TypeOf…Is運算符獲取對象實例的運行時類型信息(這個功能就是當今C#的is運算符或Java的instanceof運算符)。除了對語言的改進和擴充,VisualBasic2.0對VBX有了很好的支持,許多第三方控件湧現出來,極大地豐富了VisualBasic的功能。微軟還為VisualBasic2.0增加了OLE和簡單的數據訪問功能。
VisualBasic2.0標准版
VisualBasic2.0專業版
1993-數據庫組件新添力量
VisualBasic2.0推出沒幾個月,微軟就發布了新版本的VisualBasic3.0,可以看出VB這時候旺盛的生命力。乍一看,VisualBasic3.0的界面沒有太大的變化,但其實這個版本是非常及時的。它增加了最新的ODBC2.0的支持,Jet數據引擎的支持和新版本OLE的支持。最吸引人的地方是它對數據庫的支持大大增強了,Grid控件和數據控件能夠創建出色的數據窗口應用程序,而Jet引擎讓VisualBasic能對最新的Access數據庫快速地訪問。VisualBasic3.0還增加了許多新的金融函數。此外還增加了相當多的專業級控件,可以開發出相當水平的Windows應用程序。VisualBasic3.0是98年以前中國最流行的VisualBasic版本,因為它開發出來的可執行文件非常小,通常能用一張軟盤裝下。不過,VisualBasic采用虛擬機運行P代碼的做法也讓很多開發者不滿,他們認為這樣程序運行的效率很低,這時候VisualBasic的競爭者Delphi也誕生了。
1995-第二次革命性變化,向COM進軍。
從1993年到1995年年中,VisualBasic一直沒有新的動靜,焦急的開發者都想一窺這個神秘的新版本到底發生了什麼變化。VisualBasic4.0的BETA最後終於和大家見面了。這個版本包含了16位和32位兩個版本,16位的版本就像是VisualBasic3.0的升級版,而32位版則是一場新的革命。首先,人們發現VBX控件不見了,全部換成了OCX控件,這個OCX可能是指OLECustomControls,這個OLE已經不是傳統的OLE了,用現在的話說,它就是COM控件。第二個最大變化是VisualBasic4.0所用的語言換成了VisualBasicForApplication,這就和Office95所采用的宏語言統一起來,這個新語言有很多亮點:
1、加入了“類模塊”。這是面向對象最重要的封裝性的基礎。
2、加入了屬性過程,加上函數過程,子程序過程,VB已經有組件開發所需的封裝性特征。
3、加入了Byte類型、Boolean類型和Object類型。這大大完善了VB的類型系統。
4、ForEach語句和Collection對象。ForEach語句給遍歷集合類型提供了極大的方便,現在可以在動態增長的Collection上使用ForEach,而不用擔心集合內容的總數或煩人的下標問題。
這個版本的VisualBasic還能夠開發DLL工程,其實就是COM的DLL,可以將書寫好的類用這種方式和其他語言共享。
總之,這個4.0的版本為VisualBasic成為一種COM語言奠定了基礎。用VisualBasic4.0開發基於COM的DLL比任何一種開發工具都方便。但是,VisualBasic4.0的性能問題變得更加嚴重了,P-代碼的組件成為VisualBasic4.0嚴重的性能瓶頸,而且巨大的運行庫也讓用戶感到不滿。VisualBasic4.0對以前版本的支持也不好,使用了大量VBX的項目很難移植到VisualBasic4.0中。因此,VisualBasic4.0在中國的普及程度非常低。
VisualBasic4.0
1997-VisualBasic的豐收年
1997年,微軟推出了VisualBasic5.0,這個版本的重要性幾乎和4.0一樣高。COM(這時候叫ActiveX)已經相當成熟,VisualBasic5.0當然對它提供了最強的支持。不過,國內還沒有意識到COM的重要性前主要對這個版本另一個最大的亮點十分關注:本地代碼編譯器。VisualBasic5.0終於在用戶的呼聲中加入了一個本地代碼編譯器,它可以讓應用程序的效率大大提升。除了這個大家都知道的改進以外,VisualBasic5.0對VisualBasicForApplication語言有重大的完善和豐富:
5、事件。VisualBasic5.0終於允許用戶自己創建事件,而且這事件的語法相當強健和完善,這在一種不支持函數回調的語言中是很難得的。現在,VB擁有屬性、方法和事件的完整封裝性。
6、接口。這是VB實現多態性的基礎。同時為編寫COM組件提供了更多方便。
7、枚舉。在VisualBasic5.0中枚舉作為Long整型的子類型出現,用枚舉可以對常量進行完善的封裝。
8、類模塊的改進。通過類模塊的屬性可以指定類模塊具有多種指定的行為,如私有構造函數等,可以通過這個功能創建符合Singleton和Monostate模式的設計。
9、Debug.Assert。雖然這個斷言系統有點雞肋,但是總算是給調試帶來了方便。
10、VisualBasic5.0支持創建自己的集合類。可以創建用於ForEach語句的集合類型。
11、新的數據類型Decimal,可以精確地處理有效數位較多的計算。
VisualBasic5.0的IDE支持“智能感知”,這是一項非常方便開發者的功能,可以不必記住很長的成員名稱和關鍵字,只要按“.”,想要的東西統統彈出來。
VisualBasic5.0還支持開發自己的ActiveX控件、進程內的COMDLL組件、進程外的COMEXE組件以及在浏覽器中運行的ActiveX文檔。這極大豐富了VisualBasic的開發能力,在Internet開發上,VisualBasic5.0也能有所建樹。
->