从这一章开始,我们将通过一个系列的讲座来向诸位展现Visual Basic .Net的独特魅力以及使用它开发应用程序的基本方法。Visual Basic .Net是微软公司在2002年推出的一种开发基于.Net平台应用程序的开发语言,也是微软公司极力推荐的一种开发.Net平台应用程序的开发语言。首先还是让我们来简单了解一下Visual Basic .Net和其前一个版本,也是目前世界上拥有最多使用者的开发语言--Visual Basic 6.0的主要区别。
一. Visual Basic和Visual Basic .Net的主要区别:
虽然说Visual Basic .Net是Visual Basic 6.0的后继版本,但在我看来Visual Basic .Net
除了在语法上还保留Visual Basic原有的踪影以外,因为二者几乎在90%以上保持相似或相同。但在其他很多方面,Visual Basic .Net都和Visual Basic截然不同。也许正是这些不同点,才使得Visual Basic .Net功能更强大,更有生命力,但同样也为Visual Basic程序员转型为为Visual Basic .Net程序员带来了困难。因为Visual Basic .Net提出了很多新的功能、概念和观点,掌握Visual Basic .Net不仅要掌握语法,还需要理解并运用这些新的功能、概念和观点。当然也需要掌握.Net框架,理解CLR(Common Language Runtime,通用语言进行时)。下面就从数据访问、Web开发和组件创建三个方面来简要谈谈二者的区别:
1. 数据访问:
不同点主要表现在:数据访问技术、数据访问具体实现方法和数据绑定上的不同。
在数据访问技术上,Visual Basic 6.0是通过ADO(Active X Data Object,即:Active X数据对象)来实现对数据库访问的。同时为了保证对早期版本的兼容,也提供RDO(远程数据对象)和DAO(数据访问对象)二种数据访问技术。在Visual Basic .Net中是使用ADO.NET来访问数据库,ADO.NET是.NET框架的一部分,其对应的类库是.Net FramWork SDK的真子集。ADO和ADO.NET这两种技术在概念、功能和实现上都有许多差异。由于篇幅所限,这里就不一一介绍了。其实在Visual Basic .Net中也可以使用ADO来访问数据库,但ADO在Visual Basic .Net中是以COM组件的形式出现的,通过添加引用才可以在Visual Basic .Net中使用。添加引用的过程,其实就是对COM组件互操作。经过互操作后的COM组件,已经并非先前意义上的COM组件,而是转变成可供Visual Basic .Net直接使用的.Net类库。
在数据访问的具体实现方法上,Visual Basic 6.0实现数据访问主要是两种方法:其一是在程序设计阶段,可通过把数据源绑定到ADODC控件或使用数据环境;其二在运行时,可以通过编程方式创建记录集RecordSet对象并与记录集对象交换数据。同样在Visual Basic .Net中实现数据访问的方法主要也是二种:其一是在程序设计阶段,通过创建、配置数据适配器DataAdapter和生成数据集DataSet;其二在运行中,通过编程方式动态创建、配置数据适配器和创建、生成数据集。
在数据绑定(Data Bind)上,在Visual Basic 6.0中实现数据绑定通过设置控件的下列属性来实现:DataChanged、DataField、DataFormat、DataMember 和 DataSource。通常是把控件的显示属性绑定到数据源中的相应字段。在Visual Basic .Net中,数据绑定的应用范围可广泛得多,Visual Basic .Net中可以将任何控件的任何属性绑定到包含数据的任何结构中。
2. Web开发:
Visual Basic是使用Active Server Page(简称ASP)来创建在 Web应用程序。在ASP中,编写Web页面并非纯正的Visual Basic语言,而是Visual Basic脚本语言--VBScript。在Visual Basic .Net中是使用ASP.NET技术来编写Web页面。在ASP.NET中使用的也不再是脚本语言,而是真正意义编程语言,其中就可以是Visual Basic .Net。开发过ASP页面的朋友都清楚,虽然编写ASP页面对开发工具要求很低,但由于其是面向过程式开发,所以稍微复杂一点的ASP代码都显得杂乱无章,这都给程序设计、调试、修改带来了麻烦。而Visual Basic .Net是建立在新的框架结构上,Visual Basic .Net完全支持Web编程。凭借ASP.NET的Web 应用程序、XML Web services等等基于Web上的功能,使得Visual Basic .Net开发Web 页面与开发Windows编程很相似,Web页面代码也不显得有条有理了。
3. 组件创建:
在使用Visual Basic 6.0和Visual Basic .Net编写应用程序时,虽然都可以通过从工具箱中选择组件,通过拖入方式在应用程序中加入组件,但二者在实现机理上却存在根本不同。在Visual Basic 6.0中,应用程序中创建的组件全部是COM组件,即可在COM应用程序中使用的ActiveX控件、ActiveX 类型的DLL 和 ActiveX类型的EXE。而在Visual Basic .Net中,向窗体中拖入的组件,都是基于继承,从.Net框架提供的SDK中相应的类继承,经过实例化后,通过添加功能才把组件加入到设计窗体中。这些过程都可以在Visual Basic .Net的源代码中找到。Visual Basic .Net中使用的每一个组件都是从Component或Control基类派生出来的。
当然Visual Basic和Visual Basic .Net之间还存在很多差别,如:Visual Basic 6.0 只提供单线程模式,并不支持多线程。而在Visual Basic .Net全面支持多线程。并且在Visual Basic .Net中还增加了结构化异常处理等新的功能。所以对于那些Visual Basic的程序员,从Visual Basic程序员转型到Visual Basic .Net就有极强的必要性,下面就简要介绍一下这种必要性。
二.从Visual Basic转型到Visual Basic .Net的必然和必要性:
虽然Visual Basic得到了很多人的认可,也有许多配套产品都提供了Visual Basic的接口。但随之时间的延续,其缺点也逐渐暴露了,有些甚至是无法"容忍"的。首先作为一种解释性的语言,不仅程序执行速度慢,并且在分发应用程序时,还需要带上解释库;其次Visual Basic并非完全的面向对象的开发语言,从根本上说,它应该是一种面向过程的开发语言。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)而Visual Basic .Net做为下一代的Visual Basic语言,它是一种为开发.Net平台应用程序而度身定做的程序语言。因为Visual Basic .Net中完全集成了.Net FrameWork(.Net框架)和CLR(Common Language Runtime,即:公共语言运行时)。同时.Net 框架和公共语言运行时又共同提供Visual Basic .Net语言互操作性、垃圾资源回收、可靠安全性和版本改进的支持。通过Visual Basic .Net能够简便、快捷地创建.Net平台应用程序、XML Web services 和 ASP.NET Web 应用程序。Visual Basic .Net做为开发.Net平台的程序语言,那它就为开发现跨平台程序创造了可能。因为我们知道,微软推出.Net,其目的之一就是实现跨平台。虽然目前微软只提供了在Windows平台上运行的.Net框架,还无法实现真正意义上的跨平台,但随着MONO的出现(虽然它还存在很多问题,并且目前的MONO只为C#提供支持),但可以预见的是在不久的将来,Visual Basic .Net实现Write Once And Run AnyWhere的时间不会太久。
Visual Basic .Net是一种编译性的语言,但这种编译和以前接触的编译有所区别。因为经过Visual Basic .Net编译器编译后得到文件并不是可以在计算机直接运行的二进制文件。它的性质是一种IL文件(中间语言文件)。在运行IL文件时,首先是通过CLR下的JIT(即时编译器),把这种IL文件再编译成二进制文件。我们看到的程序运行,其实是经过JIT编译后的二进制文件在执行。这时可能有很多朋友会问,这种二次编译是否多此一举,具体实现中是否很麻烦,是否会影响程序的运行速度?二次编译的确是影响了程序运行的速度,但它却为实现跨平台带来了可能。其实这种编译过程犹如Java中的JVM(Java虚拟机)。正是JVM才使得Java能够开发出跨平台的应用程序。二次编译是CLR在.Net框架下自动实现IL文件到二进制文件转变的,它是一种自动完成的,并不需要人员的参与,所以它并不会给程序执行带来麻烦。
Visual Basic .Net 还是一种真正的面向对象的开发语言,可以说OOP思想已经深入到语言中的任一角落,如:在Visual Basic .Net中创建的Windows组件,就是从类中继承,类经过实例化得到的。Visual Basic .Net还增加了许多新功能和改进功能,如继承、接口和重载等,这些都使Visual Basic .Net成为功能强大的面向对象的编程语言。
微软公司在推出Visual Basic .Net的同时,还推出了Visual Basic .Net的开发工具Visual Studio .Net。Java程序员羡慕Visual Basic .Net程序员的重要原因之一就是,Visual Basic .Net拥有一个任何比目前Java程序员所使用的开发环境都好的集成开发环境--Visual Studio .Net。
三.Visual Basic .Net开发利器Visual Studio .Net简介:
微软公司提供了四个不同的Visual Studio .Net版本,分别是:企业级结构设计版、企业级开发版、专业版和学院版。其中学院版主要是为在校大学生学习Visual Studio.Net准备的,它又分成三个独立的版本:Visual C#标准版、Visual Basic .Net标准版和Visual C++标准版。上述的每一个版本的价格都不菲。现在在市面上买到主要是7张CD碟片的Visual Studio .Net企业级结构设计版。(请注意:本文介绍的是Visual Studio .Net 2002,.Net FrameWork SDK 版本号是3705)下面就以此版本讨论一下如何安装Visual Studio .Net。
1、 安装 Visual Studio .NET 版本的系统要求:
每一个版本的Visual Studio .Net有着不同的组件组合,这也就决定了对计算机有着不同的系统要求。建议您的计算机系统满足下列要求:
操作系统:
Windows XP 专业版、Windows XP Home、Windows 2000服务器版、Windows 2000专业版、Windows 4.0 Workstation、Windows NT 4.0 Server、Windows .Net Server版
处理器:
Pentium II 级、主频450 MHz以上处理器,推荐使用Pentium III 级,主频600MHz处理器
内 存:
Windows XP 专业版160 MB RAM
Windows 2000 专业版 96 MB RAM
Windows 2000 服务器版192 MB RAM
Windows NT 4.0 Workstation 64 MB RAM
Windows NT 4.0 Server 160 MB RAM
硬 盘:
Visual Studio .Net学院版在安装驱动器上有 2.5 GB可用空间,包括系统驱动器上的 500 MB
专业版和企业版在安装驱动器上有 3.5 GB可用空间,包括系统驱动器上的 500 MB
CD或DVD驱动器:必须
视 频:800 x 600分辨率,256 色。推荐使用16 位增强色
鼠 标:Microsoft 鼠标或兼容指针设备
2、安装Visual Studio .Net
这里主要谈论市面上最常见的Visual Studio .Net 2002企业级结构设计版的安装过程。其他版本与之类似。
市面上的Visual Studio .Net企业级结构设计版是由7张CD光盘构成,其实只需要其中的前5张光盘就能够正确安装Visual Studio .Net了,其中第五张光盘是组件更新光盘。安装Visual Stuido .Net了的具体步骤如下:
(1)、关闭所有已打开的应用程序,以避免在安装过程中发生多余的重启动
(2)、关闭计算机中的反病毒程序,因为安装程序要运行访问文件系统对象的脚本,此时反病毒程序可能会提示警告,严重的可能造成无法正确安装。
(3)、在上述工作完成后,插入Visual Studio .NET 第一张光盘,并执行其中的Setup.exe程序。此时安装程序首先扫描您的计算机以了解已安装的组件。如果该扫描过程确定系统需要更新组件,则在弹出的对话框中会出现"步骤 1:安装 Windows 组件更新"。选择步骤 1 更新系统组件,此时安装程序会提示您插入组件更新光盘,即第五张光盘。如果不需要组件更新,则该选项不可用。更新系统组件以后,计算机会重新启动。此时再插入第一张光盘,对话框将启用"步骤 2:安装 Visual Studio .NET"。选择步骤 2,安装程序会提示您选择要安装的内容和位置,选择后安装的内容和位置后,单击按钮就开始安装 Visual Studio .NET了。接下来的工作就是根据安装程序提示在光驱中放入不同的光盘了。
(4)、Visual Studio .Net安装完毕后,系统会弹出提示框,单击按钮重新启动计算机后,Visual Stuio .Net的全部安装工作就完成了。
下面就使用这个安装成功的Visual Studio .Net开发出本系列的第一个Visual Basic .Net程序"Hello World!"。
四. 第一个Visual Basic .Net程序"Hello World!":
如果你没有Visual Studio .Net,你也可以通过一个文本编辑器和从微软下载安装.Net
Frame Work SDK来编写Visual Basic .Net,文本编辑器来编辑Visual Basic .Net源程序,安装下载的.Net FrameWork SDK后就会用以Visual Basic .Net的编译器Vbc.exe。通过这个编译器就可以编译、联接用文本编辑器编辑的Visual Basic .Net源文件。虽然这种做法能够让我们更加了解Visual Basic .Net的运行机制和一些底层的机理,但却很难推广,一方面是Visual Studio .Net的确是太优秀了,利用文本编辑器很难实现如资源编辑、组件编辑等操作。另外一方面,Visual Basic .Net源文件结构相对复杂,用文本编辑器编写的代码会导致大量的错误,并且这些错误有很难查出来,而利用Visual Studio .Net来开发Visual Basic .Net应用程序就能够大大避免上述的尴尬,并且能够方便的调试编程中出现的各种警告、错误。
1. 本系列文章中介绍程序的编写、调试和运行的软件环境:
(1).视窗2000服务器版。
(2).Visual Studio .Net 2002企业级结构设计版。
2. 用Visual Studio .Net开发"Hello World!"程序:
我们知道"Hello World"一般是命令行程序,而这种程序在Visual Studio .Net中被称为"控制台程序"。下面是Visual Studio .Net编写控制台"Hello World!"程序的具体步骤:
(1)、启动Visual Studio .Net。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)(2)、选择菜单||后,弹出对话框。
(3)、将设置为。
(4)、将设置为。
(5)、在文本框中输入。
(6)、在的文本框中输入,然后单击按钮,则Visual Studio .Net会按照上面设定的参数创建一个控制台应用程序项目,具体如图01所示。
图01:"Hello World"控制台程序的界面
(7)、在窗口中,双击Module1.vb文件,进入Module1.vb文件的编辑界面。
(8)、Visual Studio .Net已经为产生Main()函数。在系统创建的Main()函数中加入下面一行代码就可以了:
Console.WriteLine ("Hello World!")
(9)、选择|菜单或者按快捷键Ctrl+S,保存所做的修改。
(10)、此时单击快捷键Ctrl+F5运行程序就可以得到图02所示运行界面:
图02:"Hello World"控制台程序的运行界面
通过以上可见利用Visual Studio .Net编写控制台"Hello World!"程序,自始至终只需输入一行代码,Visual Studio .Net自动实现源程序编译、联接等过程,避免在命令行提示符下敲编译命令的苦恼。不仅如此Visual Studio .Net自动的语法检测,既给程序员带来便捷,又避免了因为拼写造成的不必要的错误。等等这些都比起用行编辑器来编写Visual Basic .Net程序要方便、简洁。
"Hello World!"程序是一个控制台程序,而后面的章节中程序的类型主要是Windows应用程序(一般简称WinForm程序)。利用Visual Studio .Net编写WinForm应用程序和控制台应用程序步骤基本相似。下面就介绍一下Visual Studio .Net编写WinForm类型的"Hello World"程序的基本步骤。
3. "Hello World!"程序的WinForm版本:
"Hello World!"程序的WinForm版本的可是我取的名字。此程序同样也是输出"Hello World!"字符串,只不过不是在命令提示行中实现,而是通过单击程序中的按钮,会弹出一个消息框,并在消息框中显示"Hello World!"字符串。下面是"Hello World!"程序的WinForm版本的具体步骤:
(1)、启动Visual Studio .Net。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)(2)、选择菜单||后,弹出对话框。
(3)、将设置为。
(4)、将设置为。
(5)、在文本框中输入。
(6)、在的文本框中输入,然后单击按钮,则Visual Studio .Net会按照上面设定的参数创建一个Windows应用程序项目,具体如图03所示。
图03:"Hello World"Windows应用程序的界面
(7)、选择中的,并从中拖入一个Button组件到窗口,此组件名称为button1,双击拖入的button1组件, Visual Studio .Net会切换窗口到Form1的设计窗口,并自动产生button1的Click事件对应的代码。
(8)、在button1的Click事件的代码区添加下列代码,下列代码的功能是弹出"Hello World!"提示框。
MessageBox.Show (" Hello World!")
(9)、选择|菜单或者按快捷键Ctrl+S,保存所做的修改。
(10)、选择|菜单,则Visual Studio .Net会自动编译、连接源程序,并生成Hello_World程序WinForm版的执行文件。
(11)、选择|菜单或者单击快捷键"F5",则开始运行Hello_World程序WinForm版程序,单击程序中的按钮,则弹出"Hello World!"提示框,具体如图04所示。
图04:"Hello_World"程序WinForm版程序的运行界面
至此Hello_World程序WinForm版程序的全部编写工作就完成了。对于其他的WinForm程序,其编写的基本步骤是相似的,只不过程序中涉及到更多的组件、类和其他的调用。无非是上面这些操作步骤的变形和再组合。
五.总结:
本文介绍了Visual Basic .Net的优越性及其和其前一个版本Visual Basic的主要区别。以及安装Visual Basic .Net开发工具Visual Studio .Net的基本方法和使用Visual Studio .Net开发出二种不同类型Visual Basic .Net应用程序的基本步骤和方法。当然要完全掌握、精通这些内容不是一篇文章所能够完成的。在后面的内容中,将结合更多具体的示例逐步介绍。