微軟 Visual Basic V6.0 SP6 "二合一" 繁體中文/英文企業正式版 軟體簡介: 微軟VisualBasicV6.0SP6"二合一"繁體中文/英文企業正式版 VisualBasic6.0SP6大企業集成安裝版已集成官方SP6升級包,安裝完即可使用。 VisualBasic(VB)是一種由微軟公司開發的包含協助開發環境的事件驅動編程語言。 從任何標準來說,VB都是世界上使用人數最多的語言——不僅是盛讚VB的開發者還是抱 怨VB的開發者的數量。它源自於BASIC編程語言。VB擁有圖形用戶介面(GUI)和快速 應用程式開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連接資料庫,或者輕鬆的 創建ActiveX控制項。程式師可以輕鬆的使用VB提供的元件快速建立一個應用程式。 發展歷史 1991年,微軟公司推出了VisualBasic1.0版。這在當時引起了很大的轟動。這個連 接編程語言和用戶介面的進步被稱為Tripod(有些時候叫做Ruby),最初的設計是由 阿蘭‧庫珀(AlanCooper)完成的。許多專家把VB的出現當做是軟體發展史上的一個 具有劃時代意義的事件。其實,以我們現在的目光來看,VB1.0的功能實在是太弱了; (不過最近VB6.0,VB.NET的功能相當大!)。但在當時,它是第一個“可視”的編程軟 體。這使得程式師欣喜之極,都嘗試在VB的平臺上進行軟體創作。微軟也不失時機地在 四年內接連推出VB2.0,VB3.0,4.0三個版本。並且從VB3開始,微軟將ACCESS的資料庫 驅動集成到了VB中,這使得VB的資料庫編程能力大大提高。從VB4開始,VB也引入了面向 物件的程式設計思想。VB功能強大,學習簡單。而且,VB還引入了“控制項”的概念,使 得大量已經編好的VB程式可以被我們直接拿來使用。VB1.0的DOS版本VB1.0於1991年發佈。 這個連接編程語言和用戶介面的進步被稱為Tripod(有些時候叫做Ruby),最初的設計 是由阿蘭‧庫珀(AlanCooper)完成的 2002年VisualBasic.NET2002(v7.0)問世,2003年VisualBasic.NET2003(v7.1)問 世,2005年11月7日VisualBasic2005(v8.0)問世,同時間推出VisualBasic2005的免 費簡化版本VisualBasic2005ExpressEdition給VisualBasic初學者及學生使用。 VB2005的“顯著”優點是,可以直接編寫出XP風格的按鈕,以及其他的控制項。但是其編寫 的小程式佔用近10MB的記憶體。 通過幾年的發展,它已成為一種專業化的開發語言和環境。用戶可用VisualBasic快速創建 Windows程式,現在還可以編寫企業水準的用戶端/伺服器程式及強大的資料庫應用程式。 VB會吸引更多的讚譽和批評,也會繼續為廣大的用戶和程式師使用。它非常適合用來開發擁 有友好介面的程式(比如針對終端的資料),但是不適合開發其他程式(比如聯合計算程式)。 語言特性 一個典型的VB進程VB的中心思想就是要便於程式師使用,無論是新手或者專家。VB使用了可以 簡單建立應用程式的GUI系統,但是又可以開發相當複雜的程式。VB的程式是一種基於表單的 視覺化元件安排的聯合,並且增加代碼來指定組建的屬性和方法。因為默認的屬性和方法已經 有一部分定義在了元件內,所以程式師不用寫多少代碼就可以完成一個簡單的程式。過去的版 本裏面VB程式的性能問題一直被放在了桌面上,但是隨著電腦速度的飛速增加,關於性能的爭 論已經越來越少。 表單控制項的增加和改變可以用拖放技術實現。一個排列滿控制項的工具箱用來顯示可用控制 項(比如文本框或者按鈕)。每個控制項都有自己的屬性和事件。默認的屬性值會在控制項創 建的時候提供,但是程式師也可以進行更改。很多的屬性值可以在運行時候隨著用戶的動作和 修改進行改動,這樣就形成了一個動態的程式。舉個例子來說:表單的大小改變事件中加入了 可以改變控制項位置的代碼,在運行時候每當用戶更改視窗大小,控制項也會隨之改變位置。 在文本框中的文字改變事件中加入相應的代碼,程式就能夠在文字輸入的時候自動翻譯或者阻 止某些字元的輸入。 VB的程式可以包含一個或多個表單,或者是一個主表單和多個子表單,類似於作業系統的樣子。 有很少功能的對話方塊視窗(比如沒有最大化和最小化按鈕的表單)可以用來提供彈出功能。 VB的元件既可以擁有用戶介面,也可以沒有。這樣一來伺服器端程式就可以處理增加的模組。 VB使用參數計算的方法來進行垃圾收集,這個方法中包含有大量的物件,提供基本的面向物件 支援。因為越來越多組建的出現,程式師可以選用自己需要的擴展庫。和有些語言不一樣,VB 對大小寫不敏感,但是能自動轉換關鍵字到標準的大小寫狀態,以及強制使得符號表入口的實 體的變數名稱遵循書寫規則。默認情況下字串的比較是對大小寫敏感的,但是可以關閉這個功能。 VB使得大量的外界控制項有了自己的生存空間。大量的第三方控制項針對VB提供。VB也提供了 建立、使用和重用這些控制項的方法,但是由於語言問題,從一個應用程式創建另外一個並不 簡單。 術語 在討論VisualBasic時,經常可以聽到以下這些術語,因此對這些術語的基本理解十分有幫助。 控制項——簡單的說,控制項就是構成或者說建造VisualBasic應用程式的圖形化工具,包括表單、 按鈕、核取方塊、列表框、資料控制項、表格控制項和圖片控制項等等...。 事件——由用戶或作業系統引發的動作。事件的示例有擊鍵、單擊滑鼠(Click)、雙擊滑鼠(DblClick)、 一段時間的限制,或從埠接收資料。 方法——嵌入在物件定義中的程式碼,它定義物件怎樣處理資訊並回應某事件。例如,資料庫物件有 打開紀錄集並從一個記錄移動到另一個記錄的方法程式的基本元素,它含有定義其特徵的屬性,定 義其任務和識別它可以回應的事件的方法。控制項和表單是VisualBasic中所有物件的示例。 物件——一個控制項、表單等都可被看作一個物件。 過程——為完成某些特定的任務而編寫的代碼段,過程通常用於回應特定的事件,也可以當作應用程 式的用戶自定義函數來使用。 屬性——屬性是組成用戶介面的各物件的性質的具體描述。例如上述“物件”中所提到的尺寸、位置、 顏色、寬度、高度等等都稱為控制項的屬性。屬性決定物件的外觀,有時也決定物件的行為。物 件的屬性絕大部分是VB中已經事先定義好的,但也有的屬性是需要在應用過程中才去定義的。屬 性即可為物件提供資料,也能從物件取回資訊。 VB的局限性 繼承。VB5和VB6都是面向物件的編程語言,但是不包含繼承特性。VB中提供了特殊的類的功能,但 是還是不能滿足程式師的需求。VB.net包含了所有面向物件的特性。 多線程支持(VB.Net2002以及之後的版本,都支援多線程技術。) 異常處理。VB.net中使用了Try-Catch-Finally來處理異常。而VB中只有"OnErrorGotoline"語句。 對指針的支持非常有限。 VB只能支援8到32位元的整形,很多語言都有無限制的支援。 VB不允許在任何陣列記憶體在不變的變數。 VB不支援以上特性,程式師需要自己建構方法來實現相似的功能。 爭議 反對觀點: VB是一種充滿了爭議的語言:很多程式師對VB程式的品質有強烈的感受。很多人認為VB不配他們使用, 認為它是一種給兒童和菜鳥程式師的語言。它自從設計開始就是一種簡單的語言。一些C++和Java中 的特性在VB中並沒有出現。在感受開發的方便和快速的同時,一些類似于編譯時進行類型和聲明檢查 的功能在默認情況下是關閉的。這樣一些程式師一邊感歎VB的易用性,一般沮喪地地看著一些類似于“ 未定義類型”錯誤的發生。 一些批評家認為VB的簡單特性使得其在未來具有傷害性。很多人自學了VB,但是並沒有學到好的編程 習慣。當VB進入課堂的時候,學生們不會學到很多基礎的程式技術和結構,因為很多技術已經包含在 那些對用戶可見的元件裏面了。不用學習標準的編程習慣,因為VB具有視覺化的特性,所以導致了一 些莫名其妙的代碼的產生。而且很多錯誤和警告的檢查默認情況下都是關閉的,程式師很難找到隱藏 的錯誤。有經驗的程式師在用VB編程的時候都會把這些選項打開。 很多批評家批評微軟簡單地拷貝了BASIC的思想到VB中。著名的電腦科學家EdsgerDijkstra說過一句 名言:“如果一個學生最早學過BASIC,那麼幾乎不可能讓他學會優秀的編程:因為這些人已經放棄了 涅磐的希望。”(Dijkstra對待Fortran、PL/1、COBOL和APL同樣也毫不留情。) 另外一個笑話是:“真正的程式師不用BASIC。12歲以下的孩子才用。” 並不是非常簡便,它開發的程式只能運行在MicrosoftWindows中。 個頭太大了。VisualStudio要用好幾張盤才能裝下。VB程式在運行時候還需要一個1.4M大小的運行庫。 IDE中有錯誤。 VB不能很好的綜合Windows的基礎API,很多時候要使用低級運算的“小伎倆”來進行編程。而C語言的低 級記憶體運算比VB的要簡單得多。 支持觀點: 但是很多VB的支持者解釋說VB的易用性就是它最大的優勢,可以讓經驗豐富的VB程式師或是剛剛懂得 皮毛的人都能用自己的方式快速開發程式。而且VB的程式可以非常簡單的和資料庫連接。比如利用控 制項可以綁定資料庫,這樣一來用VB寫出的程式就可以掌握資料庫的所有資訊而不用寫一行代碼。 很多語言的特性比如GoSub、OnError和用變數名字的最後一個字元判斷聲明類型(比如字串型str$) 都是從VB中來的。VB的語法和絕大部分語言都不同,可能會讓新的程式師混淆。比如聲明“Dima,b,cAsInteger” 聲明了c為整形變數,但是a、b都是Variant類型的。{這兒我說明一下,如果想申明3個Integer,必須 寫DimaasInteger,bAsInteg