<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    以文本方式查看主題

    -  曙海教育集團(tuán)論壇  (http://www.hufushizhe.com/bbs/index.asp)
    --  DSP2000技術(shù)討論  (http://www.hufushizhe.com/bbs/list.asp?boardid=27)
    ----  從Visual Basic到Visual Basic .Net  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=27&id=2788)

    --  作者:wangxinxin
    --  發(fā)布時(shí)間:2010-12-22 10:42:59
    --  從Visual Basic到Visual Basic .Net
    在上個(gè)世紀(jì)九十年代初期,面向Windows編程還是一項(xiàng)非常煩瑣的工作,當(dāng)時(shí)Borland C++是開發(fā)Windows應(yīng)用程序最流行的開發(fā)工具。用Borland C++編寫Windows程序是一個(gè)復(fù)雜的工作,即使創(chuàng)建一個(gè)Windows窗體都需要花費(fèi)很多的時(shí)間和精力,更不用說程序中的很多功能實(shí)現(xiàn)了。自從微軟公司推出了Viusal Basic 1.0,其中的可視化編程的思想,徹底改變了當(dāng)時(shí)很多程序員的思路,可視化編程大大簡化了程序員設(shè)計(jì)用戶界面設(shè)計(jì),使得程序員更多關(guān)注程序的功能的實(shí)現(xiàn),同時(shí)也為快速編程帶來了可能,降低成為程序員的門檻,為更多的人加入程序員的行列帶來了機(jī)會(huì)。從此看似“頭痛”的編程和“枯燥乏味”的程序員生活開始變得有那么一點(diǎn)“令人喜愛了”。
      Visual Basic成功了,其實(shí)成功的是其中的可視化編程思想。隨著Visual Basic擁有了最大開發(fā)群體,其缺點(diǎn)也就顯現(xiàn)出來。首先Visual Basic作為一種解釋性的語言,不僅程序執(zhí)行速度慢,并且在分發(fā)應(yīng)用程序時(shí),還需要帶上解釋庫;其次雖然Visual Basic號(hào)稱是OOP(面向?qū)ο蟮拈_發(fā)語言),但實(shí)際上它只能算是一種面向過程的開發(fā)語言。人們越來越希望有一個(gè)能夠克服上述缺點(diǎn)的、新的Visual Basic出現(xiàn)。但這個(gè)愿望直到2002年初才得以實(shí)現(xiàn),微軟公司推出了Visual Basic的后繼版本——Visual Basic .Net,Visual Basic .Net做為Visual Basic 6.0的下一個(gè)版本,首先保留Visual Basic原有的優(yōu)點(diǎn),并且改進(jìn)了Visual Basic中原有的不足,同時(shí)還增加了很多新的功能。于是Visual Basic .Net一推出就引起了全球程序員的討論,并吸引了全球Visual Basic程序員的視線,并促使很多Visual Basic程序員轉(zhuǎn)而學(xué)習(xí)Visual Basic .Net。

    一、為什么要從Visual Basic升級(jí)到Visual Basic .Net
      雖然Visual Basic得到了很多開發(fā)人員的認(rèn)可,并且也有許多產(chǎn)品都提供了Visual Basic相配套的接口,但依然無法掩蓋Visual Basic的缺點(diǎn),而這些缺點(diǎn)在Visual Basic .Net中是根本不存在的。并且Visual Basic .Net做為下一代的Visual Basic語言,它首先是一種為開發(fā).Net平臺(tái)應(yīng)用程序而度身定做的程序語言。因?yàn)閂isual Basic .Net中完全集成了.Net FrameWork(.Net框架)和CLR(Common Language Runtime,即:公共語言運(yùn)行時(shí))。同時(shí).Net 框架和公共語言運(yùn)行時(shí)又共同提供Visual Basic .Net語言互操作性、垃圾資源回收、可靠安全性和版本改進(jìn)的支持。通過Visual Basic .Net能夠簡便、快捷地創(chuàng)建.Net平臺(tái)應(yīng)用程序、XML Web services 和 ASP.NET Web 應(yīng)用程序。Visual Basic .Net做為開發(fā).Net平臺(tái)的程序語言,那它就為開發(fā)現(xiàn)跨平臺(tái)程序創(chuàng)造了可能。因?yàn)槲覀冎,微軟推?Net,其目的之一就是實(shí)現(xiàn)跨平臺(tái)。雖然目前微軟只提供了在Windows平臺(tái)上運(yùn)行的.Net框架,還無法實(shí)現(xiàn)真正意義上的跨平臺(tái),但隨著MONO的出現(xiàn)(雖然它還存在很多問題,并且目前的MONO只為C#提供支持),但可以預(yù)見的是在不久的將來,Visual Basic .Net實(shí)現(xiàn)Write Once And Run AnyWhere的時(shí)間不會(huì)太久。
      Visual Basic .Net同時(shí)是一種編譯性的語言,雖然這種編譯語言和以前接觸的傳統(tǒng)的編譯語言有所區(qū)別。因?yàn)榻?jīng)過Visual Basic .Net編譯器編譯后得到文件并不是可以在計(jì)算機(jī)直接運(yùn)行的二進(jìn)制文件。它的性質(zhì)是一種IL文件(中間語言文件)。在運(yùn)行IL文件時(shí),首先是通過CLR下的JIT(即時(shí)編譯器),把這種IL文件再編譯成二進(jìn)制文件。我們看到的程序運(yùn)行,其實(shí)是經(jīng)過JIT編譯后的二進(jìn)制文件在執(zhí)行。這時(shí)可能有很多朋友會(huì)問,這種二次編譯是否多此一舉,具體實(shí)現(xiàn)中是否很麻煩,是否會(huì)影響程序的運(yùn)行速度?二次編譯的確是影響了程序運(yùn)行的速度,但它卻為實(shí)現(xiàn)跨平臺(tái)帶來了可能。其實(shí)JIT即時(shí)編譯器猶如Java中的JVM(Java虛擬機(jī))。JIT編譯器是CLR在.Net框架下自動(dòng)實(shí)現(xiàn)IL文件到二進(jìn)制文件轉(zhuǎn)變的,它是一種自動(dòng)完成的,并不需要人員的參與,所以它并不會(huì)給程序執(zhí)行帶來麻煩。

    二、Visual Basic和Visual Basic .Net的主要區(qū)別
      雖然說Visual Basic .Net是Visual Basic 6.0的后繼版本,Visual Basic .Net除了在語法上還保留Visual Basic原有的蹤影以外(二者幾乎在90%以上保持相似或相同),其實(shí)在其他很多方面,Visual Basic .Net都和Visual Basic截然不同。也許正是這些不同點(diǎn),才使得Visual Basic .Net功能更強(qiáng)大,更有生命力,但同樣也為Visual Basic程序員轉(zhuǎn)型為為Visual Basic .Net程序員帶來了困難。因?yàn)閂isual Basic .Net提出了很多新的功能、概念和觀點(diǎn),掌握Visual Basic .Net不僅要掌握語法,還需要理解并運(yùn)用這些新的功能、概念和觀點(diǎn)。當(dāng)然也需要掌握.Net框架,理解CLR。Visual Basic .Net都和Visual Basic有很大的差異,這里僅從數(shù)據(jù)訪問、Web開發(fā)和組件創(chuàng)建等三個(gè)主要方面談?wù)劧叩膮^(qū)別:

    1、數(shù)據(jù)訪問
      二者的不同點(diǎn)主要在:數(shù)據(jù)訪問技術(shù)、數(shù)據(jù)訪問具體實(shí)現(xiàn)方法和數(shù)據(jù)綁定上的不同。在數(shù)據(jù)訪問技術(shù)上,Visual Basic 6.0是通過ADO(Active X Data Object,即:Active X數(shù)據(jù)對象)來實(shí)現(xiàn)對數(shù)據(jù)庫訪問的。同時(shí)為了保證對早期版本的兼容,也提供RDO(遠(yuǎn)程數(shù)據(jù)對象)和DAO(數(shù)據(jù)訪問對象)二種數(shù)據(jù)訪問技術(shù)。在Visual Basic .Net中是使用ADO.NET來訪問數(shù)據(jù)庫,ADO.NET是.NET框架的一部分,其對應(yīng)的類庫是.Net FramWork SDK的真子集。ADO和ADO.NET這兩種技術(shù)在概念、功能和實(shí)現(xiàn)上都有許多差異。由于篇幅所限,這里就不一一介紹了。雖然Visual Basic .Net中也可以使用ADO來訪問數(shù)據(jù)庫,但ADO在Visual Basic .Net中是以COM組件的形式出現(xiàn)的,通過添加引用才可以在Visual Basic .Net中使用。添加引用的過程,其實(shí)就是對COM組件互操作。經(jīng)過互操作后的COM組件,已經(jīng)并非先前意義上的COM組件,而是轉(zhuǎn)變成可供Visual Basic .Net直接使用的.Net類庫。
      在數(shù)據(jù)訪問的具體實(shí)現(xiàn)方法上,Visual Basic 6.0實(shí)現(xiàn)數(shù)據(jù)訪問主要是兩種方法:其一是在程序設(shè)計(jì)階段,可通過把數(shù)據(jù)源綁定到ADODC控件或使用數(shù)據(jù)環(huán)境;其二在運(yùn)行時(shí),可以通過編程方式創(chuàng)建記錄集RecordSet對象并與記錄集對象交換數(shù)據(jù)。同樣在Visual Basic .Net中實(shí)現(xiàn)數(shù)據(jù)訪問的方法主要也是二種:其一是在程序設(shè)計(jì)階段,通過創(chuàng)建、配置數(shù)據(jù)適配器DataAdapter和生成數(shù)據(jù)集DataSet;其二在運(yùn)行中,通過編程方式動(dòng)態(tài)創(chuàng)建、配置數(shù)據(jù)適配器和創(chuàng)建、生成數(shù)據(jù)集。
      在數(shù)據(jù)綁定(Data Binding)上,在Visual Basic 6.0中實(shí)現(xiàn)數(shù)據(jù)綁定通過設(shè)置控件的下列屬性來實(shí)現(xiàn):DataChanged、DataField、DataFormat、DataMember 和 DataSource。通常是把控件的顯示屬性綁定到數(shù)據(jù)源中的相應(yīng)字段。在Visual Basic .Net中,數(shù)據(jù)綁定的應(yīng)用范圍可廣泛得多,Visual Basic .Net中可以將任何控件的任何屬性綁定到包含數(shù)據(jù)的任何結(jié)構(gòu)中。

    2、Web開發(fā)
      Visual Basic是使用Active Server Page(簡稱ASP)來創(chuàng)建在 Web應(yīng)用程序。在ASP中,編寫Web頁面并非純正的Visual Basic語言,而是Visual Basic腳本語言——VBScript。在Visual Basic .Net中是使用ASP.NET技術(shù)來編寫Web頁面。在ASP.NET中使用的也不再是腳本語言,而是真正意義編程語言,其中就可以是Visual Basic .Net。開發(fā)過ASP頁面的朋友都清楚,雖然編寫ASP頁面對開發(fā)工具要求很低,但由于其是面向過程式開發(fā),所以稍微復(fù)雜一點(diǎn)的ASP代碼都顯得雜亂無章,這都給程序設(shè)計(jì)、調(diào)試、修改帶來了麻煩。而Visual Basic .Net是建立在新的框架結(jié)構(gòu)上,Visual Basic .Net完全支持Web編程。憑借ASP.NET的Web 應(yīng)用程序、XML Web services等等基于Web上的功能,使得Visual Basic .Net開發(fā)Web 頁面與開發(fā)Windows編程很相似,Web頁面代碼也不顯得有條有理了。

    3、組件創(chuàng)建
      在使用Visual Basic 6.0和Visual Basic .Net編寫應(yīng)用程序時(shí),雖然都可以通過從工具箱中選擇組件,通過拖入方式在應(yīng)用程序中加入組件,但二者在實(shí)現(xiàn)機(jī)理上卻存在根本不同。在Visual Basic 6.0中,應(yīng)用程序中創(chuàng)建的組件全部是COM組件,即可在COM應(yīng)用程序中使用的ActiveX控件、ActiveX 類型的DLL 和 ActiveX類型的EXE。而在Visual Basic .Net中,向窗體中拖入的組件,都是基于繼承,從.Net框架提供的SDK中相應(yīng)的類繼承,經(jīng)過實(shí)例化后,通過添加功能才把組件加入到設(shè)計(jì)窗體中。就連Visual Basic .Net中的窗體Form的創(chuàng)建方法也是如此。這些過程都可以在Visual Basic .Net的源代碼中找到。Visual Basic .Net中使用的每一個(gè)組件都是從Component或Control基類派生出來的。

      當(dāng)然,Visual Basic和Visual Basic .Net之間遠(yuǎn)遠(yuǎn)不止紙屑,其他的如:Visual Basic 6.0 只提供單線程模式,并不支持多線程。而在Visual Basic .Net全面支持多線程。并且在Visual Basic .Net中還增加了結(jié)構(gòu)化異常處理等新的功能。
      最大的區(qū)別,同時(shí)也是最重要的是,Visual Basic .Net 還是一種真正的面向?qū)ο蟮拈_發(fā)語言,而Visual Basic只能算是面向過程的開發(fā)語言。在Visual Basic .Net中OO(面向?qū)ο螅┧枷胍呀?jīng)深入到語言中的任一角落,其實(shí)在Visual Basic .Net中創(chuàng)建的任一Windows組件,就是類經(jīng)過實(shí)例化得到的。Visual Basic .Net還增加了許多新功能和改進(jìn)功能,如繼承、接口和重載等,這些都使Visual Basic .Net成為功能強(qiáng)大的面向?qū)ο蟮木幊陶Z言。


    三、從Visual Basic升級(jí)到Visual Basic .Net一般實(shí)現(xiàn)步驟
      本文程序的編寫、測試和運(yùn)行環(huán)境配置是:

    1、視窗2000高級(jí)服務(wù)器版
    2、Visual Studio .Net 2002企業(yè)構(gòu)建版,.Net FrameWork SDK版本號(hào)3705
    3、Visual Basic 6.0

      Visual Studio .Net提供了用以實(shí)現(xiàn)從Visual Basic 6.0項(xiàng)目到Visual Basic .Net項(xiàng)目的升級(jí)向?qū),升?jí)向?qū)г谏?jí)過程中并不修改原Visual Basic 6.0 項(xiàng)目,而是根據(jù)原項(xiàng)目創(chuàng)建新的Visual Basic.Net項(xiàng)目。Visual Studio .Net升級(jí)向?qū)г赩isual Studio .Net標(biāo)準(zhǔn)版中沒有提供。在下面內(nèi)容中涉及到的Visual Basic .Net都是是企業(yè)構(gòu)建版。下面就來詳細(xì)介紹使用Visual Studio .Net中的升級(jí)向?qū)?jí)Visual Basic 6.0的項(xiàng)目的具體步驟。

    1、使用Visual Basic創(chuàng)建一個(gè)簡單的項(xiàng)目
    啟動(dòng)Visual Basic 6.0。
    選擇菜單【文件】|【新建項(xiàng)目】,彈出【新建工程】對話框。
    在【新建工程】對話框中選擇【標(biāo)準(zhǔn) EXE】后,單擊【確定】按鈕。
    從【工具箱】中拖入一個(gè)Button按鈕到設(shè)計(jì)窗體,此Button組件的名稱為“Command1”,拖入窗體后雙擊這個(gè)按鈕,從而進(jìn)入Command1組件的Click事件的代碼編輯界面。
    在Command1組件的Click事件中添加下列代碼,下列代碼的作用是彈出一個(gè)提示框:
    MsgBox ("這是Visual Basic 6.0創(chuàng)建的程序!")
    最后以缺省文件名稱“工程1.vbp”保存項(xiàng)目文件后,并單擊快捷鍵F5運(yùn)行程序,單擊程序中Command1按鈕后,得到如圖1所示的運(yùn)行界面:

     
    Visual Basic創(chuàng)建項(xiàng)目的運(yùn)行界面
    2、使用Visual Studio .Net中的升級(jí)向?qū)?jí)Visual Basic 6.0項(xiàng)目
      Visual Studio .Net升級(jí)向?qū)?shí)現(xiàn)從Visual Basic項(xiàng)目升級(jí)為Visual Basic .Net項(xiàng)目一般需要五個(gè)步驟。通過這五個(gè)步驟,一般都能夠成功實(shí)現(xiàn)從Visual Basic項(xiàng)目到Visual Basic. Net項(xiàng)目的轉(zhuǎn)換。以下就是使用Visual Basic .Net升級(jí)向?qū)?jí)上面創(chuàng)建的Visual Basic項(xiàng)目的具體步驟:

    啟動(dòng)Visual Basic .Net。
    單擊【文件】|【打開】|【項(xiàng)目】后,打開【打開項(xiàng)目】對話框。
    【打開項(xiàng)目】對話框進(jìn)入要升級(jí)的Visual Basic項(xiàng)目所在的目錄,選擇“工程1.vbp”文件后,單擊【確定】按鈕,則Visual Basic .Net會(huì)根據(jù)項(xiàng)目的特征自動(dòng)啟動(dòng)Visual Basic .Net升級(jí)向?qū)。并彈出升?jí)向?qū)У牡谝徊襟E的界面,具體如圖2所示:
     
    Visual Basic .Net升級(jí)向?qū)Ы缑嬷?br/>單擊圖2中的【下一步】菜單,進(jìn)入升級(jí)向?qū)У牡诙襟E,在此步驟中使用者可以選擇升級(jí)后的項(xiàng)目類型,具體如圖3所示:

    Visual Basic .Net升級(jí)向?qū)Ы缑嬷?br/>選擇完要升級(jí)項(xiàng)目類型后,單擊圖3中的【下一步】按鈕,進(jìn)入Visual Basic .Net升級(jí)向?qū)У谌襟E,具體如圖4所示,在此步驟中使用者可以選擇要升級(jí)項(xiàng)目所在的目錄。請注意,如果指定一個(gè)文件夾中包含文件,則會(huì)提示刪除此文件中所有文件。
    :Visual Basic .Net升級(jí)向?qū)Ы缑嬷?br/>指定要升級(jí)項(xiàng)目所在的目錄后,單擊圖4中的【下一步】按鈕,如果在指定的目錄中沒有要生成項(xiàng)目的文件夾,則向?qū)?huì)彈出提示框讓用戶在指定目錄中創(chuàng)建要生成的文件夾,具體創(chuàng)建升級(jí)項(xiàng)目所在的目錄提示框
    單擊圖5中的【確定】按鈕,則向?qū)?huì)創(chuàng)建指定的文件夾,并進(jìn)入升級(jí)的準(zhǔn)備階段,具體如:Visual Basic .Net升級(jí)向?qū)Ы缑嬷摹獪?zhǔn)備升級(jí)
    單擊圖6中【下一步】按鈕,則系統(tǒng)會(huì)根據(jù)原來Visual Basic項(xiàng)目和用戶的選項(xiàng),在指定文件夾中生成Visual Basic .Net的項(xiàng)目。具體如圖7所示:
    :Visual Basic .Net升級(jí)向?qū)Ы缑嬷濉_始升級(jí)
    當(dāng)升級(jí)完成后,升級(jí)成功得到的新項(xiàng)目將出現(xiàn)在解決方案資源管理器中,并在解決方案資源管理器中生成_UpgradeReport.htm文件記錄升級(jí)報(bào)告。升級(jí)報(bào)告如圖8所示:
    Visual Basic .Net升級(jí)向?qū)傻纳?jí)報(bào)告
    如果通過升級(jí)向?qū)Р荒軌蛘_實(shí)現(xiàn)Visual Basic .Net項(xiàng)目的升級(jí),則用戶需要查看升級(jí)報(bào)告。修復(fù)報(bào)告中提到的所有錯(cuò)誤,以確保升級(jí)過程正確執(zhí)行。
    在確認(rèn)升級(jí)報(bào)告中沒有錯(cuò)誤和警告后,至此使用Visual Studio .Net升級(jí)向?qū)б呀?jīng)成功實(shí)現(xiàn)把Visual Basic項(xiàng)目升級(jí)為Visual Basic .Net項(xiàng)目。此時(shí)單擊快捷鍵F5運(yùn)行升級(jí)后的項(xiàng)目,并單擊運(yùn)行程序中的Command1按鈕,就可得到如圖9所示的界面:

    主站蜘蛛池模板: 亚洲图片中文字幕| 绝顶高潮videos| 成人小视频免费在线观看| 亚洲宅男天堂在线观看无病毒| 精品国产免费一区二区三区| 国产理论片在线观看| selao久久国产精品| 手机在线观看一级午夜片| 亚洲人成日本在线观看| 浪货一天不做就难受呀| 强奷乱码中文字幕| 亚洲伊人久久大香线蕉| 激情吃奶吻胸免费视频xxxx| 国产久视频观看| 1819sextub欧美中国| 大胸年轻的搜子4理论| 久久久久夜夜夜精品国产| 狂野黑人性猛交xxxxxx| 国产精品无码久久综合网| 丝袜高跟浓精受孕h文| 日本三级香港三级国产三级| 亚洲日本国产乱码va在线观看| 男男全肉高h视频在线观看| 国产人妖xxxx做受视频| 黑人xxxx日本| 国产视频xxx| 一区二区三区在线| 日韩毛片免费在线观看| 亚洲精品91在线| 男人添女人下部高潮全视频| 国产乱淫a∨片免费视频| 黄色欧美视频在线观看| 国产色综合天天综合网| 一本一本久久a久久综合精品蜜桃| 无限看片在线版免费视频大全| 亚洲人成电影在线观看青青| 欧美日韩亚洲国产一区二区三区 | 乱色美www女麻豆| 樱桃视频影院在线播放| 亚洲精品无码av人在线观看| 特级无码毛片免费视频|