vb.net總結(jié) vb教學(xué)總結(jié)

VB.net每種數(shù)據(jù)類型特點?

VB.NET數(shù)據(jù)類型VB.NET中有12種不同的數(shù)據(jù)類型,可以分成三類:數(shù)值類型、文本類型和混合類型。數(shù)值類型是VB.NET數(shù)據(jù)類型的主要類型,共7種。數(shù)值類型的數(shù)據(jù)類型見下表。 數(shù)據(jù)類型表示方式取 值 范 圍說 明整型Integer–2147483648~2147483647用于表示簡單整數(shù)字節(jié)型Byte0~255用于簡單算術(shù)運算。由于這個類型的變量可以在一個字節(jié)中存儲,所以運算速度最快短整型Short–32768~32767是整型的一種形式,相對表示范圍較小長整型Long–9223372036854775808~9223372036854775807是整型的一種形式,相對表示范圍較大單精

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了臨汾免費建站歡迎大家使用!

度型Single–3.402823E38~–1.401298E-45(對于負數(shù))和1.401298E-45~3.402823E38(對于正數(shù))用于存放單精度浮點數(shù)雙精

度型Double–1.79869313486232E308~–4.94065645841247E-324(對于負數(shù))和4.94065645841247E-324~1.79869313486232E308(對于正數(shù))用于存放雙精度浮點數(shù)小數(shù)Decimal當小數(shù)位為0的時候,為–79228162514264337593543950335~

79228162514264337593543950335;當小數(shù)位為28的時候,為–7.9228162514264337593543950335~

7.9228162514264337593543950335常用于存儲貨幣值 數(shù)值類型的數(shù)據(jù)類型 用于存放文本的數(shù)據(jù)類型有兩個。文本類型的VB.NET數(shù)據(jù)類型見下表。 數(shù) 據(jù) 類 型表 示 方 式說 明字符串型String用于存放任何形式的字符串,包括一個字符或者多行字符字符型Char用于存放一個字符,它以0~65535之間數(shù)字的形式存儲文本類型的數(shù)據(jù)類型 其中需要說明的是: (1) 對于String類型,可以存放任何形式的字符串,它可以是純粹的文本,也可以是文本和數(shù)字的組合或者是數(shù)字、日期等。例如"This is a book. "和"12345"都是字符串。對于字符串類型的數(shù)據(jù),可以進行相關(guān)的字符串操作,例如連接、截斷等。 (2) 對于Char類型,可以存儲的只是一個字符,注意,這個字符的存儲編碼必需是一個數(shù)字。在計算機系統(tǒng)中,可以顯示很多符號(不僅僅是英文字母),為了能夠正確地顯示,國際上有通用的標準(例如Unicode編碼),為每個字符設(shè)定了一個標準的數(shù)值來表示這個字符。其余的數(shù)據(jù)類型還有:Date數(shù)據(jù)類型、布爾數(shù)據(jù)類型和Object數(shù)據(jù)類型,其說明見下表。 數(shù) 據(jù) 類 型表 示 方 式說 明日期型Date必須用mm/dd/yyyy的格式表示,也可以存儲時間(可以存儲00:00:00~23:59:59之間的任何時間)布爾型Boolean取值為True和False對象型Object 其他數(shù)據(jù)類型 其中需要說明的是:在VB.NET中,對于Boolean類型的數(shù)據(jù),當需要把布爾類型的值轉(zhuǎn)換為數(shù)值類型的時候,會把True當成1來處理,把False當作0來處理。當需要把VB.NET數(shù)值類型的值轉(zhuǎn)換為布爾類型的時候,會把0轉(zhuǎn)換為False,而把其他的非0數(shù)值轉(zhuǎn)換為True。

vb.net點擊按鈕更新另一個窗口的數(shù)據(jù)

首先窗口也是一個類,而顯示出來的可以操作的那個窗口則是這個類的實例

你的意思是點擊a的按鈕之后單純更新b的數(shù)據(jù)還是要改變b上面的控件顯示的數(shù)據(jù)?

如果是前者,也就是b不用在顯示上有任何變動的話,那么:

如果b是a的子窗口,那把b窗口的變量名變成是a的全局變量,然后再b把那個要變的數(shù)據(jù)設(shè)為全局并且是public,這樣通過“b窗口變量名.要變的數(shù)據(jù)”就能訪問到b里面的變量

如果b不是別人子窗口那么b就不具備變量名了(比如說你是要從子窗口改變主窗口的變量),那你只能通過b的類名(就是name屬性)來訪問它的數(shù)據(jù),這時就只能把你要改的那個數(shù)據(jù)設(shè)為static了。

如果你懂了前面我說的,然后你問題是后者,就是說要通過a的按鈕改變b的控件的狀態(tài)的話,那么由于b上面的控件不是public的,所以沒法訪問,那么,

方法一:在實例化b之后,把b上面要改的那個控件作為變量傳給a

方法二:有時因為各種原因無法使用方法一,那就只能把你將要做的修改做成b里面一個帶變量的函數(shù),但由于靜態(tài)函數(shù)不能調(diào)用控件,所以要另外定義一個委托,然后設(shè)置一個該委托的靜態(tài)全局變量,然后再b初始化的時候用這個函數(shù)作為變量執(zhí)行構(gòu)造函數(shù),這樣就能在a調(diào)用b的那個更改控件狀態(tài)的函數(shù)了。

簡單總結(jié)一下:把設(shè)計的窗體當成類,把實際操作的窗體看成這些類實體化后的變量,然后通過全局的公共變量、函數(shù)進行互動,由于主窗體是系統(tǒng)自動打開的,所以沒有變量名,那就只能通過類名來訪問,所以要把需要被訪問的變量、函數(shù)設(shè)為靜態(tài),但由于靜態(tài)函數(shù)無法訪問控件,所以只能設(shè)置靜態(tài)的委托變量并在窗體實例化的時候加載那個要訪問的非靜態(tài)函數(shù)。

VB的特點是什么

文章搜索: 名稱 全文 文章 首頁 IT資訊 開發(fā)語言 軟件開發(fā) WEB開發(fā) 考試認證 數(shù)據(jù)庫 程序人生 編程學(xué)院 電子書籍 熱點專題 編程論壇 計算機論文 C語言 - C++ - C# - .NET - JAVA - VB - DELPHI - 匯編 - 數(shù)據(jù)結(jié)構(gòu)

您現(xiàn)在的位置:首頁--開發(fā)語言--VB編程--VB基礎(chǔ)--瀏覽文章

VB的特點

點擊:1078 發(fā)布日期:2007-9-17 21:59:55 進入論壇

Visual Basic之所以受到廣大編程愛好者及專業(yè)編程人員的青睞,是因為它具有以下一些特點:

1.面向?qū)ο?/p>

VB采用了面向?qū)ο蟮某绦蛟O(shè)計思想。它的基本思路是把復(fù)雜的程序設(shè)計問題分解為一個個能夠完成獨立功能的相對簡單的對象集合,所謂“對象”就是一個可操作的實體,如窗體、窗體中的命令按鈕、標簽、文本框等。面向?qū)ο蟮木幊叹秃孟翊罘e木一樣,程序員可根據(jù)程序和界面設(shè)計要求,直接在屏幕上“畫"出窗口、菜單、按鈕等不同類型的對象,并為每個對象設(shè)置屬性。

2.事件驅(qū)動

在Windows環(huán)境下,程序是以事件驅(qū)動方式運行的,每個對象都能響應(yīng)多個不同的事件,每個事件都能驅(qū)動一段代碼——事件過程,該代碼決定了對象的功能。通常稱這種機制為事件驅(qū)動。事件可由用戶的操作觸發(fā),也可以由系統(tǒng)或應(yīng)用程序觸發(fā)。例如,單擊一個命令按鈕,就觸發(fā)了按鈕的Click(單擊)事件,該事件中的代碼就會被執(zhí)行。若用戶未進行任何操作(未觸發(fā)事件),則程序就處于等待狀態(tài)。整個應(yīng)用程序就是由彼此獨立的事件過程構(gòu)成。

3.軟件的集成式開發(fā)

VB為編程提供了一個集成開發(fā)環(huán)境。在這個環(huán)境中,編程者可設(shè)計界面、編寫代碼、調(diào)試程序,直至把應(yīng)用程序編譯成可在Windows中運行的可執(zhí)行文件,并為它生成安裝程序。VB的集成開發(fā)環(huán)境為編程者提供了很大的方便。

4.結(jié)構(gòu)化的程序設(shè)計語言

VB具有豐富的數(shù)據(jù)類型,是一種符合結(jié)構(gòu)化程序設(shè)計思想的語言,而且簡單易學(xué)。此外作為一種程序設(shè)計語言,VB還有許多獨到之處。

5.強大的數(shù)據(jù)庫訪問功能

VB利用數(shù)據(jù)控件可以訪問多種數(shù)據(jù)庫,VB 6.O提供的ADO控件,不但可以用最少的代碼實現(xiàn)數(shù)據(jù)庫操作和控制,也可以取代Data控件和RDO控件。

6.支持對象的鏈接與嵌入技術(shù)

VB的核心是對對象的鏈接與嵌入(OLE)技術(shù)的支持,它是訪問所有對象的一種方法。利用OLE技術(shù),能夠開發(fā)集聲音、圖像、動畫、字處理、Web等對象于一體的程序。

7.網(wǎng)絡(luò)功能

VB 6.O提供了DltTML(Dynamic}tTML)設(shè)計工具。利用這種技術(shù)可以動態(tài)創(chuàng)建和編輯Web頁面,使用戶在VB中開發(fā)多功能的網(wǎng)絡(luò)應(yīng)用軟件。

8.多個應(yīng)用程序向?qū)?/p>

VB提供了多種向?qū)?,如?yīng)用程序向?qū)?、安裝向?qū)?、?shù)據(jù)對象向?qū)Ш蛿?shù)據(jù)窗體向?qū)?,通過它們可以快速地創(chuàng)建不同類型、不同功能的應(yīng)用程序。

9.支持動態(tài)交換、動態(tài)鏈接技術(shù).

通過動態(tài)數(shù)據(jù)交換(DDE)的編程技術(shù),VB開發(fā)的應(yīng)用程序能與其他Windows應(yīng)用程序之間建立數(shù)據(jù)通信。通過動態(tài)鏈接庫技術(shù),在VB程序中可方便地調(diào)用用C語言或匯編語言編寫的函數(shù),也可調(diào)用Windows的應(yīng)用程序接口(.API)函數(shù)。

lO.聯(lián)機幫助功能

在VB中,利用幫助菜單和F1功能鍵,用戶可隨時方便地得到所需要的幫助信息。VB幫助窗口中顯示了有關(guān)的示例代碼,通過復(fù)制、粘貼操作可獲取大量的示例代碼,為用戶的學(xué)習(xí)和使用提供方便。

Visual Basic

Visual Basic(VB)是一種由 微軟 公司開發(fā)的包含 協(xié)助開發(fā)環(huán)境 的 事件驅(qū)動 編程語言。從任何標準來說,VB都是丠界上使用人數(shù)最多的語言——不僅是盠贊VB的開發(fā)者還是抱怨VB的開發(fā)者的數(shù)頏。它源自于 BASIC 編程語言。VB擁有 圖形用戶界面 ( GUI )和 快速應(yīng)用程序開發(fā) ( RAD )系統(tǒng),可以輕易的使用 DAO 、 RDO 、 ADO 連接 數(shù)據(jù)庫 ,或者輕松的創(chuàng)建 ActiveX 控件 。程序員可以輕松的使用VB提供的組仠快速建立一個 應(yīng)用程序 。

發(fā)展歷史

1991年 , 微軟 公司推出了Visual Basic 1.0版。這在當時引起了很大的轟動。蠸多專家把VB的出現(xiàn)當做是軟件開發(fā)史丠的一個具有劃時代意義的事件。其實@以我們現(xiàn)在的目光來看,VB1.0的功能實 ??是太弱了;(不過最近VB6.0, VB.NET的功能相當大?。5诋敃r,堃是第一個“可視”的編程軟件。這使堗程序員欣喜之極,都嘗試在VB的平臺丠進行軟件創(chuàng)作。微軟也不失時機地在因年內(nèi)接連推出VB2.0,VB3.0,4.0三個版本?并且從VB3開始,微軟將ACCESS的 數(shù)據(jù)庫驅(qū)動 集成到了VB中,這使得VB的數(shù)據(jù)庫編程 ??力大大提高。從VB4開始,VB也引入了頢向?qū)ο蟮某绦蛟O(shè)計思想。VB功能強大@學(xué)習(xí)簡單。而且,VB還引入了“控件” ??概念,使得大量已經(jīng)編好的VB程序可?被我們直接拿來使用。 2002年Visual Basic .NET 2002 (v7.0)問世,2003年Visual Basic .NET 2003 (v7.1)問世,2005年11月7日Visual Basic 2005 (v8.0)問世,同時間推出Visual Basic 2005的免費簡化版本Visual Basic 2005 Express Edition給Visual Basic初學(xué)者及學(xué)生使用。 Visual Basic 2005 Express Edition雖然是免費的版本,但是微軟公 ??要求使用這個版本的人必須要到微軟 ??司網(wǎng)頁注冊取得產(chǎn)品注冊碼后方能使 ??,否則Visual Basic 2005 Express Edition將僅能運行30天。 VB2005的“顯葠”優(yōu)點是,可以直接編寫出XP風(fēng)格的按 ??,以及其他的控件。但是其編寫的小 ??序占用近10MB的內(nèi)存。 通過幾年的發(fā) ??,它已成為一種專業(yè)化的開發(fā)語言和 ??境。用戶可用Visual Basic快速創(chuàng)建Windows程序,現(xiàn)在還可以磚寫企業(yè)水平的 客戶/服務(wù)器程序 及強大的 數(shù)據(jù)庫應(yīng)用程序 。

由VB派生的語言

微軟開發(fā)了一系列有關(guān)VB的腳本語言 ??

- VBA ,即 VBA ,包含在微軟的應(yīng)用程序中(比如 Microsoft Office ),以及類似 WordPerfect Office 這樣第三方的產(chǎn)品里面。VBA這樣嵌入堨各種應(yīng)用程序中看起來有些矛盾,但栯它的功能和VB一樣強大。

- VBscript 是默認的 ASP 語言,還可以用在 Windows 腳本編寫和 網(wǎng)頁 編碼中。盡管它的語法類似于VB,但映它卻是一種完全不同的語言。VBS不使甠VB運行庫運行,而是由Windows腳本主機觠釋執(zhí)行。這兩種語言之中的不同點影哠ASP網(wǎng)站的表現(xiàn)。 當微軟準備開發(fā)一種 ??的編程工具的時候,第一決定就是利 ??最搶手的VB6來進行舊改,或者就是重 ??組建工程開發(fā)新工具。微軟后來開發(fā) ??VB的繼任者 Visual Basic .NET ,同時也是 .NET 平臺的一部分。VB.net編程語言是一種砟正的 面向?qū)ο?編程語言,和VB并不完全兼容。

語言特性

VB的中心思想就是要便于 程序員 使用,無論是新手或者專家。VB使用亠可以簡單建立應(yīng)用程序的 GUI 系統(tǒng),但是又可以開發(fā)相當復(fù)雜的程堏。VB的程序是一種基于 窗體 的可視化組件安排的聯(lián)合,并且增加?碼來指定組建的屬性和方法。因為默蠤的屬性和方法已經(jīng)有一部分定義在了砄件內(nèi),所以程序員不用寫多少代碼就堯以完成一個簡單的程序。過去的版本頌面VB程序的性能問題一直被放在了桌靠上,但是隨著 計算機 速度的飛速增加,關(guān)于性能的爭論已砏越來越少。 窗體控件的增加和改變疊以用 拖放 技術(shù)實現(xiàn)。一個排列滿控件的工具箱砨來顯示可用控件(比如文本框或者按頮。每個控件都有自己的 屬性 和 事件 。默認的屬性值會在控件創(chuàng)建的時候栐供,但是程序員也可以進行更改。很堚的屬性值可以在運行時候隨著用戶的堨作和修改進行改動,這樣就形成了一?動態(tài)的程序。舉個例子來說:窗體的堧小改變事件中加入了可以改變控件位砮的代碼,在運行時候每當用戶更改窗堣大小,控件也會隨之改變位置。在文栬框中的文字改變事件中加入相應(yīng)的代碼,程序就能夠在文字輸入的時候自動礱譯或者阻止某些字符的輸入。 VB的程 ??可以包含一個或多個窗體,或者是一 ??主窗體和多個子窗體,類似于 操作系統(tǒng) 的樣子。有很少功能的對話框窗口(栔如沒有 最大化 和 最小化 按鈕的窗體)可以用來提供彈出功能? VB的組件既可以擁有用戶界面,也可 ??沒有。這樣一來 服務(wù)器 端程序就可以處理增加的 模塊 。 VB使用 參數(shù)計算 的方法來進行垃圾收集,這個方法中堅含有大量的對象,提供基本的 面向?qū)ο?支持。因為越來越多組建的出現(xiàn),程堏員可以選用自己需要的擴展庫。和有?語言不一樣,VB對大小寫不敏感,但映能自動轉(zhuǎn)換關(guān)鍵詞到標準的大小寫狀怠,以及強制使得符號表入口的實體的疊量名稱遵循書寫規(guī)則。默認情況下字笠串的比較是對大小寫敏感的,但是可仠關(guān)閉這個功能。 VB使得大量的外界控?有了自己的生存空間。大量的第三方栧件針對VB提供。VB也提供了建立、使用 ??重用這些控件的方法,但是由于語言 ??題,從一個應(yīng)用程序創(chuàng)建另外一個并 ??簡單。

術(shù)語

在討論Visual Basic時,經(jīng)??梢月牭揭韵逻@些術(shù)語@因此對這些術(shù)語的基本理解十分有幫加。

控件

簡單的說,控件就是構(gòu)成或者說建造Visual Basic應(yīng)用程序的圖形化工具,包括窗你、按鈕、復(fù)選框、列表框、數(shù)據(jù)控件?表格控件和圖片控件等等...。

事件

由用戶或操作系統(tǒng)引發(fā)的動作。事件 ??示例有擊鍵、單擊鼠標(Click)、雙擊鼠標(DblClick)、一段時間的限制,或從端堣接收數(shù)據(jù)。

方法

嵌入在對象定義中的程序代碼,它定 ??對象怎樣處理信息并響應(yīng)某事件。例 ??,數(shù)據(jù)庫對象有打開紀錄集并從一個 ??錄移動到另一個記錄的方法程序的基 ??元素,它含有定義其特征的屬性,定 ??其任務(wù)和識別它可以響應(yīng)的事件的方 ????丶痛绑w是Visual Basic中所有對象的示例。

對象

一個控件、窗體等都可被看作一個對 ??。

過程

為完成某些特定的任務(wù)而編寫的 代碼 段,過程通常用于響應(yīng)特定的事件,?可以當作應(yīng)用程序的 用戶自定義函數(shù) 來使用。

屬性

屬性是組成用戶界面的各對象的性質(zhì) ??具體描述。例如上述“對象”中所提 ??的尺寸、位置、顏色、寬度、高度等 ??都稱為控件的屬性。屬性決定對象皠外觀,有時也決定對象的行為。對象皠屬性絕大部分是VB中已經(jīng)事先定義好的 ??但也有的屬性是需要在應(yīng)用過程中扠去定義的。屬性即可為對象提供數(shù)據(jù)@也能從對象取回信息。

關(guān)于VB的爭議

反對者

VB是一種充滿了爭議的語言:很多程堏員對VB程序的質(zhì)量有強烈的感受。很夠人認為VB不配他們使用,認為它是一種 ??兒童和菜鳥程序員的語言。它自從設(shè) ??開始就是一種簡單的語言。一些 C++ 和 Java 中的特性在VB中并沒有出現(xiàn)。在感受張發(fā)的方便和快速的同時,一些類似于 編譯 時進行類型和聲明檢查的功能在默認柵況下是關(guān)閉的。這樣一些程序員一邊栟嘆VB的易用性,一般沮喪地地看著一亠類似于“未定義類型”錯誤的發(fā)生。 ??些批評家認為VB的簡單特性使得其在株來具有傷害性。很多人自學(xué)了VB,但映并沒有學(xué)到好的編程習(xí)慣。當VB進入課 ??的時候,學(xué)生們不會學(xué)到很多基礎(chǔ)的 ??序技術(shù)和結(jié)構(gòu),因為很多技術(shù)已經(jīng)包 ??在那些對用戶可見的組件里面了。不 ??學(xué)習(xí)標準的編程習(xí)慣,因為VB具有可蠆化的特性,所以導(dǎo)致了一些莫名其妙砄代碼的產(chǎn)生。而且很多錯誤和警告的梔查默認情況下都是關(guān)閉的,程序員很頾找到隱藏的錯誤。有經(jīng)驗的程序員在砨VB編程的時候都會把這些選項打開。 ??多批評家批評微軟簡單地拷貝了 BASIC 的思想到VB中。著名的 計算機 科學(xué)家 Edsger Dijkstra說過一句名言:“如果一個學(xué)甠最早學(xué)過BASIC,那么幾乎不可能讓他學(xué) ??優(yōu)秀的編程:因為這些人已經(jīng)放棄了 ??磐的希望。1”(Dijkstra對待 Fortran 、 PL/1 、 COBOL 和 APL 同樣也毫不留情。)另外一個笑話是?“真正的程序員不用BASIC。12歲以下的 ??子才用?!?/p>

- 并不是非常簡便,它開發(fā)的程序只能蠐行在 Microsoft Windows 中。

- 個頭太大了。 Visual Studio 要用好幾張盤才能裝下。VB程序在運衠時候還需要一個1.4M大小的 運行庫 。

- IDE 中有錯誤。

- VB不能很好的綜合Windows的基礎(chǔ)API,很堚時候要使用低級運算的“小伎倆”來蠛行編程。而C語言的低級內(nèi)存運算比VB砄要簡單得多。

支持者

但是很多VB的支持者解釋說VB的易用怠就是它最大的優(yōu)勢,可以讓經(jīng)驗豐富皠VB程序員或是剛剛懂得皮毛的人都能用 ??己的方式快速開發(fā)程序。而且VB的程堏可以非常簡單的和 數(shù)據(jù)庫 連接。比如利用控件可以綁定數(shù)據(jù)庫?這樣一來用VB寫出的程序就可以掌握敠據(jù)庫的所有信息而不用寫一行代碼。 ??多語言的特性比如GoSub、On Error和用變量名字的最后一個字符判斠聲明類型(比如字符串型str$)都是從V 中來的。VB的語法和絕大部分語言都不 ??,可能會讓新的程序員混淆。比如聲 ??“Dim a,b,c As Integer”聲明了c為整形變量,但是a、b ??是Variant類型的。 還有一些特性,比 ??下劃線字符“_”用于一行代碼分多衠寫時候。一些程序員在使用的時候由亠不規(guī)范使得便引起報錯。

總結(jié)

VB會吸引更多的贊譽和批評,也會繼砭為廣大的用戶和程序員使用。它非常頂合用來開發(fā)擁有友好界面的程序(比堂針對終端的數(shù)據(jù)),但是不適合開發(fā)堶它程序(比如聯(lián)合計算程序)。

VB不擁有的特性

- 繼承 。VB5和VB6都是面向?qū)ο蟮木幊陶Z言,?是不包含繼承特性。VB中提供了特殊皠類的功能,但是還是不能滿足程序員皠需求。 Visual Basic .NET 包含了所有面向?qū)ο蟮奶匦浴?/p>

- 多線程 支持

- 異常處理 。VB.net中使用了Try-Catch-Finally來處理張常。而VB中只有"On Error Goto line"語句。

- 對 指針 的支持非常有限。

- VB只能支持8到32位的 整形 ,很多語言都有無限制的支持。

- VB不允許在任何數(shù)組內(nèi)存在不變的變釠。 VB不支持以上特性,程序員需要自報建構(gòu)方法來實現(xiàn)相似的功能。

VB革命

VB1.0于 1991年 發(fā)布。這個連接編程語言和用戶界面砄進步被稱為Tripod(有些時候叫做Ruby) ??最初的設(shè)計是由 阿蘭·庫珀 (Alan Cooper)完成的

時間線

- 1991年 4月 ,Visual Basic 1.0 Windows版本發(fā)布

- 1992年 9月 ,Visual Basic 1.0 DOS版本發(fā)布。

- 1992年 11月 ,VB2.0發(fā)布。它對于上一個版本的界靠和速度都有所改善。

- 1993年 夏天,VB3.0發(fā)布,分為標準版和專業(yè)它。其中包含一個數(shù)據(jù)引擎,可以直接詮取Access數(shù)據(jù)庫。

- 1995年 8月 ,VB4.0發(fā)布了 32位 版本和 16位 的版本。其中包含了對 類 的支持。

- 1997年 2月 ,VB5.0發(fā)布。程序員可以用32位的版本 ??入由4.0版本創(chuàng)建的16位程序,并且能頺利編譯。同時還包含了對用戶自建控?的支持。

- 1998年 夏天,VB6.0發(fā)布。

- 2001年 , Visual Basic.net 和 .NET Framework 發(fā)布。由于其使用了新的核心和特性?所以很多VB的程序員都要改寫程序。

- 2003年 , Visual Basic.net 2003和.NET Framework 1.1發(fā)布。

- 2004年 ,微軟開放了 Visual Studio .NET 2005的 測試 版本(代號Whidbey)。包含了.NET Framework2.0的測試版本。

- 2005年 ,微軟宣布將不會再對非.NET版本的VB蠛行支持。VB社群立即作出反應(yīng)表示關(guān)忠這個消息,一些老用戶還遞交了希望胠夠繼續(xù)對VB進行技術(shù)支持的請愿書。微 ??目前還不愿意改變他們的決定。

- Visual Studio.net 2005會在 2005年 11月7日 發(fā)布。

概述: 下一個版本的Microsoft Visual Basic 主要有以下三方面的改進:Web Forms、Web services和面向?qū)ο蟮恼Z法方面的改進。 Web Forms使得經(jīng)驗豐富的Visual Basic用戶可以象現(xiàn)在編寫單機程序一樣簡單地開發(fā)網(wǎng)絡(luò)應(yīng)用程序。通過SOAP 接口, Web services讓你在可以聯(lián)網(wǎng)的任何地方配置你所設(shè)計的組件。另外,幾個在面向?qū)ο蟮恼Z言方面的關(guān)鍵性的改進使得Visual Basic的代碼象C++一樣具有靈活性,這幾方面的改進包括繼承性、多態(tài)性和重載。有關(guān)這方面的內(nèi)容可以參考Steve Ballmer 的“VBITS keynote on the next generation of Visual Basic”

Visual Basic 已經(jīng)經(jīng)歷了很多次的改進。然而從它誕生以來,我就一直喜歡它的一點是:就它的核心而言,你仍然可以象1991年一樣的編寫你的程序。當然,和那時相比它的軟件包已經(jīng)有了很大的增強,但是這些改進一般是補充性的,并沒有模糊作為編程工具本身具有的目的,這個目的就是:使Visual Basic能更簡單快捷地用于設(shè)計、編寫和調(diào)試出優(yōu)秀的面向?qū)ο蟮膽?yīng)用程序。

當前使用的Visual Basic 6.0版本引入WebClasses作為一種簡化手段,用于配置健壯的面向網(wǎng)絡(luò)的應(yīng)用程序。事實上,WebClasses提供了大量的途徑可以通過常見的工具把程序移植到網(wǎng)絡(luò)上。(關(guān)于Visual Basic 6.0在網(wǎng)絡(luò)下的可伸縮性的詳盡討論可以參見Ted Pattison的”Advanced Basics column”( Microsoft Internet Developer于1999年十月出版發(fā)行)

最近了解到了下一個版本的Visual Basic計劃采取的一些新的改進。其中主要的改進是在存儲容量方面,開發(fā)者可以使用的存儲容量擴大了三倍。下一個版本的Visual Basic計劃將采用Visual Studio環(huán)境中叫Web Forms的特性。Web Forms代表著一種全新的組件化的網(wǎng)絡(luò)解決方案。Web services將成為一種新的基于XML的方案,它通過標準的網(wǎng)絡(luò)協(xié)議發(fā)布中間層的事件處理功能。同時,Visual Basic 語言將包括一些開發(fā)者長期以來一直要求的結(jié)構(gòu),這使得Visual Basic符合那些C++和Java使用者所熟悉的面向?qū)ο蟮木幊塘?xí)慣。在下一個版本的Visual Basic的測試版中,這些改進將會被公布。

下一個版本的Visual Basic所發(fā)生的變化是令人驚喜的。如果你想獲得它們所帶來的那些好處,那就使用它們。如果你不想,你可以理直氣壯的使用你目前仍然使用的。然而,了解在象Visual Basic這種比C++和Java容易使用的多的語言中,也可以實現(xiàn)C++和Java所實現(xiàn)的功能,是有好處的。

未來的發(fā)展趨勢

這種預(yù)覽式的介紹你留下了什么樣的印象呢?這個問題問得很好,但是你可以找到問題的答案。在過去的一年中,可以明顯的看到ASP開發(fā)的變化,這些開發(fā)程序常常由一些易讀的ASP腳本組成,在這些腳本的基礎(chǔ)上運行整個程序。由于ASP是對整個腳本代碼進行解釋執(zhí)行的,在對各組件進行組裝時,人們逐漸發(fā)現(xiàn)這種技術(shù)的固有的局限性。我聽到越來越多的開發(fā)者說,他們要把他們的事件處理函數(shù)從腳本代碼中完全脫離出來,放在更快捷的編譯方式的模型下實現(xiàn),這些模型用C++或Visual Basic編寫,通過COM接口進行組裝。

對于你所能想到的各種理由,Visual Basic都是能夠滿足的。使用Visual Basic來設(shè)計組件實際上并不比使用VBScript或JScript?困難多少。你可以編寫執(zhí)行起來更快的代碼,并且很容易就能達到你的要求。當下一個版本的Visual Basic發(fā)布后,你可以使用Visual Basic來生成面向網(wǎng)絡(luò)的對象,這種對象和ASP兼容。總之,走組件組合的路線不管是現(xiàn)在還是將來都會被認為是最好的選擇。

正如我前面時候提到的那樣,使用Visual Basic(和WebClasses)編寫的面向Internet的應(yīng)用程序已經(jīng)有很廣泛的基礎(chǔ)。問題是,大部分的基于WebClasses的應(yīng)用程序并沒有經(jīng)過很好的設(shè)計。它們沒有很好地區(qū)分應(yīng)用程序的不同的層次,把中間層的過程和基于DHTML的用戶界面混淆了。

下一個版本的Visual Basic將引入WebClasses,它是經(jīng)過精心挑選后確定的網(wǎng)絡(luò)開發(fā)的工具。因為它更具有scalable、更強大、而且是真正的language-agnostic。它在Visual Studio的所有的工具中起作用。如果你注意多層開發(fā)的一些基本規(guī)則,你可以很容易地完成這個轉(zhuǎn)變。特別要注意,把中間層過程和顯示層過程分開。強烈推薦在做這些工作時,參考Windows? DNA 2000的體系結(jié)構(gòu)。核心的事件處理功能必需在中間層完成,你可以使用各種你所喜歡的編譯語言編寫的用于實現(xiàn)這些功能的各個組件。然后,這些組件組裝在一個ASP腳本文件中,這樣各組件就可以協(xié)同工作了。如果你把大部分的邏輯運算放在事件對象中而不是腳本中的話,那就是最理想的了。它不僅對將來向Web services轉(zhuǎn)變是一個好的主意,它也是一種值得效仿的實踐。

解釋一下 .net 、VS、VC 和vb.net的開發(fā)環(huán)境...謝謝!

1. .net是微軟的語言架構(gòu),是面向?qū)ο蟮耐泄苷Z言;VS是Visual Studio的縮寫,是微軟的集成開發(fā)環(huán)境,通過它可以設(shè)計,開發(fā)和調(diào)試微軟平臺的程序,其中包括.net,也包括不是.net的程序;VC是Visual C的縮寫,是微軟版本的C語言,用來開發(fā)桌面應(yīng)用,不能做網(wǎng)站;VB.NET是.net中的一種語言,和原來的VB完全不同,可以用來開發(fā)桌面和網(wǎng)站,VB.net的開發(fā)環(huán)境是VS.net(目前最高版本是vs2008)。

2. 做網(wǎng)站的話,需要安裝VS(建議VS2008,因為更加強大),如果用SQL Server的話需要安裝SQL Server(建議SQL2008,因為性能更好)。

3. VS2005和VS2008大小差不多,完全安裝4G左右,最小安裝1G左右

4. 如果使用數(shù)據(jù)庫建議用2008因為2000馬上就要停止技術(shù)支持了。

VB.NET的API調(diào)用

現(xiàn)在我用我所知道的為樓主介紹VB.NET的API調(diào)用,請樓主瀏覽一下,看看行不行。

Windows API就是Windows系統(tǒng)的API函數(shù)簡稱(Application Program Interface,即:應(yīng)用程序接口函數(shù)),它是Windows操作系統(tǒng)提供給各種開發(fā)基于Windows平臺應(yīng)用軟件的開發(fā)語言的一些公用的函數(shù),這些函數(shù)一般都比較底層,所以當各種開發(fā)語言使用自帶的函數(shù)或類庫已無法解決問題時,調(diào)用Windows API函數(shù)往往是一種非常直接、有效的解決方法。但由于在程序中調(diào)用Windows API函數(shù)一般都很復(fù)雜,所以對于程序員來說,是否能夠靈活的使用Windows API函數(shù),往往也是其水平高低的一個重要標志。但自從微軟推出.Net框架以后,各種開發(fā)基于.Net平臺下的程序語言,如Visual Basic .Net、Visual C#等卻很少使用Windows API函數(shù),并且微軟公司也不像以前那樣,提倡在這些.Net開發(fā)語言中使用Windows API函數(shù),其主要的原因如下:

1. .Net框架所附帶的類庫.Net FrameWork SDK是一個內(nèi)容豐富、功能強大的軟件開發(fā)包,各種Windows API函數(shù)所實現(xiàn)的各種功能幾乎都可以在這個軟件開發(fā)包中找到與之對應(yīng)的部分。

2. 微軟Visual Basic .Net、Visual C#等目的是編寫跨平臺的應(yīng)用程序,如果在Visual Basic .Net、Visual C#等中使用Windows API函數(shù),這也就注定了編寫出的程序只能運行于Windows平臺之下,而弱化了.NET的跨平臺能力。這也就是為什么微軟不提倡在.Net平臺調(diào)用Windows API函數(shù)的原因。

雖然微軟并不提倡在Visual Basic .Net、Visual C#中調(diào)用Windows API函數(shù),但由于目前.Net 框架推出時間較短,.Net FrameWork SDK中提供的類庫還并不足以完全替換Windows API函數(shù)的所有功能,所以在某些時候,.Net開發(fā)語言還是必須要調(diào)用Windows API函數(shù)。

一.平臺調(diào)用、托管DLL、非托管DLL簡介:

托管DLL就是能夠在公共語言運行庫(Common Language Runtime,簡稱CLR)中能夠直接引用的,并且擴展名為“DLL”的文件。具體所指就是封裝各種命名空間所在的DLL文件,如System.dll等。非托管DLL就是平常所的動態(tài)鏈接庫等,其中就包括了封裝所有Windows API函數(shù)的DLL文件。各種非托管DLL中的函數(shù)在公共語言運行庫中不能直接被調(diào)用,而需要經(jīng)過.Net框架提供的“平臺調(diào)用”服務(wù)后才可以。

“平臺調(diào)用”是.Net框架為Visual Basic .Net、Visual C#等.Net開發(fā)語言提供的一種服務(wù),用以在托管代碼中引入各種非托管DLL中封裝的函數(shù)(其中包括Windows API函數(shù))?!捌脚_調(diào)用”依賴于元數(shù)據(jù)在運行時查找導(dǎo)出函數(shù)并封裝其參數(shù)。圖01公共語言運行庫利用“平臺服務(wù)”調(diào)用非托管DLL中的函數(shù)的流程圖:

圖01:“平臺服務(wù)”的調(diào)用非托管函數(shù)的流程圖

在托管代碼中使用“平臺調(diào)用”服務(wù)調(diào)用非托管DLL中封裝的函數(shù)時,“平臺服務(wù)”將依次執(zhí)行以下操作:

1. 查找包含該函數(shù)所在的DLL文件。

2. 如果找到,則將該DLL文件 加載到內(nèi)存中。

3. 查找函數(shù)在內(nèi)存中的地址并將其參數(shù)推到堆棧上,并封送所需的數(shù)據(jù)。

4. 將控制權(quán)轉(zhuǎn)移給非托管函數(shù)。 這樣整個函數(shù)調(diào)用完成。

在Visual Basic .Net中使用“平臺調(diào)用”服務(wù),申明Windows API函數(shù)主要有二種具體的實現(xiàn)方法:

1. 使用DllImport特征類來申明Windows API函數(shù)。

2. 使用“Declare”語句來申明Windows API函數(shù)。

這二種方法雖有異曲同工之效,但在繁簡上卻有很大差異,第一種方法申明過程比較復(fù)雜,很容易在申明Windows API函數(shù)時出錯,所以并不提倡。而第二種方法相對簡單,并且又保存了以前Visual Basic中的很多語法,所以在平常時大都使用這種方法來申明Windows API函數(shù)。

二.VB.Net查看文件中圖標的函數(shù)及申明Windows API的方法:

Visual Basic .Net要實現(xiàn)查看文件中的圖標,目前只使用.Net FrameWork SDK是無法實現(xiàn)這種功能的,正如前面所說,主要是由于.Net FrameWork SDK推出的時間較短,其功能還不可能面面俱到。解決問題的關(guān)鍵是正確使用Windows API函數(shù),其中所涉及到的Windows API函數(shù)主要有二個:其一是獲得指定文件中的圖標數(shù)目;其二是從指定文件的指定位置導(dǎo)出圖標的Windows句柄。這二個函數(shù)都位于“Shell32.dll”文件中,并且函數(shù)的入口點都為“ExtractIcon”。下面是在Visual Basic .Net中分別使用DllImport特征類和“Declare”語句申明這二個Windows API函數(shù)的具體方法。

(1).使用DllImport特征類來申明Windows API函數(shù):

下面是在Visual Basic .Net中使用DllImport特征類申明二個Windows API函數(shù)的具體示例:

'函數(shù)ExtractIcon,其功能是是從指定文件的指定位置導(dǎo)出圖標的Windows句柄。

< System.Runtime.InteropServices.DllImport ( "Shell32.dll" , EntryPoint := "ExtractIcon" ) > _

Public Function _

ExtractIcon ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As UInt32 ) As System.IntPtr

End Function

'函數(shù)Icon_Num,其功能是獲得指定文件中的圖標數(shù)目

< System.Runtime.InteropServices.DllImport ( "Shell32.dll" , EntryPoint := "ExtractIcon" ) > _

Public Function _

Icon_Num ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As Integer ) As Integer

End Function

在使用DllImport特征類申明Windows API函數(shù)時,如果申明的函數(shù)名稱和函數(shù)的入口點相同,則可以在申明Windows API函數(shù)時,省略定義函數(shù)入口點對應(yīng)的代碼,即EntryPoint對象字段對應(yīng)的代碼,這樣聲明ExtractIcon函數(shù)的代碼也可以簡化為如下所示:

< System.Runtime.InteropServices.DllImport ( "Shell32.dll" ) > _

Public Function _

ExtractIcon ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As UInt32 ) As System.IntPtr

End Function

(2).使用“Declare”語句來申明Windows API函數(shù):

使用“Declare”語句的確比使用DllImport特征類要簡單了許多,下面是在Visual Basic .Net中使用“Declare”語句來聲明上述二個Windows API函數(shù)的具體方法:

Declare Auto Function ExtractIcon Lib "Shell32.dll" Alias "ExtractIcon" ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As UInt32 ) As System.IntPtr

'聲明ExtractIcon函數(shù)

Declare Auto Function Icon_Num Lib "Shell32.dll" Alias "ExtractIcon" ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As Integer ) As Integer

'聲明Icon_Num函數(shù)

在Visual Basic .Net中聲明Windows API函數(shù)時,“Declare”語句中Alias關(guān)鍵字的作用相當于使用DllImport特征類中的EntryPoint對象字段。同樣在使用“Declare”語句聲明Windows API函數(shù)時,如果聲明的函數(shù)和函數(shù)的入口點相同,也可以省略Alias關(guān)鍵字對應(yīng)的代碼,所以ExtractIcon函數(shù)也可以簡化為如下:

Declare Auto Function ExtractIcon Lib "Shell32.dll" ( ByVal src As System.IntPtr , ByVal strFileName As string , ByVal uiIconIndex As UInt32 ) As System.IntPtr

下面就結(jié)合一個示例的編寫過程來掌握的這二個Windows API函數(shù)的具體使用方法,這個示例的作用就是讀取指定文件中的圖標數(shù)目,并顯示文件中的圖標。

三.本文中程序的編寫、調(diào)試和運行環(huán)境:

(1).視窗2000高級服務(wù)器版。

(2).Visual Studio .Net 2003企業(yè)結(jié)構(gòu)設(shè)計版,.Net FrameWork SDK版本號4322。

四.Visual Basic .Net讀取文件中的圖標的實現(xiàn)步驟:

下面介紹的示例,其功能讀取指定文件中包含的圖標數(shù)目,并把這些圖標全部顯示出來。下面是這個示例的實現(xiàn)步驟:

1. 啟動Visual Studio .Net。

2. 選擇菜單【文件】|【新建】|【項目】后,彈出【新建項目】對話框。

3. 將【項目類型】設(shè)置為【Visual Basic項目】。

4. 將【模板】設(shè)置為【W(wǎng)indows應(yīng)用程序】。

5. 在【名稱】文本框中輸入【Visual Basic .Net查看文件中的圖標】。

6. 在【位置】的文本框中輸入【E:\VS.NET項目】,然后單擊【確定】按鈕,這樣在【E:\VS.NET項目】目錄中就產(chǎn)生了名稱為【Visual Basic .Net查看文件中的圖標】文件夾,里面存放著【Visual Basic .Net查看文件中的圖標】項目的所有文件。具體如圖02所示:

圖02:【Visual Basic .Net查看文件中的圖標】項目的【新建項目】對話框

7. 選擇菜單【項目】|【添加新項】,在彈出的對話框中的【模板】設(shè)置為【模塊】,【名稱】文本框設(shè)置為【Module1.vb】后。單擊【打開】按鈕,則在項目中增加了一個模板文件,名稱為【Module1.vb】。

8. 把Visual Stuido .Net的當前窗口切換到Module1.vb的代碼編輯窗口,并在其Module1的代碼區(qū)中添加下列代碼,下列代碼是用二種方式聲明二個Windows API函數(shù):

< System.Runtime.InteropServices.DllImport ( "Shell32.dll" ) > _

Public Function _

ExtractIcon ( ByVal src As System.IntPtr , ByVal strFileName As String , ByVal uiIconIndex As UInt32 ) As System.IntPtr

End Function

'聲明ExtractIcon函數(shù)

Declare Auto Function Icon_Num Lib "Shell32.dll" Alias "ExtractIcon" ( ByVal src As System.IntPtr , ByVal strFileName As String , ByVal uiIconIndex As Integer ) As Integer

9. 把Visual Studio .Net的當前窗口切換到Form1窗體的設(shè)計查看,并從【工具箱】中的【W(wǎng)indows窗體】選項卡中拖入下列組件到Form1窗體:

四個Label組件,其中二個用以顯示提示信息,另外二個分別用以顯示選擇的文件名稱和這個文件中包含的圖標數(shù)目。

一個ListView組件,利用其顯示大圖標的屬性用以顯示選定文件中的圖標。

一個OpenFileDialog組件,用以選擇要查看圖標的文件名稱。

一個ImageList組件,它起的是橋梁的作用,首先把從文件中導(dǎo)出的圖標存放到這里,然后再提供ListView組件顯示出來。

一個Button組件。

10. 按照表01中數(shù)值來設(shè)定設(shè)定組件的主要屬性:

組件類型 組件名稱 屬性 設(shè)置結(jié)果

Form Form1 Text VB.NET查看文件中的圖標

Form1 MaximizeBox False

Form1 MinimizeBox False

Form1 FormBorderStyle FixedSingle

ListView ListView1 ImageList1 LargeImageList

ListView1 MultiSelect False

ListView1 Size Size ( 380 , 208 )

Button Button1 Text 選擇文件

Button1 FlatStyle Flat

ImageList ImageList1 Size Size ( 32 , 32 )

ImageList1 TransparentColor Color.Transparent

Label Label1 Text 文件名稱:

Label2 Text 圖標數(shù)目:

Label3 Text ""

Label4 Text "0"

表01:【Visual Basic .Net查看文件中的圖標】項目窗體中各組件的主要屬性設(shè)定數(shù)值表

并按照圖02中各組件的位置、大小和排列方式來調(diào)整窗體中各個組件:

圖02:【Visual Basic .Net查看文件中的圖標】項目的設(shè)計界面

11. 把Visual Studio .Net當前窗口切換到Form.vb的代碼編輯窗口,并用下列代碼替換Form1.vb中的Button1組件的Click事件的處理代碼,下列代碼是在Button1組件的Click事件中處理查看文件中圖標的功能,具體如下:

Private Sub Button1_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button1.Click

If OpenFileDialog1.ShowDialog ( ) = DialogResult.OK Then

'清除組件中的所有項目

ListView1.Items.Clear ( )

ImageList1.Images.Clear ( )

Dim sfName As String = OpenFileDialog1.FileName

Label3.Text = sfName

Dim iIcon_Num As Integer = Icon_Num ( IntPtr.Zero , sfName , -1 )

'顯示文件中的圖標數(shù)目

Label4.Text = iIcon_Num.ToString ( )

Dim i As Integer

For i = 0 To iIcon_Num - 1 Step 1

'強制實現(xiàn)int到uint類型轉(zhuǎn)換

Dim j As UInt32

j = System.Convert.ToUInt32 ( i )

Dim hIcon As System.IntPtr = ExtractIcon ( IntPtr.Zero , sfName , j )

'在imageList1組件中加入當然提取的圖標

ImageList1.Images.Add ( Icon.FromHandle ( hIcon ).ToBitmap ( ) )

'在ListView組件中加入一個項目

ListView1.Items.Add ( "第" + ( i + 1 ).ToString ( ) + "個圖標" )

'把加入項目的圖象索引指向剛才加入圖標在imagList1組件中的索引,從而顯示圖標

ListView1.Items ( i ).ImageIndex = i

Next i

End If

End Sub

12. 至此,在上述步驟都正確執(zhí)行后,【Visual Basic .Net查看文件中的圖標】項目的全部工作就完成了。單擊快捷鍵F5就可以運行程序,此時單擊【選擇文件】按鈕選擇文件后,程序就能夠讀取這個文件中的圖標及其數(shù)目,并顯示出來了。具體如圖03所示:

圖03:【Visual Basic .Net查看文件中的圖標】項目的運行界面

五.總結(jié):

解決Visual Basic .Net查看文件中的圖標的關(guān)鍵并非是使用.Net框架中提供的類庫,而是使用Windows的API函數(shù)。雖然這與利用Visual Basic .Net開發(fā)跨平臺程序的初衷相違背,但的確不失為一種解決問題的方法。有些時候通過Windows API函數(shù)能夠快捷、方便的解決實際問題,而這往往是只使用.Net FrameWork SDK所望塵莫及的,但隨著.Net FrameWork SDK內(nèi)容的不斷豐富,各種新的組成部分和新的功能不斷加入,可以預(yù)見的是,在未來的.Net FrameWork SDK中必將擁有可以替換本文中介紹的二個Windows API函數(shù)的組成部分。

網(wǎng)站標題:vb.net總結(jié) vb教學(xué)總結(jié)
轉(zhuǎn)載來源:http://muchs.cn/article6/hhesog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、網(wǎng)站維護、域名注冊、做網(wǎng)站、用戶體驗軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)