fbpx
维基百科

Visual Basic

Visual BasicVB)是由微軟公司开发的包含环境事件驱动编程语言。它源自于BASIC编程语言。VB拥有图形用户界面GUI)和快速應用程式開發RAD)系统,可以轻易的使用DAORDOADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松地使用VB提供的组件快速建立一个应用程序

Visual Basic
编程范型面向对象事件驱动
實作者微软
发行时间1991年,​32年前​(1991
型態系統静态强类型
作業系統Microsoft Windows and MS-DOS
網站http://msdn.microsoft.com/zh-cn/vstudio/hh388573
主要實作產品
Microsoft Visual Studio
啟發語言
BASIC
影響語言
Visual Basic .NET, Gambas, REALbasicBasic4ppc英语Basic4ppc
Visual Basic 6 IDE

2020年3月11日宣佈微軟不會再開發VB或增加功能(Going forward, we do not plan to evolve Visual Basic as a language)。

发展史

.NET Framework引入之前

VB 1

 
VB1.0的DOS版本

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表达式支持
  • 更好地与PythonRuby动态语言的互通操作

Visual Basic .NET 2002(7.0)及以后的版本运行在.NET Framework环境下。

2012年Visual Basic 2012(VB 11.0)

2013年Visual Basic 2013(VB 12.0)

2015年Visual Basic 2015(VB 14.0)

Visual Basic 2015(VB 14.0)于2015年7月20日发布。

由VB派生的語言

微軟開發了一系列有關VB的腳本語言:

  • VBScriptASP的預設語言,還可以用在Windows腳本編寫(Shell Script)和網頁編碼(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並不完全兼容。

语言特性

 
VB6的IDE畫面

VB的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在檯面上討論,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。

窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。每个控件都有自己的属性英语Attribute (computing)事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。

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比较

很多程序编寫者也會留戀VB6。VB6仍保留了一些script語言的特性,例如:不用事先宣告變量類型。當第一次對未宣告類型的變數進行賦值時,VB6便會把這個值的類型作為該變數的類型。這種script語言的特性,對程序的可維護有很多不良的影響,尤其對初階程序員來說,更會被培養成不良的编寫程序習慣,所以VB.NET之後的版本已不保留這種特性。

Basic是作為初學者的编程語言而被製作,當時是以直译语言(参见VB伪代码)的形式出現。同樣擁有不用事先宣告變量類型的特性。這種特性對於幫助初學者快速入門,其實是有正面的作用,可以使初學者更快完成簡單的代碼编寫,而不用顧慮到程序要用哪些變量,要選哪些類型。對於有一定程序编寫經驗的人來看,要經常為for i=1 to 9中的變量i宣告類型也頗煩人,所以這種特性在某些場合上,是相當討人歡心的。

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中。
  • 檔案太大了。Visual Studio要用好几张盘才能装下。VB程序在运行时候只需要一个1.4M大小的运行库。
  • IDE中有错误。
  • 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著手可輕易引發他們的潛能,發揮他們在這方面的才華。

参考文献

  1. ^ Visual Studio 2010 to launch in March. CNET.com. 2009-10-19 [2009-12-13] (英语). 

外部連結

visual, basic, 此条目的主題是microsoft, visual, studio, 0及更早版本的basic, 关于与, 標題相近或相同的条目, 請見, 是由微軟公司开发的包含环境的事件驱动编程语言, 它源自于basic编程语言, vb拥有图形用户界面, 和快速應用程式開發, 系统, 可以轻易的使用dao, ado连接数据库, 或者轻松的创建activex控件, 程序员可以轻松地使用vb提供的组件快速建立一个应用程序, 编程范型面向对象, 事件驱动實作者微软发行时间1991年, 32年前, 1991,. 此条目的主題是Microsoft Visual Studio 6 0及更早版本的Basic 关于与 Visual Basic 標題相近或相同的条目 請見 Visual Basic NET Visual Basic VB 是由微軟公司开发的包含环境的事件驱动编程语言 它源自于BASIC编程语言 VB拥有图形用户界面 GUI 和快速應用程式開發 RAD 系统 可以轻易的使用DAO RDO ADO连接数据库 或者轻松的创建ActiveX控件 程序员可以轻松地使用VB提供的组件快速建立一个应用程序 Visual Basic编程范型面向对象 事件驱动實作者微软发行时间1991年 32年前 1991 型態系統静态 强类型作業系統Microsoft Windows and MS DOS網站http msdn microsoft com zh cn vstudio hh388573主要實作產品Microsoft Visual Studio啟發語言BASIC影響語言Visual Basic NET Gambas REALbasic及Basic4ppc 英语 Basic4ppc Visual Basic 6 IDE 2020年3月11日宣佈微軟不會再開發VB或增加功能 Going forward we do not plan to evolve Visual Basic as a language 目录 1 发展史 1 1 NET Framework引入之前 1 1 1 VB 1 1 1 2 VB 2 1 1 3 VB 3 1 1 4 VB 4 1 1 5 VB 5 1 1 6 VB 6 1 2 NET Framework引入之后 1 2 1 VB NET VB7 1 2 2 VB 8 1 2 3 VB 9 1 2 4 VB 10 1 2 5 2012年Visual Basic 2012 VB 11 0 1 2 6 2013年Visual Basic 2013 VB 12 0 1 2 7 2015年Visual Basic 2015 VB 14 0 2 由VB派生的語言 3 语言特性 4 术语 5 VB NET的变革 5 1 VB 6 0及以前 不擁有的特性 5 2 VB 6與VB NET比较 5 3 缺点 6 关于VB的争议 6 1 反对者 6 2 支持者 6 3 总结 7 参考文献 8 外部連結发展史 编辑 NET Framework引入之前 编辑 VB 1 编辑 VB1 0的DOS版本 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引入之后 编辑 主条目 Visual Basic NET 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环境下 2012年Visual Basic 2012 VB 11 0 编辑 此章节尚無任何内容 2021年3月20日 2013年Visual Basic 2013 VB 12 0 编辑 2015年Visual Basic 2015 VB 14 0 编辑 Visual Basic 2015 VB 14 0 于2015年7月20日发布 由VB派生的語言 编辑微軟開發了一系列有關VB的腳本語言 Visual Basic for Applications 即VBA 包含在微軟的應用程序中 比如Microsoft Office 常見的有Excel 以及類似WordPerfect Office這樣第三方的產品里面 VBA這樣嵌入在各種應用程序中看起來有些矛盾 但是它的功能和VB一樣強大 VBScript是ASP的預設語言 還可以用在Windows腳本編寫 Shell Script 和網頁編碼 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並不完全兼容 语言特性 编辑 VB6的IDE畫面 VB的中心思想就是要便于程序员使用 无论是新手或者专家 VB使用了可以简单建立应用程序的GUI系统 但是又可以开发相当复杂的程序 VB的程序是一种基于窗体的可视化组件安排的联合 并且增加代码来指定组建的属性和方法 因为默认的属性和方法已经有一部分定义在了组件内 所以程序员不用写多少代码就可以完成一个简单的程序 过去的版本里面VB程序的性能问题一直被放在檯面上討論 但是随着计算机速度的飞速增加 关于性能的争论已经越来越少 窗体控件的增加和改变可以用拖放技术实现 一个排列满控件的工具箱用来显示可用控件 比如文本框或者按钮 每个控件都有自己的属性 英语 Attribute computing 和事件 默认的属性值会在控件创建的时候提供 但是程序员也可以进行更改 很多的属性值可以在运行时候随着用户的动作和修改进行改动 这样就形成了一个动态的程序 举个例子来说 窗体的大小改变事件中加入了可以改变控件位置的代码 在运行时候每当用户更改窗口大小 控件也会随之改变位置 在文本框中的文字改变事件中加入相应的代码 程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入 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比较 编辑 很多程序编寫者也會留戀VB6 VB6仍保留了一些script語言的特性 例如 不用事先宣告變量類型 當第一次對未宣告類型的變數進行賦值時 VB6便會把這個值的類型作為該變數的類型 這種script語言的特性 對程序的可維護有很多不良的影響 尤其對初階程序員來說 更會被培養成不良的编寫程序習慣 所以VB NET之後的版本已不保留這種特性 Basic是作為初學者的编程語言而被製作 當時是以直译语言 参见VB伪代码 的形式出現 同樣擁有不用事先宣告變量類型的特性 這種特性對於幫助初學者快速入門 其實是有正面的作用 可以使初學者更快完成簡單的代碼编寫 而不用顧慮到程序要用哪些變量 要選哪些類型 對於有一定程序编寫經驗的人來看 要經常為for i 1 to 9中的變量i宣告類型也頗煩人 所以這種特性在某些場合上 是相當討人歡心的 VB NET的具体变革如下 子程序 函数 的定义与调用 数组的初值设定并且需要注明范围 函数在格式上的改变 Date函数 Time函数 部分数学函数部分不能直接使用 String函数不能使用 DatePart DateAdd DateDiff函数的第一个参数在定义上有所改变 Set保留字不再使用 Wend保留字以End While取代 新增运算符 amp 缺点 编辑 这样大的变革一度被认为是微软为了延长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中 檔案太大了 Visual Studio要用好几张盘才能装下 VB程序在运行时候只需要一个1 4M大小的运行库 IDE中有错误 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著手可輕易引發他們的潛能 發揮他們在這方面的才華 参考文献 编辑 Visual Studio 2010 to launch in March CNET com 2009 10 19 2009 12 13 英语 外部連結 编辑 繁體中文 MSDN上的VB6支持 页面存档备份 存于互联网档案馆 VB6支持 VB的教程 页面存档备份 存于互联网档案馆 VB6中文教程 页面存档备份 存于互联网档案馆 VBGood VB愛好者樂園 页面存档备份 存于互联网档案馆 play78 VB源代碼 Applevb AppleVB 博客园VB团队 VB源码分享 VB源码库 繁體中文 Studio Express首頁 下載 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title Visual Basic amp oldid 75287815, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。