
Visual Basic 2005
Visual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动程式语言。从任何标準来说,VB都是世界上使用人数最多的语言,不仅是盛讚VB的开发者还是抱怨VB的开发者的数量,它源自于BASIC程式语言。VB拥有图形用户界面(GUI)和快速应用程式开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连线资料库,或者轻鬆的创建ActiveX控制项。程式设计师可以轻鬆的使用VB提供的组件快速建立一个应用程式。
基本介绍
- 中文名:Visual Basic 2005添加概述
- 属于:微软公司
- 包含:协助开发环境
- 类型:件驱动程式语言
Visual Basic(VB)概述
发展历史
1991年,微软公司推出了Visual Basic 1.0版。这在当时引起了很大的轰动。这个连线程式语言和用户界面的进步被称为Tripod(有些时候叫做Ruby),最初的设计是由阿兰·库珀(Alan Cooper)完成的。许多专家把VB的出现当做是软体开发史上的一个具有划时代意义的事件。其实,以我们现在的目光来看,VB1.0的功能实在是太弱了;(不过最近VB6.0, 的功能相当大!)。但在当时,它是第一个“可视”的编程软体。这使得程式设计师欣喜之极,都尝试在VB的平台上进行软体创作。微软也不失时机地在四年内接连推出VB2.0,VB3.0,4.0三个版本。并且从VB3开始,微软将ACCESS的资料库驱动集成到了VB中,这使得VB的资料库编程能力大大提高。从VB4开始,VB也引入了面向对象的程式设计思想。VB功能强大,学习简单。而且,VB还引入了“控制项”的概念,使得大量已经编好的VB程式可以被我们直接拿来使用。VB1.0的DOS版本VB1.0于1991年发布。这个连线程式语言和用户界面的进步被称为Tripod(有些时候叫做Ruby),最初的设计是由阿兰·库珀(Alan Cooper)完成的
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初学者及学生使用。
VB 2005的“显着”优点是,可以直接编写出XP风格的按钮,以及其他的控制项。但是其编写的小程式占用近10MB的记忆体。
通过几年的发展,它已成为一种专业化的开发语言和环境。用户可用Visual Basic快速创建Windows程式,现在还可以编写企业水平的客户端/伺服器程式及强大的资料库应用程式。
VB会吸引更多的讚誉和批评,也会继续为广大的用户和程式设计师使用。它非常适合用来开发拥有友好界面的程式(比如针对终端的数据),但是不适合开发其它程式(比如联合计算程式)。
现在还有某一些VB软体的精简版,比如VB6的精简版。
语言特性
一个典型的VB进程VB的中心思想就是要便于程式设计师使用,无论是新手或者专家。VB使用了可以简单建立应用程式的GUI系统,但是又可以开发相当複杂的程式。VB的程式是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程式设计师不用写多少代码就可以完成一个简单的程式。过去的版本里面VB程式的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。
窗体控制项的增加和改变可以用拖放技术实现。一个排列满控制项的工具箱用来显示可用控制项(比如文本框或者按钮)。每个控制项都有自己的属性和事件。默认的属性值会在控制项创建的时候提供,但是程式设计师也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程式。举个例子来说:窗体的大小改变事件中加入了可以改变控制项位置的代码,在运行时候每当用户更改视窗大小,控制项也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程式就能够在文字输入的时候自动翻译或者阻止某些字元的输入。
VB的程式可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于作业系统的样子。有很少功能的对话框视窗(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。
VB的组件既可以拥有用户界面,也可以没有。这样一来伺服器端程式就可以处理增加的模组。
VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组建的出现,程式设计师可以选用自己需要的扩展库。和有些语言不一样,VB对大小写不敏感,但是能自动转换关键字到标準的大小写状态,以及强制使得符号表入口的实体的变数名称遵循书写规则。默认情况下字元串的比较是对大小写敏感的,但是可以关闭这个功能。
VB使得大量的外界控制项有了自己的生存空间。大量的第三方控制项针对VB提供。VB也提供了建立、使用和重用这些控制项的方法,但是由于语言问题,从一个应用程式创建另外一个并不简单。
术语
在讨论Visual Basic时,经常可以听到以下这些术语,因此对这些术语的基本理解十分有帮助。
控制项——简单的说,控制项就是构成或者说建造Visual Basic应用程式的图形化工具,包括窗体、按钮、複选框、列表框、数据控制项、表格控制项和图片控制项等等...。
事件——由用户或作业系统引发的动作。事件的示例有击键、单击滑鼠(Click)、双击滑鼠(DblClick)、一段时间的限制,或从连线埠接收数据。
方法——嵌入在对象定义中的程式代码,它定义对象怎样处理信息并回响某事件。例如,资料库对象有打开纪录集并从一个记录移动到另一个记录的方法程式的基本元素,它含有定义其特徵的属性,定义其任务和识别它可以回响的事件的方法。控制项和窗体是Visual Basic中所有对象的示例。
对象——一个控制项、窗体等都可被看作一个对象。
过程——为完成某些特定的任务而编写的代码段,过程通常用于回响特定的事件,也可以当作应用程式的用户自定义函式来使用。
属性——属性是组成用户界面的各对象的性质的具体描述。例如上述“对象”中所提到的尺寸、位置、颜色、宽度、高度等等都称为控制项的 属性。属性决定对象的外观,有时也决定对象的行为。对象的属性绝大部分是VB中已经事先定义好的,但也有的属性是需要在套用 过程中才去定义的。属性即可为对象提供数据,也能从对象取回信息。
VB的局限性
继承。VB5和VB6都是面向对象的程式语言,但是不包含继承特性。VB中提供了特殊的类的功能,但是还是不能满足程式设计师的需求。 包含了所有面向对象的特性。
多执行绪支持 (2002以及之后的版本,都支持多执行绪技术。)
异常处理。中使用了Try-Catch-Finally来处理异常。而VB中只有"On Error Goto line"语句。
对指针的支持非常有限。
VB只能支持8到32位的整形,很多语言都有无限制的支持。
VB不允许在任何数组记忆体在不变的变数。
VB不支持以上特性,程式设计师需要自己建构方法来实现相似的功能。
争议
反对观点:
VB是一种充满了争议的语言:很多程式设计师对VB程式的质量有强烈的感受。很多人认为VB不配他们使用,认为它是一种给儿童和菜鸟程式设计师的语言。它自从设计开始就是一种简单的语言。一些C++和Java中的特性在VB中并没有出现。在感受开发的方便和快速的同时,一些类似于编译时进行类型和声明检查的功能在默认情况下是关闭的。这样一些程式设计师一边感叹VB的易用性,一般沮丧地地看着一些类似于“未定义类型”错误的发生。
一些批评家认为VB的简单特性使得其在未来具有伤害性。很多人自学了VB,但是并没有学到好的编程习惯。当VB进入课堂的时候,学生们不会学到很多基础的程式技术和结构,因为很多技术已经包含在那些对用户可见的组件里面了。不用学习标準的编程习惯,因为VB具有可视化的特性,所以导致了一些莫名其妙的代码的产生。而且很多错误和警告的检查默认情况下都是关闭的,程式设计师很难找到隐藏的错误。有经验的程式设计师在用VB编程的时候都会把这些选项打开。
很多批评家批评微软简单地拷贝了BASIC的思想到VB中。着名的计算机科学家Edsger Dijkstra说过一句名言:“如果一个学生最早学过BASIC,那幺几乎不可能让他学会优秀的编程:因为这些人已经放弃了涅槃的希望。”(Dijkstra对待Fortran、PL/1、COBOL和APL同样也毫不留情。)
另外一个笑话是:“真正的程式设计师不用BASIC。12岁以下的孩子才用。”
并不是非常简便,它开发的程式只能运行在Microsoft Windows中。
个头太大了。Visual Studio要用好几张盘才能装下。VB程式在运行时候还需要一个1.4M大小的运行库。
IDE中有错误。
VB不能很好的综合Windows的基础API,很多时候要使用低级运算的“小伎俩”来进行编程。而C语言的低级记忆体运算比VB的要简单得多。
支持观点:
但是很多VB的支持者解释说VB的易用性就是它最大的优势,可以让经验丰富的VB程式设计师或是刚刚懂得皮毛的人都能用自己的方式快速开发程式。而且VB的程式可以非常简单的和资料库连线。比如利用控制项可以绑定资料库,这样一来用VB写出的程式就可以掌握资料库的所有信息而不用写一行代码。
很多语言的特性比如GoSub、On Error和用变数名字的最后一个字元判断声明类型(比如字元串型str$)都是从VB中来的。VB的语法和绝大部分语言都不同,可能会让新的程式设计师混淆。比如声明“Dim a,b,c As Integer”声明了c为整形变数,但是a、b都是Variant类型的。 {这儿我说明一下,如果想申明3个Integer,必须写 Dim a as Integer, b As Integer, c as Integer;而直接写Dim a,后面不写类型,则自动变成Variant类型——占用大量资源。} 还有一些特性,比如下划线字元“_”用于一行代码分多行写时候。一些程式设计师在使用的时候由于不规範使得便引起报错。
发展时间线
1991年4月,Visual Basic 1.0 Windows版本发布
1992年9月,Visual Basic 1.0 DOS版本发布。
1992年11月,VB2.0发布。它对于上一个版本的界面和速度都有所改善。
1993年夏天,VB3.0发布,分为标準版和专业版。其中包含一个数据引擎,可以直接读取Access资料库。
1995年8月,VB4.0发布了32位版本和16位的版本。其中包含了对类的支持。
1997年2月,VB5.0发布。程式设计师可以用32位的版本导入由4.0版本创建的16位程式,并且能顺利编译。同时还包含了对用户自建控制项的支持。
1998年夏天,VB6.0发布。
2001年,Visual Basic.net和.NET Framework发布。由于其使用了新的核心和特性,所以很多VB的程式设计师都要改写程式。
2003年,Visual Basic.net 2003和.NET Framework 1.1发布。
2004年,微软开放了Visual Studio 2005的测试版本(代号Whidbey)。包含了.NET Framework2.0的测试版本。
2005年,微软宣布将不会再对非.NET版本的VB进行支持。VB社群立即作出反应表示关心这个讯息,一些老用户还递交了希望能够继续对VB进行技术支持的请愿书。微软目前还不愿意改变他们的决定。
由VB派生的语言
微软开发了一系列有关VB的脚本语言:
Visual Basic for Applications,即VBA,包含在微软的应用程式中(比如Microsoft Office),以及类似WordPerfect Office这样第三方的产品里面。VBA这样嵌入在各种应用程式中看起来有些矛盾,但是它的功能和VB一样强大。
VBScript是默认的ASP语言,还可以用在Windows脚本编写和网页编码中。儘管它的语法类似于VB,但是它却是一种完全不同的语言。VBS不使用VB运行库运行,而是由Windows脚本主机解释执行。这两种语言之中的不同点影响ASP网站的表现。
当微软準备开发一种新的编程工具的时候,第一决定就是利用最抢手的VB6来进行旧改,或者就是重新组建工程开发新工具。微软后来开发了VB的继任者Visual Basic .NET,同时也是.NET平台的一部分。VB.net程式语言是一种真正的面向对象程式语言,和VB并不完全兼容。
关于VB.NET
Visual Studio.net 2005已经在2005年11月7日发布。
Visual Basic.NET(简称VB.NET)是新一代的VB。它不是VB 6.0的简单升级,VB.NET与VB之间有非常大的区别。其新特性主要表现在以下几方面:
1.VB.NET完全集成到Visual Studio集成开发环境中,在这种集成开发环境与VB在若干方面有差异。主要体现在窗体的布局以及选单等方面都有所不同。
2.VB.NET项目与VB不同。它使用基于资料夹的模型,所有项目均放置在项目资料夹层次结构中。
3.VB.NET中使用ADO.NET来访问资料库,ADO.NET是.NET框架的一部分。在VB.NET中实现数据访问的方法重要有两种:其一是在程式设计阶段,通过创建、配置数据适配器DataAdapter和生成数据集DataSet;其二是在运行中,通过编程方式动态创建配置数据适配器和创建、生成数据集。
4.在VB.NET中是使用ASP.NET技术来编写Web页面的。在ASP.NET中使用的也不是脚本语言,而是真正意义的程式语言。凭藉ASP.NET的Web应用程式、XML Web Services等基于Web的功能,使得VB.NET开发Web页面与开发Windows应用程式很相似,Web页面代码也显得有条有理了。
5. VB.NET已经成为完全的面向对象的程式语言。
Visual Basic 2005 的更新情况
Microsoft Visual Basic 2005 从 Visual Basic 语言演变而来,是一种为高效地生成类型安全和面向对象的应用程式而设计的语言。Visual Basic 允许开发人员开发面向 Windows、Web 和移动设备的程式。与所有面向 Microsoft .NET Framework 的语言一样,使用 Visual Basic 编写的程式都具有安全性和语言互操作性方面的优点。
这一代 Visual Basic 延续了为您提供一种简单快捷的方法来创建基于 .NET Framework 的应用程式的传统。
此版本的 Visual Basic 恢复了对“编辑并继续”的支持,并具有可快速开发应用程式的新功能。其中一种称为 My 的功能提供了对以下内容的快速访问:由 .NET Framework 提供的常见任务,与应用程式及其运行时环境相关的信息和默认对象实例。新的语言功能包括循环继续、有保证的资源处置、运算符重载、泛型类型和自定义事件。Visual Basic 与 .NET Framework 和公共语言运行库 (CLR) 完全集成,它们提供了语言互操作、垃圾回收、增强的安全性和版本管理支持。
Visual Basic 编译器和语言
Visual Basic 2005 中的语言改进简化了原始码,并且启用了与使用高级功能的组件的互动。
使用 My 进行 Visual Basic 开发
Visual Basic 2005 提供了用于快速应用程式开发的新功能,旨在于提供强大功能的同时提高效率并简化使用。其中一种称为 My 的功能提供了对由 .NET Framework 所提供的常用功能的访问,还提供了对与应用程式及其运行时环境关联的信息和默认对象实例的访问。这些信息按 IntelliSense 能够识别的格式进行组织,并根据用途按逻辑进行描述。
开发应用程式
My.Application 对象提供对应用程式的访问,允许您轻鬆地更新应用程式并从中记录信息。My.Application 也可用于访问应用程式的命令行参数,或在应用程式开始或结束时运行代码。
剪贴簿
My.Computer.Clipboard 对象提供了更为容易的剪贴簿读写访问,同时提供了用于清除剪贴簿和确定剪贴簿上存储的数据类型的方法。
计算机资源
通过 My 对象可以访问很多计算机资源,包括计算机的时钟、键盘、滑鼠、连线埠和注册表。
档案输入/输出
My.Computer.FileSystem 对象提供可简化档案 I/O 的档案访问方法和属性。使用 TextFieldParser 对象可以分析大型分隔的或固定宽度的文本档案,而像 WriteAllText、WriteAllBytes、ReadAllText 和 ReadAllBytes 这样的方法在提高性能的同时使对档案的读取和写入更加直观。类似地,GetFileInfo、GetDirectoryInfo 和 GetDriveInfo 方法提供关于档案、目录和驱动器的信息。
网路操作
My.Computer.Network 对象提供方法和属性,可用于上传和下载档案、检查连线状态和确定远程计算机是否可用。
资源
使用 My.Resources 对象可以访问像音频资源、图示资源和本地化资源这样的资源。
可以使用“项目设计器”的“资源”页来添加和管理资源。
用户设定和应用程式设定
使用 My.Settings 对象可以保持和更改用户设定以及读取应用程式设定。有关更多信息,请参见访问应用程式的设定。
也可以使用“项目设计器”的“设定”页来管理应用程式设定。
数据访问
Visual Basic 2005 包括多个用于辅助开发访问数据的应用程式的新功能。数据源配置嚮导简化了将应用程式连线到资料库、Web 服务和用户创建的对象中的数据的过程。
新的“数据源”视窗提供了一个用于查看项目可用数据及关联数据的中心位置,并且允许您通过将项从视窗拖到窗体上来创建数据绑定控制项,从而降低了数据绑定的複杂性。
现在可以使用 Visual Studio 生成的新 TableAdapter 对象完成数据集的填充、查询的运行和存储过程的执行。使用新的本地数据功能可以在应用程式中直接包含 Microsoft Access 资料库档案和 Microsoft SQL Server Express 资料库档案。
设计时增强功能
1.编辑并继续
使用“编辑并继续”可以在应用程式在调试器下运行时对其进行更改,而不必停止和重新启动应用程式。继续执行应用程式时会立即套用在中断模式中所做的更改。
2.“属性”(Property) 视窗中的属性 (Attribute) 编辑
现在可以在“属性”(Property) 视窗中编辑套用到类和方法的公共属性 (Attribute),而不必在代码中套用它们。
3.IntelliSense 筛选
现在可以调整代码编辑器中 IntelliSense 提供的详细信息的级别。显示 IntelliSense 视窗时,可以通过单击“常用”选项卡筛选掉不太常用的成员,或通过单击“全部”选项卡查看可用的所有内容。通过调整级别,可以在不需要不常用的或深奥难解的成员时将其轻鬆筛选出来,或在需要时包含它们。
4.区域 IntelliSense
“区域 IntelliSense”是一个 Visual Basic IntelliSense 功能,该功能以不同的颜色在语句结束列表中显示不具有足够的许可权来在指定的安全区域运行的某些项。使用此设计时支持可以更轻鬆地开发在部分信任的情况下运行的应用程式。
5.IntelliSense 代码段
IntelliSense 代码段库由 380 个预编写的代码片段组成。可以向代码添加这些可重用的例程并使用代码包含的指针编辑它们。当在“代码编辑器”中右击然后单击“插入代码段”时代码段可用。它们也可通过键盘快捷键使用。
代码段任务的範围包括创建自定义异常、传送电子邮件讯息以及绘製圆形等任务。有些代码段任务则是常用编程结构的简单扩展。该库是可扩展的;您可以创建符合业务需要的代码任务并将其添加到库中。还可以从第三方软体供应商和 Visual Basic 社区站点下载更多库任务。
6.错误纠正和警告
使用“智慧型编译错误纠正”,代码编辑器可对常见的错误和警告建议解决方案,并允许您选择适当的纠正措施,然后对代码套用纠正措施。当出现错误时,如果在波形曲线右下方有一个符号,那幺,将滑鼠悬停在波形曲线上就可将该符号转换为一个智慧型标记面板。单击该智慧型标记面板可打开“错误纠正选项”帮助器视窗,此视窗提供错误说明、建议可能的修複方法,并且在适当的位置还允许您预览修复结果。
7.异常助手
默认情况下,调试应用程式时会打开“异常助手”以辅助处理未处理的异常。如果您选择该选项,则可以更改环境以便在代码内发生任何异常时出现该助手。“异常助手”列出了异常的类型、特定于已引发的异常的讯息、疑难解答提示列表和可能套用的操作。
8.XML 文档
使用 XML 代码文档可以将代码中的类文档化并将该文档公开为 XML。得到的 XML 文档可以用各种方法来使用和显示,从而可以在编写代码时创建代码的文档。
9.“文档大纲”视窗
除了 ASP.NET 网页和 HTML 页,“文档大纲”视窗现在还支持 Windows 窗体的大纲视图。在编辑器的“设计”视图中,可以使用“文档大纲”视窗来在 Windows 窗体上的控制项之间进行导航。若要访问此视窗,请在“视图”选单上单击“其他视窗”,然后单击“文档大纲”。
用于管理项目、设定和资源的项目设计器
在“项目设计器”中可集中管理项目的属性、设定和资源。它可以使用“项目”选单上的“属性”命令访问。
设定设计器
使用“项目设计器”的“设定”页可指定项目的应用程式设定,此设定可以是用户範围的或应用程式範围的。此功能替换动态属性。
资源设计器
“资源设计器”是一种用户接口工具,可用来管理项目使用的资源(例如,字元串、图像、图示、音频和档案)。它使用 My.Resources 对象创建您在运行时可以访问的强类型资源。有关通过 My.Resources 对象访问资源的信息,请参见访问应用程式资源。
“项目设计器”的“资源”页承载“资源设计器”的实例,用于在单一位置 (Resources.resx) 存储和维护资源。
ClickOnce 部署
使用 ClickOnce 部署可以发布能像 Web 应用程式一样轻鬆地安装、更新和运行的、自行更新的 Windows 应用程式和控制台应用程式。
使用“项目设计器”上新的“安全”、“签名”和“发布”选项卡可以自定义 ClickOnce 部署。使用“生成”选单上新的“发布”命令(或“解决方案资源管理器”中的快捷选单)来打开“发布嚮导”(一个分步指导您完成应用程式发布的工具)。
64 位应用程式部署
ClickOnce 和 Windows Installer 部署都支持在 64 位平台上安装。
扩展示例
Visual Basic 2005 附带超过 60 个示例应用程式。涵盖的新功能包括:
转载请注明出处海之美文 » Visual Basic 2005