VB.net 相對(duì)VB出現(xiàn)巨大變化的是語(yǔ)意,從運(yùn)行于基于COM的deterministic, reference-counted的引擎之上的編程環(huán)境,轉(zhuǎn)變?yōu)槿婷嫦驅(qū)ο蟮幕?NET Framework的語(yǔ)言。.NET Framework包括了CLR(使用通用垃圾收集機(jī)制和JIT編譯引擎的虛擬機(jī))和大量的類庫(kù)。VB開(kāi)發(fā)者進(jìn)入VB.NET要面對(duì)新增的大量類庫(kù)的問(wèn)題。

天祝藏族自治網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
上述變化表明了許多在運(yùn)行及維護(hù)相關(guān)優(yōu)化事宜下面的假定,一些VB6函數(shù)和庫(kù)不再存在而其它的仍然可用,但是比不上.NET語(yǔ)言中自帶的可替換的函數(shù)和庫(kù)來(lái)得高效。即使它們可被編譯,但大多從VB6轉(zhuǎn)換而來(lái)的應(yīng)用將需要一定程度上的重構(gòu)(refactoring),以全面利用新語(yǔ)言的優(yōu)點(diǎn)。在有關(guān)句法、應(yīng)用調(diào)試、部署和術(shù)語(yǔ)等方面的變化,有大量的文檔可以參考。
調(diào)用過(guò)程,調(diào)用過(guò)程有諸多技巧,它們與過(guò)程的類型、位置以及在應(yīng)用程序中的使用方式有關(guān)。下面說(shuō)明如何調(diào)用 Sub 過(guò)程和 Function 過(guò)程。
調(diào)用 Sub 過(guò)程
與 Sub 過(guò)程不同,在表達(dá)式中,Sub 過(guò)程不能用其名字調(diào)用。調(diào)用 Sub 過(guò)程的是一個(gè)獨(dú)立的語(yǔ)句。Sub 過(guò)程還有一點(diǎn)與函數(shù)不一樣,它不會(huì)用名字返回一個(gè)值。但是,與 Function過(guò)程一樣,Sub 過(guò)程也可以修改傳遞給它們的任何變量的值。
調(diào)用 Sub 過(guò)程有兩種方法:
'以下兩個(gè)語(yǔ)句都調(diào)用了名為 MyProc 的 Sub 過(guò)程。
Call MyProc (FirstArgument, SecondArgument)
MyProc FirstArgument, SecondArgument
注意,當(dāng)使用 Call 語(yǔ)法時(shí),參數(shù)必須在括號(hào)內(nèi)。若省略 Call 關(guān)鍵字,則也必須省略參數(shù)兩邊的括號(hào)
調(diào)用函數(shù)過(guò)程
通常,調(diào)用自行編寫的函數(shù)過(guò)程的方法和調(diào)用 Visual Basic 內(nèi)部函數(shù)過(guò)程(例如 Abs)的方法一樣;即在表達(dá)式中寫上它的名字。
'下面的語(yǔ)句都調(diào)用函數(shù) ToDec。
Print 10 * ToDec
X = ToDec
If ToDec = 10 Then Debug.Print "Out of Range"
X = AnotherFunction ( 10 * ToDec)
就像調(diào)用 Sub 過(guò)程那樣,也能調(diào)用函數(shù)。下面的語(yǔ)句都調(diào)用同一個(gè)函數(shù):
Call Year (Now)
Year Now
當(dāng)用這種方法調(diào)用函數(shù)時(shí),Visual Basic 放棄返回值。
調(diào)用其它模塊中的過(guò)程
在工程中的任何地方都能調(diào)用其它模塊中的公用過(guò)程。可能需要指定這樣的模塊,它包含正在調(diào)用的過(guò)程。調(diào)用其它模塊中的過(guò)程的各種技巧,取決于該過(guò)程是在窗體模塊中、類模塊中還是標(biāo)準(zhǔn)模塊中。
窗體中的過(guò)程
所有窗體模塊的外部調(diào)用必須指向包含此過(guò)程的窗體模塊。如果在窗體模塊 Form1 包含 SomeSub 過(guò)程,則可使用下面的語(yǔ)句調(diào)用 Form1 中的過(guò)程:
Call Form1.SomeSub(arguments)
類模塊中的過(guò)程
與窗體中調(diào)用過(guò)程類似,在類模塊中調(diào)用過(guò)程要調(diào)用與過(guò)程一致并且指向類實(shí)例的變量。例如,DemoClass 是類 Class1 的實(shí)例:
Dim DemoClass as New Class1
DemoClass.SomeSub
但是不同于窗體的是,在引用一個(gè)類的實(shí)例時(shí),不能用類名作限定符。必須首先聲明類的實(shí)例為對(duì)象變量(在這個(gè)例子中是 DemoClass )并用變量名引用它。
標(biāo)準(zhǔn)模塊中的過(guò)程
如果過(guò)程名是唯一的,則不必在調(diào)用時(shí)加模塊名。無(wú)論是在模塊內(nèi),還是在模塊外調(diào)用,結(jié)果總會(huì)引用這個(gè)唯一過(guò)程。如果過(guò)程僅出現(xiàn)在一個(gè)地方,這個(gè)過(guò)程就是唯一的。
如果兩個(gè)以上的模塊都包含同名的過(guò)程,那就有必要用模塊名來(lái)限定了。在同一模塊內(nèi)調(diào)用一個(gè)公共過(guò)程就會(huì)運(yùn)行該模塊內(nèi)的過(guò)程。例如,對(duì)于 Module1 和 Module2 中名為 CommonName 的過(guò)程,從 Module2 中調(diào)用 CommonName 則運(yùn)行 Module2 中的 CommonName 過(guò)程,而不是 Module1 中的 CommonName 過(guò)程。
從其它模塊調(diào)用公共過(guò)程名時(shí)必須指定那個(gè)模塊。例如,若在 Module1 中調(diào)用 Module2 中的 CommonName 過(guò)程,要用下面的語(yǔ)句:
Module2.CommonName (arguments)
Public ? 用于聲明對(duì)所有模塊中的所有其它過(guò)程都可以使用的過(guò)程。?
Private ?用于聲明只能在包含該聲明的模塊中使用的過(guò)程。
根據(jù)個(gè)人的經(jīng)歷談?wù)剛€(gè)人感想
我一開(kāi)始學(xué)的是VB,但學(xué)會(huì)后,也就是樓主你的樣子,后來(lái)學(xué)C,覺(jué)得C太垃圾了,這可能和VB的簡(jiǎn)單形成對(duì)比,C語(yǔ)言學(xué)會(huì)后就再也沒(méi)用,后來(lái)直接由VB升級(jí)到VB.NET,的確,如同樓主所說(shuō),.NET是比較簡(jiǎn)單,但是有個(gè)后遺癥,是現(xiàn)在我都煩的,就是編譯的軟件必須要在有.NET的電腦上運(yùn)行,XP是不帶.NET的,而且,版本還的相對(duì),如果用.NET4.0編的,在4.0以下版本電腦上運(yùn)行很可能就出錯(cuò),并且,如果你要打包的話也可以,就是把軟件打包成安裝包,然后附帶.NET環(huán)境,但缺點(diǎn)就出來(lái)了,.NET3.5完整安裝包235M,因?yàn)樗艘韵滤邪姹荆€好.NET4.0只有50M左右,因?yàn)樗话ㄒ韵掳姹荆傊?NET就是簡(jiǎn)單了編程,但復(fù)雜了使用,軟件得打包,不像VB,編好后直接打開(kāi)EXE就可以了。所以就麻煩了,舉些例子,以前用VBA編OFFICE的宏,打開(kāi)OFFICE就可以編,編好后就存為XLSM就可以了,現(xiàn)在用.NET就成了VSTO了,編好后,不和文檔在一起,是分開(kāi)的DLL,如果要運(yùn)行,條件為,1,.NET環(huán)境,2,OFFICE,3,VSTO相比以前只需要OFFICE復(fù)雜了N倍,而且編輯時(shí)也需要VS(動(dòng)不動(dòng)就幾G)才行,相比以前只要有OFFICE就可以區(qū)別也很大,同樣,CAD的嵌入開(kāi)發(fā)也是一樣的。
所以總體來(lái)說(shuō),越底層的語(yǔ)言越底層的API越好用,越通用,越高級(jí)的越不通用,所以現(xiàn)在我開(kāi)發(fā)軟件我都煩了,要是一個(gè)小軟件幾百K~M,再附帶個(gè).NET就好幾百兆,用的時(shí)候還得安裝才能用,又不是什么大軟件有必要這么做么,還有.NET不是萬(wàn)能的,有些地方也得用API,而且.NET其實(shí)也挺復(fù)雜,難的地方不比API簡(jiǎn)單,其實(shí)就感覺(jué)是封裝好了的API而已。
至于數(shù)據(jù)庫(kù),的確.NET連接比較簡(jiǎn)單
至于學(xué)C?那就不用了,因?yàn)?NET的支持 C#,C++,VB,J#,只要會(huì)其中一種就可以了(而且你只要會(huì)其中一門,是能看懂另一門的,比如我雖然編輯C#可能要出錯(cuò),但C#代碼我是幾乎全部能看懂的,網(wǎng)上查資料也能看懂其他語(yǔ)言的),大部分是學(xué)C的升級(jí)用C#.NET,VB的升級(jí)成VB.NET,你沒(méi)必要把它當(dāng)成另一中語(yǔ)言來(lái)學(xué),語(yǔ)法是基本一樣的。只是從一開(kāi)是學(xué)C的比較多,就成了C#的比較多而已了,至于語(yǔ)言,我不想做語(yǔ)言攻擊,其實(shí)都是有用的,就是看自己習(xí)慣不,比如我就不習(xí)慣C。
我也不想說(shuō)VB好還是VB.NET好,其實(shí)是看你用途,我只是至今沒(méi)發(fā)現(xiàn)什么網(wǎng)上的軟件是.NET編輯的,一些軟件比如CAD,OFFICE安裝時(shí)安裝了.NET,其實(shí)都不是它們是基于.NET編輯的,而是為了支持.NET的嵌入式開(kāi)發(fā),你所看到的軟件,比如QQ,迅雷,你看他們帶.NET了嗎?要是.NET好,他們干嘛不用,答案是因?yàn)椴环奖悖驗(yàn)閄P系統(tǒng)一般是沒(méi)有.NET的,連WIN7內(nèi)嵌的.NET都不支持最新的.NET,也就是你用什么版本編的就得安裝相應(yīng)版本,那也要求對(duì)方電腦也得跟著升級(jí),而API是不用升級(jí)著走的~
所以,你要編的軟件在其他電腦上用,VB+API吧,如果你要個(gè)人電腦上用,VB.NET吧,如果你編小軟件vb+api吧,如果你要大型軟件就VB.NET吧,所以,你自己選吧。
希望給你的意見(jiàn)能對(duì)你有好處,現(xiàn)在深夜11點(diǎn)了,我也改睡了,拜拜!~
祝你學(xué)習(xí)愉快!
對(duì)了,還有點(diǎn),比如CAD2007不支持.NET3.5以上的編程,而且.NET編好的EXE或者DLL是可以用專門的軟件打開(kāi)看你源代碼的,也就是反編譯,這對(duì)于加密(可以看你的加密方法)就很麻煩了(據(jù)說(shuō)采用什么辦法可以解決)。
你得先補(bǔ)基礎(chǔ)。
最好去學(xué)校,找計(jì)算機(jī)系的學(xué)生,抄下專業(yè)專業(yè)課程和對(duì)應(yīng)的課本(說(shuō)不定順便能討些舊課本),賣齊這些課本(一般學(xué)校里面就有書(shū)店)慢慢學(xué)。
(以下課程不全)
至少需要讀一遍的:計(jì)算機(jī)導(dǎo)論、程序設(shè)計(jì)基礎(chǔ)、軟件工程、編譯原理
重點(diǎn)學(xué)習(xí)的:算法與數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計(jì)
還有VB.Net需要一定的基礎(chǔ),建議先從 C++ 或 VB(版本6.0)入門
在vb.net中定義staticextern函數(shù):用static聲明的局部變量。static是C++中常用的修飾符,它被用來(lái)控制變量的存貯方式和可見(jiàn)性。extern,C是使C++能夠調(diào)用C寫作的庫(kù)文件的一個(gè)手段。
新聞標(biāo)題:vb.net小品的簡(jiǎn)單介紹
URL地址:http://chinadenli.net/article48/dsgjphp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、服務(wù)器托管、動(dòng)態(tài)網(wǎng)站、響應(yīng)式網(wǎng)站、小程序開(kāi)發(fā)、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)