博文
VB.NET开发人员必备参考书(2006-09-05 20:08:00)
摘要:
【导读】本文为VB.NET开发人员介绍了基本必备的参考用书,有程序设计和软件工程两个方面的知识。
一、程序设计
1.《Programming Microsoft Visual Basic .NET(Core Reference)》
(Visual Basic NET技术内幕)
本书内容深入全面,涵盖的主题十分丰富,并结合大量典型的代码示例来讲解Visual Basic.NET的核心编程技术。本书共分6大部分。首先介绍了Visual Basic.NET语言的基础知识,以及一些有关类的新特性,例如继承、委托和事件等。然后详细讲解了Visual Basic.NET面向对象的特性,并介绍了.NET对字符串、数字、日期/时间和文件类的内在支持,以帮助您掌握这些最重要的API元素。之后,描述了新的Windows窗体、通过ADO.NET进行数据库编程和Win32技术支持等,并讲解了如何通过程序集来部署Visual Basic.NET应用程序。最后介绍了Internet应用程序的开发,包括Web窗体、ASP.NET应用程序和诸如缓存技术、配置等新特性,以及用于Web开发的基本技术。 本书在多处指出了Visual Basic.NET与Visual Basic 6之间的区别及其新特性,并介绍了在Microsoft.NET环境下导入和重用现有的V1sualBasic代码的最佳方式。通过本书的学习,您可以全面掌握Visual Basic.NET编程技术。
对于想转向Visual Basic.NET的Visual Basic 6开发人员,本书也是最佳选择。 本书介绍了有关Visual Basic.NET编程的核心技术。通过本书的学习,您可以更加灵活高效地利用Visual Basic.NET创建应用程序,包括功能强大的win32应用程序以及高性能的、可伸缩的web应用程序等。本书讲解了在.NNE框架中导入和重用现有Visual Basic代码的最佳方式,还讨论了如何充分利用Visual Basic.NET先进的面向对象的新功能。本书涵盖了公共语言运行库、多线程程序、Windows窗体应用程序、GDI十图形编程、Windows服务、用于数据库程序的ADO. NET类、ASP.NET Web宙体以及XML Web服务等方面的内容。并......
VB.NET 的新特点:变量,类型,数组,属性(2006-09-03 17:01:00)
摘要:在MSDN杂志2001年二月版中我写了一篇文章,介绍了新的Microsoft.NET架构和用Visual Basic .NET在这个平台下开发软件所要遵循的规则。在这篇文章中,我介绍了Microsoft彻底改造开发平台的动力以及对VisualBasic语言做重大修改的根本原因。现在我介绍的东西将建立在这个话题的基础之上,所以我假定你已经读过VisualBasic.NET: New Programming Model and Language Enhancements Boost Development Power这篇文章,或者已经对.NET平台有了较深的理解.
我在二月份的文章中更多的是总体介绍了commonlanguage runtime(CLR),现在我将着重讨论VisualBasic .NET编程方面的新特点。一旦你学会如何运用这些新的特点,我肯定你也会认为VisualBasic .Net是比以前版本更好的工具。不过,我不可能在一个专栏中涉及所有的新特点,所以这个月的专栏将是一个系列的开端,这个专栏系列将持续几个月。
如果你以前经常使用Visual Basic的话,你会发现VisualBasic .Net有点熟悉,又有一点陌生。在可以利用许多以前就具备的技巧和知识的同时,仍然有很多东西要学。
许多公司花费了大笔的资金投资于Visual Basic6.0编写的软件,这些公司将面临如何处理这些已存在的软件的问题。我在介绍Visual Basic .NET新特点的同时,将会介绍影响把代码移植到Visual Basic .NET的关键所在。正如你将看到的,会有很多问题要考虑。随着编程语言变得更加一致、强大和友好,你会发现把Visual Basic 6.0项目改写成Visual Basic .NET项目需要很大的努力和技术。如果顺利的话,你将有幸在不远的将来从零开始编写一个VisualBasic .NET的项目。
新的便利:
我首先将介绍用一行代码实现声明并初始化变量的新语法。尽管许多初学者会认为这种语法是理所当然的,但实际上那些已习惯于在Visual Basic用两行代码来声明和初始化变量的程序员会对此感到很欣慰。
这儿是利用了Visual Basic .NET语法优势的三个例子:
Dim x As Integer = 10
Dim ......
细说VB.NET(2006-09-03 16:59:00)
摘要:微软公司提出的.NET概念,正从各个方面渗入到我们的生活中。它将产生的作用,诚如一位业内名家所描述的:“请忘掉你认为你所知道的,.NET将改变一切”!既然如此,无论是IT业内人士、还是企业决策者,快速领会这个新概念的含义及深远影响,都显得非常必要。
概要
VB正在不断地发展中,它具备了以前VB编程人员作梦都想拥有的性能,想象一下你将随心所欲的利用这些性能,是不是很令人激动?然而,这个计划于2001年第四季度上市销售的VB版本可能会给你带来些小麻烦,因为要完全掌握它需要一个较长的学习周期,而且其中包括了一些微妙的变化,你可能在使用他们的时候出现错误。
需要准备的条件:建议获得Visual Basic.NET beta 版,这些内容对所有VB程序员都是有用的。
Microsoft .NET平台的涵盖面很广,而且很难预测它的真正意义。我们注意到,现在有很多关于.NET的不正确的理解。因此在这篇文章里,我们将把给你一个VB.NET到底是些什么的概念,从头到尾说一说它是什么、它能干什么以及怎样才能充分发挥它的优点。我们要特别地细看一下IDE的改变、面向对象特征、底层结构的改变、一些“现代化”的语法以及包装和分发方面的增强。我们将讨论这些功能能为你做什么,解释他们的优点与不足。由于这些改变是如此之大,而且涉及方方面面,因此希望这一篇文章能满足你全部的要求是不现实的,要了解这方面全部的知识请参阅有关文章和书籍。
Visual Basic.NET 和你现在所知的开发工具完全不同,并且这个新版本会改变你的未来。到底有多大不同?如果你觉得从VB3迁移到VB4是一个很大的变化,那这次VB.NET会让你感到震惊。这次升级与其说是VB的一个新版本,还不如说是迁移到一个新平台上,你所面临的情况就和从DOS迁移到Windows差不多。
VB获得了继承能力
VB.NET预期拥有的第一新功能就是继承能力。继承是VB开发者长期以来要求得最多的功能。判断一下对继承的要求是不是像早些时候对本地化编译器的要求一样将是一件很有意思的事,后者,当Microsoft提供了一个以后,你就几乎听不到多少这方面的言语了。
Visual Basic现在是真正的面向对象语言了。过去,你可以通过使用VB的界面继承性创建伪实现的对象继承,但现在不必这样做了。
......
从 Visual Basic 6.0 到 Visual Basic.NET 的转(2006-09-03 16:52:00)
摘要:从 Visual Basic 6.0 到 Visual Basic.NET 的转换(1)
Microsoft Visual Basic.NET 是 Microsoft Visual Basic? 的后续版本,它是基于 .NET 框架重新设计的,您可以用它来轻松地创建用于 Microsoft Windows? 操作系统和 Web 的下一代应用程序。使用 Visual Basic.NET,可视化开发 Web 应用程序、Web 服务、Windows 应用程序和服务器端组件将变得轻而易举。此外,Visual Basic.NET 使用了 Windows 应用程序的 XCOPY 部署方案,使您不必再担心 DLL 版本问题。随着 Visual Basic.NET 的发布,“DLL 噩梦”将成为过去。
在设计 Visual Basic.NET 时,我们着眼于世界各地 Visual Basic 开发者的要求。Visual Basic 语言现在是真正的面向对象语言,并支持实现继承。窗体设计器支持可视化继承,并包含窗体自动调整大小、资源本地化和访问选项支持等新特性。现在的数据工具继续支持 XML 数据,并可以共同使用设计时数据绑定和断开数据。此外,Visual Basic.NET 是基于 .NET 框架直接创建的,因此可以使用所有的平台特性,并能够与其他 .NET 语言协同工作。
在发布这些功能的同时,我们对产品的几个方面作了修改。本文档介绍了从 Visual Basic 6.0 到 Visual Basic.NET 的一些变更,并解释了进行这些变更的原因。本文还介绍 Visual Basic.NET 升级向导的功能。它是作为产品的一部分提供的工具,可以帮助您将现有的应用程序升级为 Visual Basic.NET 版本。
有关从 Visual Basic 6.0 升级到 Visual Basic.NET 的其他信息,请参阅白皮书《准备将 Visual Basic 6.0 应用程序升级到 Visual Basic.NET》(英文)。此白皮书介绍了升级过程并提供了尽可能顺利升级的建设性意见。
语言
Variant
Visual
Basic 6.0 Variant 是一种特殊的“通用”数据类型,可以包含除定长字符串之外的各类数据。Object 变量......
从 Visual Basic 6.0 到 Visual Basic.NET 的转(2006-09-03 16:52:00)
摘要:升级
向导
将 Currency 数据类型转换为 Decimal,因此以下代码:
Dim x As Currency
升级后将变为:
Dim x As Decimal
Date
Visual
Basic 6.0 Date 变量在内部以 Double 格式存储,能够作为 Double 类型的变量操作。
Date 变量存储为 IEEE 64 位浮点数,表示从 100 年 1 月 1 日到 9999 年 12 月 31 日的日期和从 0:00:00 到 23:59:59 的时间。任何可识别的文字日期都可以指定为 Date 变量。
当其他数字类型转换为 Date 时,小数点左边的值表示日期信息,而小数点右边的值表示时间信息。午夜为 0,正午为 0.5。整个数值为负表示 1899 年 12 月 30 日之前的日期。
Visual Basic.NET
Date 在内部存储为 64 位整数,因此无法直接作为 Double 进行操作。.NET 框架提供了 ToOADate 和 FromOADate 函数以进行 Double 和 Date 之间的转换。将日期表示为整数形式可以简化并加速对日期的操作。
升级
向导
升级工具并非能够检测到所有使用变量将 Date 存储为 Double 的情况,但它一般会在将 Double 指定为 Date 的位置插入适当的 ToOADate 或 FromOADate 方法。例如,以下代码:
Dim dbl As Double Dim dat As Date Dbl = dat
升级后将变为:
Dim dbl As Double Dim dat As Date Dbl = dat.ToOADate
定长字符串
Visual
Basic 6.0 除类模块的 Public 变量之外,其他变量均可以声明为定长字符串。
Visual Basic.NET
CLR 第一版不支持定长字符串。在后续版本中将添加这一支持功能。
升级
向导
在大多数情况下不会出现问题。假设为定长字符串表现方式,则以下代码:
Dim MyFixedLengthString As String * 100
升......
从 Visual Basic 6.0 到 Visual Basic.NET 的转(2006-09-03 16:50:00)
摘要:升级
向导
过程的 ParamArray 参数标记有升级警告。例如,以下代码:
Function MyFunction(ParamArray p() As Variant)
'...
End Function
升级后将变为:
' UPGRADE_WARNING: ParamArray p was changed from ByRef to ByVal
Function MyFunction(ByVal ParamArray p() As Object)
'...
End Function
声明中的 As Any 参数
Visual
Basic 6.0 本地 API 的参数可以声明为 As Any,这样对本地 API 的调用就可以传递任何数据类型。通过这一方法,可以调用参数支持两种或多种数据类型的 API。
Visual Basic.NET
重载的 Declare 语句可以定义为允许调用带有两种或多种数据类型的本地 API。例如,以下 Declare 语句:
Private Declare Function GetPrivateProfileString _
Lib "kernel32" Alias "GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
可以由两个 Declare 版本代替,一个接受 Long,一个接受字符串。
Overloads Private Declare Function GetPrivateProfileStringKey _
Lib "kernel32" Alias "GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String,......
从 Visual Basic 6.0 到 Visual Basic.NET 的转(2006-09-03 16:49:00)
摘要:升级向导
这些语句不会自动升级,因此将标记有“(statement) is not supported”[(语句)不被支持] 的升级错误。例如,以下代码:
a = VarPtr(b)
升级后将变为:
' UPGRADE_ISSUE: Function VarPtr() is not supported
a = VarPtr(b)
这也会导致编译错误。
文件 I/O
Visual
Basic 6.0 语言中包括文件 I/O 语句。
Visual Basic.NET
通过类库使用文件 I/O 操作。从语言中删除文件 I/O 语句以便在 Visual Basic.NET 中使用不同的 I/O 库。如果语言中存在文件 I/O 语句,将会使代码更加累赘,标识符 Open、Close、Print 和 Write 将成为保留字。
升级
向导
文件 I/O 语句将升级为相应的函数。例如,以下代码:
Open nput )
Debug.Print
Visual
Basic 6.0 Debug.Print 将一行文字输出到“立即”窗口。
Visual Basic.NET
Debug.WriteLine 将一行文字输出到“输出”窗口。还可以使用 Debug.Write 方法将文字输出到“输出”窗口,并且没有换行符。
升级
向导
Debug.Print 升级为 Debug.WriteLine。
资源文件
Visual
Basic 6.0 Visual Basic 6.0 支持每个工程使用一个 .res 文件。
Visual Basic.NET
Visual Basic.NET 支持多种资源文件。可以绑定窗体以自动从新的 .resX 格式资源文件中检索资源。任何 CLR 类均可存储在 .resX 文件中。
升级
向导
文件由 .res 升级为 .resX,并且代码被修改以便从 .resX 文件中加载。
Windows 应用程序
Visual Basic 窗体
Visual
Basic 6.0 Visual Basic 6.0 具有自己的窗体包......
从 Visual Basic 6.0 到 Visual Basic.NET 的转(2006-09-03 16:47:00)
摘要:升级
向导
无需特别处理。
Clipboard
Visual
Basic 6.0 Clipboard 对象提供了对系统剪贴板的访问。
Visual Basic.NET
Clipboard 类提供了在系统剪贴板上放置数据和从其上检索数据的方法。新的 Clipboard 类提供了更多功能,并且支持的剪贴板格式比 Visual Basic 6.0 Clipboard 对象更多。对象模块经过了重新构建以支持这些功能。
升级
向导
由于对象模块之间的差异,现有的剪贴板代码无法自动升级。Clipboard 语句将标记有升级错误。
动态数据交换
Visual
Basic 6.0 某些控件具有支持动态数据交换 (DDE) 会话的属性和方法。
Visual Basic.NET
Windows 窗体不支持内置 DDE。
升级
向导
DDE 属性和方法标记有升级警告。
Web 应用程序
WebClass
Visual
Basic 6.0 WebClass 是驻留在 Web 服务器上的 Visual Basic 组件,能够响应浏览器的输入。WebClass 通常包括 WebItems,用于为浏览器和公开事件提供内容。
Visual Basic.NET
Web 窗体具有 .NET 框架功能,可以用来为 Web 应用程序创建基于浏览器的用户界面。Visual Basic.NET 具有“所见即所得”的设计器,可以使用工具箱中的控件创建图形 Web 窗体。这样,Web 用户界面开发与 Windows 开发具有同样的形式。此外,当创建项目后,Internet Information Services (IIS) 服务器不必停止并重新启动即可开始部署新内容,而使用 WebClass 则不能。
升级
向导
WebClass 将升级为 Web 窗体。所有状态存储调用均标记有升级警告。可以重新编写这些代码,以使用 ASP.NET 状态管理的优势。
您也可以选择继续使用 Visual Basic 6.0 中的 WebClass 应用程序,从 Visual Basic.NET Web 窗体中......
选择VB.Net还是C#(2006-09-03 16:41:00)
摘要:面向对象的程序设计不可避免的将会出现在.Net的世界里。现在问题是,我们要选择哪一种语言呢?
(飞刀前言:如果您是VB程序员,那么本文将会为您介绍VB.Net与以前版本VB的区别,如果您是C#、C++,C,Java程序员,本文最好不要看,此文的作者的某些观点会让我们这些程序员吐血)
在VB.Net中,微软给与了VB程序员们多年来梦寐以求的东东,也就是真正的面向对象的程序设计语言。也许您已经听说了,VB.Net与他的前身VB有很大的不同,甚至您都不会认识它了。确实,他们不得不删除了一些细小的东东,同时改变了一些对象,属性以及方法,但是这些对一个VB程序员来说都不是什么大问题。实际上,我认为一旦您已经能够熟练的使用VB.Net,您会发现它比以前的VB版本更加简单和直观。因为在学习VB.Net的路上要走不少的弯路,所以我想您可能会对C#产生好奇心,盘算着是否需要放弃VB。
如果您现在已经是一个VB程序员了,而且已经有一定时间了,那么您并不需要去选择其它的语言,比如C#或Delphi。你会发现VB尽管已经的改变了不少,但是它的核心依在。最主要的变化存在于使用VB.Net中的对象、属性以及方法。不论您学习哪样.Net程序,这些都是需要重新学习的。
如果您从Dos时代便开始使用BASIC语言,那么VB.Net将会让你承受不小的打击。VB.Net已经去掉了GoSub,While/Wend以及其它一些陈旧的语句。但是微软已经发出警告,在任何情况下都不要使用非结构性语句。
VB.Net 的优势
VB.Net 拥有features,而C#没有。比如,IsDBNull()函数就只存在于VB.Net,C#中是不没有的。
VB.Net拥有求幂函数以及重新分配数组空间的Redim ,这些C#中也没有。C#对大小写很敏感,而大多数的VB程序并不习惯于区分大小写。以我个人来说,我喜欢VB中的If ....End If 以及Do ...Loop的方式,而不太喜欢C#中{}符号。Select Case语句也比C#中的switch语句更加简单和紧凑。在C#中,你不得不使用break语句去中止查询结构。在VB中,你能使用Case 1 to 50,但是在C#中你不得不使用50个独立的case语句来完成。
当你在使用VB中面象......
VB.NET教程电子版下载(2006-09-03 16:36:00)
摘要:VB.NET教程电子版下载
VB.NET面向对象的实现(CHM)
http://www.bc-cn.net/Soft/net/vbnet/edu/200602/130.html
ASP.NET 与 VB.NET 从入门到精通
http://www.bc-cn.net/Soft/net/vbnet/edu/200602/150.html
Instant VB.NET实例解析应用编程
http://www.bc-cn.net/Soft/net/vbnet/edu/200602/152.html
VB.NET学习教程
http://www.bc-cn.net/Soft/net/vbnet/edu/200602/154.html......