新聞中心
怎么搭建一個vb.net環(huán)境
.NET 的環(huán)境只有一個,就是.NET Framework
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計服務(wù),網(wǎng)站設(shè)計,網(wǎng)站托管運營等一站式綜合服務(wù)型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競爭對手中脫穎而出創(chuàng)新互聯(lián)。
如果你是XP系統(tǒng)的話一般要安裝4.0版本
下載的軟件當然是visual studio;你可以使用visual studio2015,但是要注意開發(fā)時要選擇對應(yīng)的目標框架
只要在這里能看到.NET Franmework4.0就表示你安裝好了
如何用vb.net進行網(wǎng)站開發(fā)
打開VS?,?選擇VisualBasic?--?Web?--?ASP.NET?Web?應(yīng)用程序
如下圖:
VB.net 和C#.net 各有什么優(yōu)缺點
C#.net優(yōu)點:
運算符重載。不安全代碼(指針和固定內(nèi)存區(qū))、?無符號整數(shù)、移位運算。
VB的優(yōu)點:?
即時編譯、靜態(tài)事件綁定、條件異常捕獲、COM兼容類、寬松的類型檢查和變量聲明、Visual Basic Runtime庫、可選參數(shù)、帶參數(shù)屬性、模塊等語言特征、動態(tài)數(shù)組。
通過VB.NET開發(fā)好的程序絕對沒有問題(包括Direct X游戲開發(fā))。雖然VB.NET的資料少,但是只要C#支持的VB.NET都支持(大體上這樣,因為都要經(jīng)過MSIL中間環(huán)節(jié)。除了指針之類的VB.NET不支持C#支持,但是沒有多大實際用處)。
vb.net的資料以英文資料居多(只有英文資料才有看頭,中國的沒有什么好資料),得看看英文水平過不過關(guān)。還有VB.NET的ide也比C#的IDE好得多,代碼看得也舒服。(C#的大括號{}太煩人)。
至于VB6對C的幫助,只是理解上會容易一些,其它用處不大。有VB6的基礎(chǔ)學VBNET會方便一些,但是并不是會VB6就會VB.NET,它們差別也不小。
擴展資料:
NET、C#和ASP.NET之間的區(qū)別 :
1、NET是一個平臺,一個抽象的平臺的概念。
NET 平臺其本身實現(xiàn)的方式其實還是庫,抽象層面上來看是一個平臺。
基本可以理解的NET核心就是NETFramwork。
NETFramework包括兩個關(guān)鍵組成元素:
a. CommonLanguageRuntime,公共語言運行時(CLR0)-提供內(nèi)在管理,代碼安全性檢測等功能。
b. NETFrameworkClassLibrary,.NET 框架類庫(FLC)-提供大量應(yīng)用類庫,提高開發(fā)效率。
學習NET Framework 是所有.NET開發(fā)人員都必須的,否則開發(fā)NET程序永遠都是停留在‘外功’的招式,NETramework 是NET開發(fā)高手的‘內(nèi)功’修行之一。
2、C#是一個程序設(shè)計語言,僅僅是一個語言。
程序設(shè)計語言僅僅是為了方便開發(fā)人員和計算機溝通的工具,雖然 C#語法相對 C 和?C+要多一些,但是相對來看 C#語法都比較固定,這樣使用起來卻都很容易。我認可一位朋友說的,C#的語法更嚴謹!
這里回過來看看NET和C#的關(guān)系,不得不提的是NET程序的執(zhí)行過程。
C#符合NETCLR 中的公共語言運行規(guī)范。CLS:commonlanguagespecification,當然所有的NET Language 都是符合這個規(guī)范的例如:VB.NET、XAML 和 C++/CL等等。
C#需要符合NETCLS,是因為NETCLR和JAVA虛擬機類似,有一個中間語言共機器來執(zhí)行。所有不同語言的.NET代碼在執(zhí)行前會被編譯成同樣的中間語言(MSIL),所以所有NET 支持語言都必須符合符合CLS 規(guī)范。
P.S:如果做.NET3.0XAML開發(fā)的朋友,可以嘗試下ildasm.exe看看XAML的應(yīng)用程序,會發(fā)現(xiàn)原來 XAML其實很簡單。
3、ASP.NET是一個網(wǎng)站開發(fā)的技術(shù),僅僅是.NET框架中的一個應(yīng)用模型。
用微軟公司ASP.NET快速入門中的一句話來解釋,ASP.NET是用于生成基于Web的應(yīng)用程序的內(nèi)容豐富的編程框架。
ASP.net 和C#的區(qū)別:
編寫asp.net通常包括兩部分的代碼:網(wǎng)頁層和后臺處理層,網(wǎng)頁就是用標記語言來寫的,而網(wǎng)頁對應(yīng)的后臺處理程序則需要.net語言來完成,目前主要是采用c#和vb.net。
可以說整個的asp.net網(wǎng)站通過c#或者vb.net來實現(xiàn)。而c#則是ms .netframework的主要語言,可以用在網(wǎng)站,桌面應(yīng)用等方面。可以算是一種比較流行的編程語言。
用VB.NET為智能設(shè)備編寫半自動初始化類
一 引言 對于ncf(net精簡版的英文縮寫)開發(fā)人員 應(yīng)用程序選項保存一般只有兩種途徑選擇 將選項的值寫入注冊表 但如果所有應(yīng)用程序都將值大量寫入注冊表的做法最終將導致注冊表過大占用系統(tǒng)資源 而影響系統(tǒng)的運行效率 而且這就是很多軟件在硬啟設(shè)備之后不得不重新安裝的原因 根據(jù)現(xiàn)代程序編寫中 程序盡可能與系統(tǒng)獨立 的思想 這種做法不推薦使用 將選項值以一個初始化文件的方式保存 這樣做可以最大限度避免系統(tǒng)資源占用 提高程序運行獨立性 這種做法個人認為是較為可取的方案 并且這種做法完整版中實現(xiàn)非常簡單 可以直接用Xml序列化類來實現(xiàn) 但在專為智能移動設(shè)備定做的net精簡版中 由于不提供XML序列化屬性 使得保存和使用程序選項變得郁悶起來 程序開發(fā)人員不得不對每一個程序選項作寫入/讀取文件的編碼 這個枯燥無味的步驟絕對不會是一件有趣的事情 二 功能概述 本文中 我將利的反射功能 構(gòu)建一個自動完成初始化文件的保存/讀寫功能的類 在這個類中 只要程序作者在類內(nèi)部按程序選項的名稱定義好類的內(nèi)部成員變量(由于這個步驟仍然需要程序員進行類內(nèi)的手工編碼 所以稱這個類為半自動初始化類) 這個類就自動將程序選項從初始化文件中保存/讀取的工作 程序員不必再進行繁瑣的讀寫文件部分的編碼 而且 這個類的構(gòu)建還可以有一個好處 由于應(yīng)用程序的選項都以成員變量的形式保存在類的內(nèi)部 程序員可以利用VS提供的自動列出變量成員的功能查詢初始化文件的選項 例如這樣寫 string myAPPname= tobjAPPOption General APPName 據(jù)我所知 記住大量的程序選項的確切字符也不是什么好玩的事哦 ) 三 程序?qū)崿F(xiàn)先決條件分析 初始化文件內(nèi)容的需求我們首先分析觀察一個標準的windows初始化文件win ini內(nèi)容 [windows]load=run=NullPort=Nonedevice=HP LaserJet L PCL PCL EMS \\E A B \HPLaserJ [Desktop]Wallpaper=(無)TileWallpaper= WallpaperStyle= 該初始化文件的內(nèi)容用方括號括住的部分我們稱為初始化文件的節(jié) 每一節(jié)下都組織了一系列與節(jié)有相應(yīng)功能的程序選項 如desktop節(jié)下就含有桌面墻紙(Wallpaper)/桌面墻紙鋪設(shè)(WallpaperStyle)的設(shè)置 在初始化文件中程序的選項大都可以用字符串/數(shù)字這些簡單的數(shù)據(jù)類型進行保存 根據(jù)這一需求 考慮到目前中使用xml文件非常方便 而且使用xml格式除可實現(xiàn)常規(guī)windows初始化文件的功能外 還可以多出樹形結(jié)構(gòu)組織的優(yōu)勢 所以本文設(shè)計的初始化文件確定采用xml文件格式 并作以下格式的XML文件的元素定義 Net對象以XML元素保存使用的格式定義 Net對象的定義 Class ObjectName=對象名稱 ObjectType(數(shù)據(jù)類型)=數(shù)據(jù)類型 數(shù)據(jù)內(nèi)容 /數(shù)據(jù)類型 數(shù)組的定義 目前本類中實現(xiàn)的數(shù)組只支持string的一維數(shù)組 Array ObjectName=對象名稱 ObjectType=數(shù)據(jù)類型 Length=數(shù)組大小 元素定義/Array 如果數(shù)組數(shù)組為nothing則格式如下 Array ObjectName=對象名稱 ObjectType=數(shù)據(jù)類型 Length= nothing/Array 簡單對象的定義 int String等 SimpleObject ObjectName=對象名稱 ObjectType(數(shù)據(jù)類型)=數(shù)據(jù)類型 數(shù)據(jù)內(nèi)容 /數(shù)據(jù)類型 當SimpleObject代表數(shù)組內(nèi)的元素時 objectname代表數(shù)組的維數(shù) ObjectName ObjectType Lenght 屬性的使用舉例如下 例如Redim mai Test( ) As String ObjectName取值為mai Test ObjectType取值為string[] Length 值為
中有一種稱之為反射的功能 可以枚舉特定類型對象所包含的成員變量的類型及儲存值 這個功能經(jīng)常被一些普通程序員忽略 認為用途并不大 但在本文中 這一功能將成為構(gòu)建半自動化初始化對象的核心 我們正需要這種功能將寫在初始化類中的變量類型和值自動向初始化文件保存或讀取 需要使用的反向類型方法及說明如下表
四 程序?qū)崿F(xiàn)核心代碼注釋 我將這個半自動初始化文件類命名為clsAPPOption 類內(nèi)結(jié)構(gòu)及包含過程的功能說明如下 兩個區(qū)域#Region 應(yīng)用程序使用的選項結(jié)構(gòu)定義 #Region 應(yīng)用程序選項的變量聲明 中的內(nèi)容是按初始化選項級組織的類及類的實例 每一個類表示程序選項的一個初始化節(jié) 必須由最終使用者根據(jù)實際選項需要自行手工補充 fnGetAppDirectory:取得應(yīng)用程序的運行目錄 *** InitialDefaultAPPOption 設(shè)置程序選項的默認初始值(這個過程中的代碼需根據(jù)實際需要手工修改) fnSaveAppOption 將類內(nèi)的程序選項保存到一個指定的文件中 (這個過程中的部分代碼需根據(jù)實際需要手工修改)fnLoadAppOption 在指定的文件中讀取應(yīng)用程序的選項信息并保存到當前類中(這個過程中的部分代碼需根據(jù)實際需要手工修改) fnXMLElementToSimpleObject 將一個XMLElement轉(zhuǎn)為它代表的簡單對象 所謂簡單對象就是諸如int \int 之類的基本net對象 fnXMLElementToClassObject 將一個XMLElement轉(zhuǎn)換為它代表的類對象 fnXMLElementToArray 將一個XMLElement轉(zhuǎn)為它代表的數(shù)組 fnArrayToXML 將一個數(shù)組放入XML文件中 目前只支持一維數(shù)組 例如dim aString( ) as stringfnClassObjectToXML 將一個類對象轉(zhuǎn)換為xml元素的表示形式 fnSimpleObjectToXML 將一個簡單對象改為XML元素表示注 其中fnXMLElementToXXXX和fnXXXXToXML功能相對應(yīng) 互為反函數(shù) 程序的實現(xiàn)是非常簡單的 fnClassObjectToXML對指定的類進行反射操作 使用類的類型的GetFields方法枚舉類內(nèi)的成員變量信息 然后根據(jù)成員變量的類型調(diào)用fnSimpleObjectToXML或fnArrayToXML 在函數(shù)結(jié)束的時候 將要轉(zhuǎn)換的類以一個XMLElement對象的形式返回
tobjClassObjectType = ni_objClassObject GetType 取得類的類型 以利于反射調(diào)用
… 其它代碼REM 以結(jié)構(gòu)內(nèi)的所有值進行反射取值 并存入xml對象中
For Each tobjFieldInfo In tobjClassObjectType GetFieldsIf tobjFieldInfo FieldType IsArray = False Then 只是一個簡單類型 直接取得值tobjXMLElement = fnSimpleObjectToXML(tobjFieldInfo GetValue(ni_objClassObject) _ni_objXMLDocument _tobjFieldInfo Name)tobjXMLClassObjectElement AppendChild(tobjXMLElement)ElseREM 如果是一個數(shù)組類型 則進行數(shù)組方法的調(diào)用以取得值 目前只支持一維數(shù)組元素tobjXMLElement = fnArrayToXML(tobjFieldInfo GetValue(ni_objClassObject) ni_objXMLDocument tobjFieldInfo Name tobjFieldInfo FieldType FullName) 將數(shù)組對象放入結(jié)構(gòu)的xml對象中tobjXMLClassObjectElement AppendChild(tobjXMLElement)End If
fnSimpleObjectToXML的實現(xiàn)也很簡單 根據(jù)前文確立的簡單對象的定義 fnSimpleObjectToXML過程所要生成的xml對象的幾個要素可以這樣獲取 ObjectName在f nClassObjectToXML作反射后已經(jīng)獲取 并以參數(shù)傳遞的方式在調(diào)用fnSimpleObjectToXML時提供了 ObjectType數(shù)據(jù)類型則可以利用ni_objSimpleObject GetType FullName方法取得 ni_objSimpleObject就是在函數(shù)調(diào)用時傳入的簡單對象的值 在編寫fnArrayToXML過程時出現(xiàn)了一點小問題 由于調(diào)用方不可能要求數(shù)組的元素逐個傳入 所以對數(shù)組的元素個數(shù)以及元素的值無法在函數(shù)中以對象反射的方式直接獲取 幸運的是 在Net反射操作中 可以利用Invoke方法來調(diào)用原始對象內(nèi)的函數(shù)或?qū)傩赃^程 而數(shù)組的共享方法GetLength GetValue功能適好是取數(shù)組元素個數(shù)及指定下標的元素值 所以問題立刻迎刃而解
利用反射調(diào)用數(shù)組的getLenght方法取得數(shù)組的大小 這里僅支持一維數(shù)組 但對于初始化文件已足夠用了tobjXMLAttribute = ni_objXMLDocument CreateAttribute( ArrayLength )tobjMethodInfo = tobjArrayType GetMethod( GetLength )ReDim taobjParameter( )taobjParameter( ) = ti Tempa = tobjMethodInfo Invoke(ni_objArray taobjParameter)tobjXMLAttribute Value = ti TempatobjXMLElement SetAttributeNode(tobjXMLAttribute)tobjXMLAttribute = Nothing 加入數(shù)組的內(nèi)的元素For ti LoopA = To ti Tempa 利用反射取得數(shù)組的GetValue方法取得實際元素的值 ReDim taobjParameterType( )taobjParameterType( ) = GetType(Integer)tobjMethodInfo = tobjArrayType GetMethod( GetValue taobjParameterType)ReDim taobjParameter( )taobjParameter( ) = ti LoopAtobjTempa = tobjMethodInfo Invoke(ni_objArray taobjParameter) 將數(shù)組元素放入對xml對象中tobjXMLElementA = fnSimpleObjectToXML(tobjTempa ni_objXMLDocument ti LoopA)tobjXMLElement AppendChild(tobjXMLElementA)Next ti LoopA
從XML轉(zhuǎn)為net對象的過程基本都沒有什么技術(shù)難度 我只是根據(jù)xml中包含的ObjectType信息簡單獲得簡單對象的類型 然后直接調(diào)用net強制轉(zhuǎn)換類的功能將XML文件中指定的對象儲存的數(shù)值重新恢復為原來的net對象 代碼如下
根據(jù)XMLelement結(jié)構(gòu)元素中指定的對象類型 建立對象tobjType = Type GetType(tobjXmlSimpleObjectElement GetAttribute( ObjectType ))tobjReturnSimpleObject = Convert ChangeType(tobjXmlSimpleObjectElement InnerText tobjType Nothing)
對于Xml轉(zhuǎn)為數(shù)組用數(shù)組 轉(zhuǎn)為類對象的方法可以參閱本文所附源代碼 初始化文件類實例的調(diào)用 類定義完成以后 可以在程序的全局范圍定義初始化類的實例 在模塊內(nèi)定義就可以了
Public gobjAppOption As New clsAPPOption
可以在程序啟動的時候讀初始化文件信息到類中 我是放在主窗體的load事件中的
讀取程序的選項gobjAppOption fnLoadAppOption()
可以在程序的任意地方保存當前半自動初始化類的值到xml文件中 我在主窗體的closed事件中加入保存代碼
gobjAppOption fnSaveAppOption() 保存應(yīng)用程序的選項
程序的任意地方你都可以調(diào)用半自動初始化文件類的實例來讀取/保存程序選項的當前值
可以很好地利用VS提供的自動列出成員的功能列出程序選項 讀取選項的示例代碼MessageBox Show(gobjAppOption mobjAPPGeneralOption astrShowFileFilter( )) 保存選項的示例代碼 gobjAppOption mobjAPPGeneralOption astrHideFileFilter( ) = * zip
lishixinzhi/Article/program/net/201311/13951
vb.net編程工具是什么
vb.net編程工具是:Microsoft Visual Studio 2008
1、Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代開發(fā)工具,代號“Orcas”,是對Visual Studio 2005一次及時、全面的升級。
2、VS2008引入了250多個新特性,整合了對象、關(guān)系型數(shù)據(jù)、XML訪問方式,語言更簡潔。
3、使用Visual Studio 2008可以高效開發(fā)Windows應(yīng)用。
4、設(shè)計器中可以實時反映變更,XAML中智能感知功能可以提高開發(fā)效率。
5、Visual Studio 2008支持項目模板、調(diào)試器和部署程序。
6、Visual Studio 2008可以高效開發(fā)Web應(yīng)用,集成了AJAX 1.0,包含AJAX項目模板,它還可以高效開發(fā)Office應(yīng)用和Mobile應(yīng)用。
本文名稱:vb.net地磅開發(fā)的簡單介紹
標題來源:http://fisionsoft.com.cn/article/hgiieh.html