⑴ VB是什麼
1991年,美國微軟公司推出了Visual Basic 1.0(可簡稱VB),1992年,Microsoft公司又推出
VB6.0
[1]了VB 1.0的升級版VB 2.0……目前的最新版本是VB 2010 測試版。
Visual 意為可視的、可見的,指的是開發像Windows操作系統的圖形用戶界面(Graphic User Interface,GUI)的方法,它與其他編程軟體不同的是不需要編寫大量代碼去描述界面元素的外觀和位置,只要把預先建立好的對象拖放到屏幕上相應的位置即可。應該說,這是一次質的飛躍,是一次編程技術的革命。
Basic 實際上是一個短語的縮寫,這個短語就是 Beginners' All-Purpose Symbolic Instruction Code ,其中文意思為「初學者通用符號指令代碼」。
Visual Basic 6 有學習版、專業版和企業版三種版本,以滿足不同的開發需要。學習版適用於普通學習者及大多數使用 Visual Basic 開發一般 Windows 應用程序的人員;專業版適用於計算機專業開發人員,包括了學習版的全部內容功能以及Internet控制項開發工具之類的高級特性;企業版除包含專業版全部的內容外,還有自動化構件管理器等工具,使得專業編程人員能夠開發功能強大的組骨子裡分布式應用程序。
隨著版本的提高,Visual Basic的功能也越來越強。自從5.0版,Visual Basic 推出了中文版,與前個版本相比,其功能有了很大提升。
但是,功能再強大,Visual Basic 仍然有一個缺點:在沒有MSVBVM**.DLL的計算機上必須安裝所需的DLL文件(同樣Visual C++在沒有MSVCRT*.DLL情況下亦無法運行)。不過在Windows 2000之後,這個DLL就被預置到操作系統中了,一般來說,程序如果只使用了VB內部的控制項和對象,基本上不會有太大的問題。
在21世紀初,Microsoft 公司推出 Visual Studio .NET 2003,它與 Visual Basic 之間有了重大變化,Visual Studio 為各種編程工具做了一個平台,Visual Basic.NET 可在這種平台上運行。相對於傳統VB,有很大的不同。VB .Net首次使用.Net構架進行可視化編程,並且能很好地與COM構架兼容,Visual Studio .NET 2003 應用 .NET Framework 1.1 。
2005年 Visual Studio 2005 則運用了 NET 2.0 的技術,更加的方便了程序員的工作。可是新的程序對系統配置要求也較高,需要微軟.Net Framework 2.0以上的.Net構架支持。
2007年12月,微軟(Microsoft)推出了Visual Studio 2008 Beta 2 發生了重大的變化(見附圖)在代碼輸入的時候,可以比VB2005快很多,在非特殊的情況下,VB2008都會自動開啟 自動完成關鍵字 這個命令 而且支持最新的 .NET Framework 3.5 SP1 Beta
編輯本段
由VB派生的語言
微軟開發了一系列有關VB的腳本語言:
Visual Basic for Applications,即VBA,包含在微軟的應用程序中(比如Microsoft Office),以及類似WordPerfect Office這樣第三方的產品裡面。VBA這樣嵌入在各種應用程序中看起來有些矛盾,但是它的功能和VB一樣強大。
VBScript是ASP的默認語言,還可以用在Windows腳本編寫(Shell Script)和網頁編碼(HTML)中。盡管它的語法類似於VB,但是它卻是一種完全不同的語言。VBS不使用VB運行庫運行,而是由Windows腳本宿主(wscript.exe - Microsoft Windows Based Script Host)解釋執行。這兩種語言之中的不同點影響ASP網站的表現。
當微軟准備開發一種新的編程工具的時候,第一決定就是利用最搶手的 VB6 來進行修改,或者就是重新組建工程開發新工具。微軟後來開發了VB的繼任者Visual Basic .NET,同時也是.NET平台的一部分。VB.NET編程語言是一種真正的面向對象編程語言(VB4-VB6 只能稱為基於對象而不是面向對象,最明顯的特徵就是 VB4-VB6 都不支持類的繼承),和傳統 Visual Basic 並不完全兼容。[2]
編輯本段
VB編程語言歷史
Visual Basic從1991年誕生以來,現在已經18年了。BASIC是微軟的起家產品,微軟當然不忘了這位功臣。隨著每一次微軟技術的浪潮,Visual Basic都會隨之獲得新生。可以預見,將來無論微軟又發明了什麼技術或平台,Visual Basic一定會首先以新的姿態登上去的。如果你想緊跟微軟,永遠在最新的技術上最快速地開發,你就應該選擇Visual Basic。
1991-西雅圖夜空的雷電
隨著 Windows 3.0 的推出,越來越多的開發商對這個圖形界面的操作系統產生了興趣,大量的Windows應用程序開始涌現。但是,Windows 程序的開發相對於傳統的DOS有很大的不同,開發者必須將很多精力放在開發GUI上,這讓很多希望學習Windows開發的人員卻步。1991年,微軟公司展示了一個叫Thunder的產品,所有的開發者都驚呆了,它竟然可以用滑鼠「畫」出所需的用戶界面,然後用簡單的BASIC語言編寫業務邏輯,就生成一個完整的應用程序。這種全新的「Visual」的開發就像雷電(Thunder)一樣,給Windows開發人員開辟了新的天地。這個產品最終被定名為Visual Basic,採用事件驅動,Quick BASIC的語法和可視化的IDE。Visual Basic 1.0帶來的最新的開發體驗就是事件驅動,它不同於傳統的過程式開發。同時,VBX控制項讓可視化組件的概念進入Visual Basic。Visual Basic 1.0是革命性的BASIC,它的誕生也是VB史上的一段佳話。
Visual Basic 1.0
1992-漸入佳境的Visual Basic
由於Windows 3.1的推出,Windows已經充分獲得了用戶的認可,Windows開發也進入一個新的時代。Visual Basic 1.0的功能過於簡單,相對於Windows 3.1的強大功能沒有發揮出來。所以,微軟在1992年推出了新版本Visual Basic 2.0。這個版本最大的改進就是加入了對象型變數,比如
Dim b As CommandButton
Dim c As Control
而且有了最原始的「繼承」概念,對象型變數分為一般類型(Control和Form)和專有類型(CommandButton和Form1等),一般類型的變數可以引用專有類型的實例,甚至通過後期綁定訪問專有類型的屬性和方法。還可以通過TypeOf…Is運算符獲取對象實例的運行時類型信息(這個功能就是當今C#的is運算符或Java的instanceof運算符)。除了對語言的改進和擴充,Visual Basic 2.0對VBX有了很好的支持,許多第三方控制項涌現出來,極大地豐富了Visual Basic的功能。微軟還為Visual Basic 2.0增加了OLE和簡單的數據訪問功能。
Visual Basic 2.0標准版
Visual Basic 2.0專業版
1993-資料庫組件新添力量
Visual Basic 2.0推出沒幾個月,微軟就發布了新版本的Visual Basic 3.0,可以看出VB這時候旺盛的生命力。乍一看,Visual Basic 3.0的界面沒有太大的變化,但其實這個版本是非常及時的。它增加了最新的ODBC2.0的支持,Jet數據引擎的支持和新版本OLE的支持。最吸引人的地方是它對資料庫的支持大大增強了,Grid控制項和數據控制項能夠創建出色的數據窗口應用程序,而Jet引擎讓Visual Basic能對最新的Access資料庫快速地訪問。Visual Basic 3.0還增加了許多新的金融函數。此外還增加了相當多的專業級控制項,可以開發出相當水平的Windows應用程序。Visual Basic 3.0是98年以前中國最流行的Visual Basic版本,因為它開發出來的可執行文件非常小,通常能用一張軟盤裝下。不過,Visual Basic採用虛擬機運行P代碼的做法也讓很多開發者不滿,他們認為這樣程序運行的效率很低,這時候Visual Basic的競爭者Delphi也誕生了。
Visual Basic 3.0標准版
Visual Basic 3.0特別版
1995-第二次革命性變化,向COM進軍。
從1993年到1995年年中,Visual Basic一直沒有新的動靜,焦急的開發者都想一窺這個神秘的新版本到底發生了什麼變化。Visual Basic 4.0的BETA最後終於和大家見面了。這個版本包含了16位和32位兩個版本,16位的版本就像是Visual Basic 3.0的升級版,而32位版則是一場新的革命。首先,人們發現VBX控制項不見了,全部換成了OCX控制項,這個OCX可能是指OLE Custom Controls,這個OLE已經不是傳統的OLE了,用現在的話說,它就是COM控制項。第二個最大變化是Visual Basic 4.0所用的語言換成了Visual Basic For Application,這就和Office 95所採用的宏語言統一起來,這個新語言有很多亮點:
1、 加入了「類模塊」。這是面向對象最重要的封裝性的基礎。
2、 加入了屬性過程,加上函數過程,子程序過程,VB已經有組件開發所需的封裝性特徵。
3、 加入了Byte類型、Boolean類型和Object類型。這大大完善了VB的類型系統。
4、 For Each語句和Collection對象。For Each語句給遍歷集合類型提供了極大的方便,現在可以在動態增長的Collection上使用For Each,而不用擔心集合內容的總數或煩人的下標問題。
這個版本的Visual Basic還能夠開發DLL工程,其實就是COM的DLL,可以將書寫好的類用這種方式和其他語言共享。
總之,這個4.0的版本為Visual Basic成為一種COM語言奠定了基礎。用Visual Basic 4.0開發基於COM的DLL比任何一種開發工具都方便。但是,Visual Basic 4.0的性能問題變得更加嚴重了,P-代碼的組件成為Visual Basic 4.0嚴重的性能瓶頸,而且巨大的運行庫也讓用戶感到不滿。Visual Basic 4.0對以前版本的支持也不好,使用了大量VBX的項目很難移植到Visual Basic 4.0中。因此,Visual Basic 4.0在中國的普及程度非常低。
Visual Basic 4.0
1997-Visual Basic的豐收年
1997年,微軟推出了Visual Basic 5.0,這個版本的重要性幾乎和4.0一樣高。COM(這時候叫ActiveX)已經相當成熟,Visual Basic 5.0當然對它提供了最強的支持。不過,國內還沒有意識到COM的重要性前主要對這個版本另一個最大的亮點十分關註:本地代碼編譯器。Visual Basic 5.0終於在用戶的呼聲中加入了一個本地代碼編譯器,它可以讓應用程序的效率大大提升。除了這個大家都知道的改進以外,Visual Basic 5.0對Visual Basic For Application語言有重大的完善和豐富:
5、 事件。Visual Basic 5.0終於允許用戶自己創建事件,而且這事件的語法相當強健和完善,這在一種不支持函數回調的語言中是很難得的。現在,VB擁有屬性、方法和事件的完整封裝性。
6、 介面。這是VB實現多態性的基礎。同時為編寫COM組件提供了更多方便。
7、 枚舉。在Visual Basic 5.0中枚舉作為Long整型的子類型出現,用枚舉可以對常量進行完善的封裝。
8、 類模塊的改進。通過類模塊的屬性可以指定類模塊具有多種指定的行為,如私有構造函數等,可以通過這個功能創建符合Singleton和Monostate模式的設計。
9、 Debug.Assert。雖然這個斷言系統有點雞肋,但是總算是給調試帶來了方便。
10、 Visual Basic 5.0支持創建自己的集合類。可以創建用於For Each語句的集合類型。
11、新的數據類型Decimal,可以精確地處理有效數位較多的計算。
Visual Basic 5.0
Visual Basic 5.0的IDE支持「智能感知」,這是一項非常方便開發者的功能,可以不必記住很長的成員名稱和關鍵字,只要按「.」,想要的東西統統彈出來。
Visual Basic 5.0還支持開發自己的ActiveX 控制項、進程內的COM DLL組件、進程外的COM EXE組件以及在瀏覽器中運行的ActiveX文檔。這極大豐富了Visual Basic的開發能力,在Internet開發上,Visual Basic 5.0也能有所建樹。
Visual Basic 6.0
1998-企業真正高效的源泉
Visual Basic 6.0作為Visual Studio 6.0的一員發布,證明微軟正在改變Visual Basic的產品定位,他想讓Visual Basic成為企業級快速開發的利器。Visual Basic 6.0在數據訪問方面有了很大的改進,新的ADO組件讓對大量數據快速訪問成為可能。數據環境和新的報表功能也讓數據開發有了全新的體驗。Visual Basic 藉助COM/COM+強大的功能,可以開發具有N層結構的分布式應用程序。同時,Visual Basic還可以在IIS上開發性能超群的Web應用程序。Visual Basic 6.0在語言方面和IDE方面的改進都不大,但是許多新增的組件成為Visual Basic開發人員手中的利器,如File System Object等。新的字元串函數Split和Replace等也給Visual Basic的程序員帶來很大方便。
總之Visual Basic 6.0已經是非常成熟穩定的開發系統,能讓企業快速建立多層的系統以及Web應用程序,成為當前 Windows 上最流行的 Visual Basic 版本。
Visual Basic.NET 2002
2002-第三次革命性變化,向.NET進軍
從1998年發布到2002年正式推出Visual Basic. NET簡直吊足了開發者的胃口。從2000年就開始傳言的具有繼承、Try…Catch語句等新功能的全新VB7.0一直沒有露面。直到2001年,Visual Studio.NET的第一個BETA版問世的時候,所有人都呆了——這是Visual Basic嗎?And語句變成了BitAnd,數組只能從0下標開始,而且連Dim語句的意義都變了,幾乎所有的窗體控制項都變了,Long變成了Integer而Integer變成了Short,Variant不見了,Static不能用了……簡直是翻天覆地,人們已經無暇關注這個版本有什麼改進,轉而擔心我怎麼才能接受這個版本了。其實Visual Basic. NET完全是為了.NET Framework這一全新的平台而設計的,Visual Basic. NET的設計者一開始沒有掌握好新平台和舊語言的平衡。到了BETA2中,很多東西回歸了6.0,如BitAnd又變回了And,數組的定義語句也變回了原有的意義,Static也回到了Visual Basic中。但是BETA1驚人的變化讓所有的VB開發者怕了,他們覺得這種語言被改的千瘡百孔,有些人乾脆轉去研究傳說中的新語言C#。但是Visual Basic. NET渡過幾個BETA版本之後還是找到了正確的定位。Visual Basic. NET有對CLR最完善的支持,同時盡量保留著BASIC易懂的語法風格和易用性。這個版本新增加的功能已經數不清,最重要的幾個是:
1、 繼承。至此,Visual Basic完成了向面向對象轉變的道路。
2、 共享成員。
3、 Try…Catch結構化異常處理。
4、 Delegate和Interface。
5、 名稱空間。
6、 對自由線程的支持。
特別的是,Visual Basic. NET大大減少了Visual Basic語言的關鍵字,如GoSub、PSet等等。原先的Visual Basic有多達120個關鍵字,這給寫程序帶來了很大的不便,現在經過精簡,Visual Basic脫下了這個沉重的包袱。
Visual Basic. NET現在是一門現代的、強壯的、面向對象的、簡單的可視化開發語言。強大的語言功能吸引了很多開發者。歷史是在不斷重演的,Visual Basic. NET如今的處境和Visual Basic 4.0很相似,由於兼容性變差,人氣也降低了。同時由於依附於.NET Framework,程序發布造成了一定的困難。現在國內使用Visual Basic. NET的人相對於Visual Basic 6.0來講顯得很少。但是憑借Visual Basic. NET強大的語言功能和MS的支持,Visual Basic. NET一定會顯出它的光輝來。
Visual Basic.NET 2003
2003-穩中求變的新版本
Visual Basic. NET 2003是一個相當穩重的版本,改變很少,但對小處有很多改進。首先Visual Basic 6.0升級向導做了很大改進,這給從老版本痛苦升級的人帶來了更多一些的希望。其次在IDE方面,Visual Basic. NET 2003修正了許多錯誤,還讓事件處理恢復了6.0的開發體驗。語言方面只有兩項改進:
1、 在For、For Each語句中聲明循環變數。
2、 增加了數學移位運算符<<和>>。
在這個比較成熟穩定的新版本下,許多Visual Basic的愛好和開始重新了解Visual Basic. NET,社區裡面也漸漸熱鬧起來。但是,有些使用C#的開發者堅持認為Visual Basic. NET是垃圾,盡管Visual Basic. NET擁有比C#更多的功能和更好的IDE。這說明不了解Visual Basic. NET成為它普及的最大障礙。
Visual Basic .NET 2005
2005-完美主義的Visual Basic,能否再現輝煌?
為了讓Visual Basic有最佳的開發體驗,Visual Basic 2005的設計者絞盡了腦汁。這次Visual Basic 2005光語言上的改進就足以讓Visual Basic的開發人員高興一陣子。大家可以去看看我那篇介紹Visual Basic 2005新增功能的貼子。挑重要的列在下邊:
1、 泛型
2、 運算符重載
3、 Partial Type
4、 窗體的默認實例(讓你用VB6的語法使用窗體)
5、 語法的多種改進
6、My關鍵字
現在用Visual Basic 2005隻要一行代碼就可以讀寫注冊表、訪問文件、讀寫串口、獲取應用程序信息…… 用Visual Basic 2005完全可以稱作享受開發。而泛型、運算符重載等功能又可以讓Visual Basic的開發人員深入.NET Framework的全部功能,開發出最優秀的應用程序。
Visual Basic.NET 2008
2008-功能極強且最易用的 Visual Basic
新版本的VB2008 具有下列新功能和加強功能
1、Language-integrated query: 可以讓使用者在VB2008中進行資料查詢。
2、物件關聯式設計工具會協助開發人員建立和編輯,使應用程序連接至資料庫的 link to sql 類別。
Visual Basic.NET 2010
Microsoft 今年 10 月宣布正式命名下一代開發平台和工具為 Microsoft .NET Framework 4.0 以及 Visual Studio 2010。Visual Studio 2010 先前代號 dev10,包含 Microsoft 最新的開發平台創新和擴展。
在該平台上的新增功能。
1、數組初始值設定項。
2、集合初始值設定項。
3、內聯 Lambda 表達式。
4、自動實現屬性。
5、泛化。
6、No-PIA 部署。
7、與 Python 的集成。
8、並行計算擴展。
編輯本段
VB的特點
1.面向對象
VB採用了面向對象設計思想,它基本思路是把復雜的設計問題分解為多個能夠完成獨立功能且相對簡單的對象集合。所謂「對象」就是個可操作實體如窗體、窗體中命令按鈕、標簽、文本框等,面向對象編程就是指程序員可根據界面設計要求直接在界面上設計出窗口、菜單、按鈕等類型對象並為每個對象設置屬性。
2.事件驅動
在Windows環境下是以事件驅動方式運行每個對象的都能響應多個區別事件,每個事件都能驅動段代碼事件過程,該代碼決定了對象功能。通常稱這種機制為事件驅動的編程機制。可由用戶操作觸發也可以由系統或應用觸發例如單擊個命令按鈕就觸發了按鈕Click(單擊)事件該事件中代碼就會被執行,若用戶未進行任何操作(未觸發事件)則就處於等待狀態整個應用就是由彼此獨立事件過程構成。
3.軟體Software集成式開發
VB為編程提供了個集成開發環境在這個環境中編程者可設計界面、編寫代碼、調試直至把應
用編譯成可在Windows中運行可執行文件並為它生成安裝VB集成開發環境為編程者提供了很大方便
4.結構化設計語言
VB具有豐富數據類型是種符合結構化設計思想語言而且簡單易學此外作為種設計語言VB還有
許多獨到的處
5.強大數據庫訪問功能
VB利用數據Control控制項可以訪問多種資料庫VB 6.O提供ADOControl控制項不但可以用最少代
碼實現資料庫操作和控制也可以取代DataControl控制項和RDOControl控制項
6.支持對象鏈接和嵌入技術
VB核心是對對象鏈接和嵌入(OLE)技術支持它是訪問所有對象種思路方法利用OLE技術能夠開
發集聲音、圖像、動畫、字處理、Web等對象於一體的功能強大的軟體
7.網路功能
VB 6.0提供了DltTML(Dynamic}tTML)設計工具利用這種技術可以動態創建和編輯Web頁面使
用戶在VB中開發多功能網路應用軟體Software
8.多個應用向導
VB提供了多種向導如應用向導、安裝向導、數據對象向導和數據窗體向導通過它們可以快速
地創建區別類型、區別功能應用
9.支持動態交換、動態鏈接技術.
通過動態數據交換(DDE)編程技術VB開發應用能和其他Windows應用的間建立數據通信通過動態
鏈接庫技術在VB中可方便地用C語言或匯編語言編寫也可Windows應用介面(.API)
lO.聯機幫助功能
在VB中利用幫助菜單和F1功能鍵用戶可隨時方便地得到所需要幫助信息VB幫助窗口中顯示了有