Visual Basic
(
VB
)是由
微軟
公司??的包含
?境
的
事件??
?程?言。?源自于
BASIC
?程?言。VB ?有
?形用?界面
(
GUI
)和
快速應用程式開發
(
RAD
)系?,可以?易的使用
DAO
、
RDO
、
ADO
?接
?据?
,或者?松的?建
ActiveX
控件
。程序?可以?松地使用 VB 提供的?件快速建立一?
?用程序
。
2020 年 3 月 11 日宣佈微軟不會再開發 VB 或增加功能(Going forward, we do not plan to evolve Visual Basic as a language)。
?展史
[
??
]
.NET Framework 引入之前
[
??
]
VB 1
[
??
]
1991 年 4 月,Visual Basic 1.0 for Windows 版本?布。1992 年 9 月,Visual Basic 1.0 for DOS 版本?布。???接?程?言和用?界面的?步被?? Tripod(有些?候叫做 Ruby),最初的??是由
阿?·?珀
(英語:
Alan Cooper
)完成的。?在??引起了?大的??。?多?家把 VB 的出??做是?件??史上的一?具有??代意?的事件。以?在的眼光?看,VB1.0 版的功能其實非常的弱,但?在推出??可是第一?“可?”的?程?件。?使得程序?欣喜之?,都??在 VB 的平台上?行?件?作。
VB 2
[
??
]
1992 年 11 月,VB2.0 ?布。??于上一?版本的界面和速度都有所改善。
VB 3
[
??
]
1993 年夏天,VB3.0 ?布,分??准版和??版。其中包含一??据引擎,可以直接?取 Access ?据?。?使得 VB 的?据??程能力大大提高。
VB 4
[
??
]
1995 年 8 月,VB4.0 ?布了
32 位
版本和
16 位
的版本。其中包含了?
?
的支持。? VB4 ?始,逐步引入了面向?象的程序??思想。VB 功能强大,????。而且,VB ?引入了“控件”的?念,使得大量已??好的 VB 程序可以被我?直接拿?使用。
Visual Basic 1.0~4.0 都必??源代???成
VB ?代?
后解??行。
VB 5
[
??
]
1997年2月,VB5.0 ?布。程序?可以用 32 位的版本?入由 4.0 版本?建的 16 位程序,?且能?利??。同??包含了?用?自建控件的支持。自? Visual Basic 5.0 以后,VB 支持??成本机代?,但必?在VB ?行?的支持下工作。
VB 6
[
??
]
1998年夏天,VB6.0 ?布。VB6 是 VB.NET 至今仍無法完全取代的版本。
.NET Framework 引入之后
[
??
]
VB.NET (VB7)
[
??
]
2001 年,
Visual Basic .NET
和
.NET Framework
?布。由于其使用了新的核心和特性,所以?多 VB 的程序?都要改?程序。
2002 年 Visual Basic .NET 2002(v7.0)問世,此后 Visual Basic 包含在
Visual Studio
套?中。
2003 年 Visual Basic .NET 2003(v7.1)推出。
VB 8
[
??
]
2004年,微??放了
Visual Studio
.NET 2005 的??版本(代?Whidbey)。包含了 .NET Framework2.0 的??版本。2005 年 11 月 7 日 Visual Basic 2005(v8.0)?布,同??初?者??生提供 Visual Basic 2005 的免費簡化版本 Express Edition。原定免?使用期限一年,之后微?宣布 Express 版本永久免?。微?在其?件名?中去掉了 .NET 部分。Visual Basic 2005 的“?著”?点是,可以直接??出 Windows XP ?格的控件;但是其??的小程序就需要近 10MB 的?存。
VB 9
[
??
]
2008 年 2 月 1 日 Visual Basic 2008(v9.0)?布。
通??年的?展,?已成?一???化的???言和?境。用?可用 Visual Basic 快速?建 Windows 程序,?在?可以??企?水平的
客?/服?器程序
及强大的
?据??用程序
。
VB 10
[
??
]
Visual Basic 10.0 按??于2010年3月22日? Visual Studio 2010 一起正式?布
[1]
。
新加入的功能:
- 自????性
- 集合初始化
- 不需要在代??行????入下??“_”
- 更好的 lambda 表?式支持
- 更好地?
Python
及
Ruby
等
???言
的互通操作
Visual Basic .NET 2002(7.0)及以后的版本?行在
.NET Framework
?境下。
Visual Basic 2012(VB 11.0)
[
??
]
| 此章?
?無任何?容,需要
?充
。
(
2021年3月20日
)
|
Visual Basic 2013(VB 12.0)
[
??
]
Visual Basic 2015(VB 14.0)
[
??
]
Visual Basic 2015(VB 14.0)于2015年7月20日?布。
由 VB 派生的語言
[
??
]
微軟開發了一系列有關 VB 的?本語言:
- VBScript
是
ASP
的預設語言,還可以用在
Windows
?本編寫和
網頁
編碼(
HTML
)中。盡管?的語法類似於 VB,但是??是一種完全不同的語言。VBS 不使用 VB 執行庫執行,而是由
Windows 脚本宿主
(wscript.exe - Microsoft Windows Based Script Host)解釋執行。這?種語言之中的不同點影響 ASP 網站的表現。
當微軟準備開發一種新的編成工具的時候,第一決定就是利用最?手的VB6來進行修改,或者就是重新組建工程開發新工具。微軟後來開發了 VB 的繼任者
Visual Basic .NET
,同時也是
.NET
平台的一部分。VB.NET 編成語言是一種?正的
物件導向
編成語言(VB4-VB6 祇能稱?基於對象而不是物件導向,最明顯的特徵就是 VB4-VB6 都不支持類的繼承),和傳統 Visual Basic ?不完全兼容。
?言特性
[
??
]
VB 的中心思想就是要便于程序?使用,无?是新手或者?家。VB 使用了可以??建立?用程序的
GUI
系?,但是又可以??相???的程序。VB 的程序是一?基于
??
的可?化?件安排的?合,?且增加代??指定?建的?性和方法。因?默?的?性和方法已?有一部分定?在了?件?,所以程序?不用?多少代?就可以完成一???的程序。?去的版本里面 VB 程序的性能??一直被放在台面上??,但是?着
?算机
速度的?速增加,?于性能的??已?越?越少。
??控件的增加和改?可以用
拖放
技???。一?排列?控件的工具箱用??示可用控件(比如文本?或者按?)。每?控件都有自己的
?性
和
事件
。默?的?性??在控件?建的?候提供,但是程序?也可以?行更改。?多的?性?可以在?行?候?着用?的?作和修改?行改?,??就形成了一???的程序。??例子??:??的大小改?事件中加入了可以改?控件位置的代?,在?行?候每?用?更改?口大小,控件也??之改?位置。在文本?中的文字改?事件中加入相?的代?,程序就能?在文字?入的?候自???或者阻止某些字符的?入。
VB 的程序可以包含一?或多???,或者是一?主??和多?子??,?似于
操作系?
的?子。有?少功能的???
?口
(比如?有最大化和最小化按?的??)可以用?提供?出功能。
VB 的?件?可以?有用?界面,也可以?有。??一?
服?器
端程序就可以?理增加的
模?
。
VB 使用
引用??
的方法??行??收集,??方法中包含有大量的?象,提供基本的
面向?象
支持。因?越?越多?建的出?,程序?可以?用自己需要的?展?。和有些?言不一?,VB ?大小?不敏感,但是能自??????到?准的大小???,以及强制使得符?表入口的??的?量名?遵循????。默?情?下字符串的比?是?大小?敏感的,但是可以????功能。
VB 使得大量的外界控件有了自己的生存空?。大量的第三方控件?? VB 提供。VB 也提供了建立、使用和重用?些控件的方法,但是由于?言??,?一??用程序?建?外一??不??。
??
[
??
]
在?? Visual Basic(不包含 .NET)?,?常可以?到以下?些??,因此掌握?些??的基本理解?初?者十分有?助。
- 控件
:??的?,控件就是?成或者?建造 Visual Basic ?用程序的?形化工具,包括??、按?、???、列表?、?据控件、表格控件和?片控件等等。
- 事件
:由用?或操作系?引?的?作,例如??、??鼠?(Click)、??鼠?(DblClick)、一段??的限制,或?端口接收?据。
- 方法
:嵌入在?象定?中的程序代?,?定??象???理信息???某事件。例如,?据??象有打???集??一???移?到?一???的方法程序的基本元素,?含有定?其特征的?性,定?其任?和???可以??的事件的方法。控件和??是Visual Basic中所有?象的示例。
- 物件
:一?控件、??等都可被看作一?物件。
- ?程
:?完成某些特定的任?而??的
代?
段,?程通常用于??特定的事件,也可以?作?用程序的
用?自定?函?
?使用。
- ?性
:?性是?成用?界面的各?象的性?的具?描述。例如上述“物件”中所提到的尺寸、位置、?色、?度、高度等等都??控件的?性。?性?定物件的外?,有?也?定物件的行?。物件的?性?大部分是 VB 中已?事先定?好的,但也有的?性是需要在?用?程中才去定?的。?性?可?物件提供?据,也能?物件取回信息。
VB.NET的?革
[
??
]
VB(6.0 及以前)不擁有的特性
[
??
]
- ?承
:Visual Basic 5 以后,VB?然提供了?化的?支持,但仍然不能滿足程序員的需求。
- 多?程
支持:?然可以使用
Windows API
完成,不??定性???都??保?。
- 異常處理
:只支持"
On Error Goto
line
"語句。
- 對
指標
的支持非常有限。
- VB 只能支持 8 到 32 位的
整數
,?多語言都有無限制的支持。
- VB 不允許在任何數組記憶體在不變的變量。
- VB 不支持其?程序?言共享程序代?。
Visual Basic .NET(VB 7.0)以后的版本基本支持了上述特性。
VB 6與VB.NET比?
[
??
]
VB.NET 的具??革如下:
- 子程序(函?)的定???用。
- ??的初??定?且需要注明范?。
- 函?在格式上的改?:
Date
函?、
Time
函?、部分??函?部分不能直接使用,
String
函?不能使用,
DatePart
、
DateAdd
、
DateDiff
函?的第一???在定?上有所改?。
Set
保留字不再使用。
Wend
保留字以
End While
取代。
- 新增?算符:
+=
、
-=
、
/=
、
*=
、
&=
。
缺点
[
??
]
??大的?革一度被??是微??了延? VB 的生命力而做出的,?果把 VB 改得?乎面目全非,成了一??似于
C#
的新?言。VB6 的程序?乎无法?行在 VB.NET 中,?管微??????提供了“升?向?”,也无法?行?底的??。??,程序?不得不付出相?大的精力,手工??代?。
2005 年,微?宣布?不?再?非 .NET 版本的 VB ?行支持。VB 社群立?作出反?表示?心??消息,一些老用???交了希望能???? VB ?行技?支持的?愿?。微?後續??有改?他?的?定,最終在 2008 年時微軟對從 1.0 到 6.0 的所有 Visual Basic 開發環境版本結束支持。
?于VB的??
[
??
]
反?者
[
??
]
VB 是一?充?了??的?言:?多程序?? VB 程序的品?有强烈的反感。?多人?? VB 不配他?使用,???是一???童和菜?程序?的?言。?自????始就是一???的?言。一些
C++
和
Java
中的特性在 VB 中??有出?。在感受??的方便和快速的同?,一些?似于????行?型和?明??的功能在默?情?下是??的。??一些程序?一?感? VB 的易用性,一?沮?地看着一些?似于“未定??型”??的?生。
一些批?家?? VB 的??特性使得其在未?具有?害性。?多人自?了 VB,但是??有?到好的?程??。? VB ?入?堂的?候,?生?不??到?多基?的程序技?和??,因??多技?已?包含在那些?用?可?的?件里面了。不用???准的?程??,因? VB 具有可?化的特性,所以?致了一些莫名其妙的代?的?生。而且?多??和警告的??默?情?下都是??的,程序????到?藏的??。有??的程序?在用 VB ?程的?候都?把?些??打?。
- ?不是非常?便,???的程序只能?行在
Microsoft Windows
中。
- VB 不能?好地?合 Windows 的基? API,?多?候要使用低??算的“小伎?”??行?程。而 C ?言的低??存?算比 VB 的要??得多。
支持者
[
??
]
但是?多 VB 的支持者解?? VB 的易用性就是?最大的??,可以????富的 VB 程序?或是???得皮毛的人都能用自己的方式快速??程序。而且 VB 的程序可以非常??的和
?据?
?接。比如利用控件可以?定?据?,??一?用 VB ?出的程序就可以掌握?据?的所有信息而不用?一行代?。
?多?言的特性比如
GoSub
、
On Error
和用?量名字的最后一?字符判?宣告?型(比如字符串型
str$
)都是?
BASIC
中?的。VB 的?法和?大部分?言都不同,可能??新的程序?混淆。比如宣告“
Dim a, b, c As Integer
”宣告了
c
?整數變數,但是
a
,
b
依然是
Variant
(.NET中 ?
Object
)?型的。(如果想宣告 3 ?
Integer
,必??
Dim a As Integer, b As Integer, c as Integer
;而直接?
Dim a
,后面不??型,?自??成
Variant
?型??占用大量?源。這個問題在 VB.NET 以後的版本已?解決,
Dim a, b, c As Integer
的?型都??整數)
?有一些特性,比如下??字符
_
支持一行代?分多行?。一些程序?在使用的?候由于不符?范而引起錯誤。
??
[
??
]
VB ?吸引更多的??和批?,也?????大的用?和程序?使用。?比?适合用???提供友好界面的程序(比如??伺服器的?据),但是不适合??需要?行繁重?算的程序(如?合?算程序)。
?于初學編程者,VB是一個?好的入門軟件,?于一些有編程才能而未?掘的人,由 VB 著手可輕易引發他們的潛能,發揮他們在這方面的才華。
?考文?
[
??
]
外部連結
[
??
]