隨著Windows3.0的推出,越來越多的開發商對這個圖形介面的作業系統產生了興趣,大量的Windows應用程式開始湧現。但是,Windows程式的開發相對於傳統的DOS有很大的不同,開發者必須將大量精力放在開發GUI上,這讓許多希望學習Windows開發的人員卻步。 1991年,微軟公司展示了一個叫Thunder的產品,所有的開發者都驚呆了,它竟然可以用滑鼠「畫」出所需的使用者介面,然後用簡單的BASIC語言編寫業務邏輯,就生成一個完整的應用程式。這個全新的「Visual」的開發就像雷電(Thunder)一樣,為Windows開發人員開闢了新的天地。這個產品最後被定名為VisualBasic,採用事件驅動,QuickBASIC的語法和視覺化的IDE。 VisualBasic1.0帶來的最新的開發體驗就是事件驅動,它不同於傳統的過程式開發。同時,VBX控制讓視覺化元件的概念進入VisualBasic。 VisualBasic1.0是革命性的BASIC,它的誕生也是VB史上的好話。
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也誕生了。
VisualBasic3.0特別版
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也能有所建樹。
->