博文
细说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的界面继承性创建伪实现的对象继承,但现在不必这样做了。
......
C#简明教程(2006-09-03 16:56:00)
摘要:首先讲解一下c#,这里只是粗略的讲解,详细内容请购买相关书籍,或参阅相关文档。c#已经取消了c++中的指针,并且在c++中大量被使用的操作符 (:: ->)已经不在出现,c#中指支持一个"."。c#具有面向对象编程语言的所有特性,如封装、继承、多态等。而且比java更面向对象,每种类型都可以看作一个对象。但c#指允许单继承,即一个类不会有多个基类。另外,c#没有了全局函数,没有了全局变量,也没有了全局常量。一切都必须封装在一个类中。
下面举一个控制台应用程序的小例子:
using System;
class MikeCat
{
public static void Main()
{
Console.WriteLine("迈克老猫c# asp.net入门系列教程--欢迎访问老猫的理想");
}
}
在c#中程序总是从Main()方法开始,Main()方法必须且只能包含在一个类中,Main()方法返回的类型可以是void(无返回值)或int(返回代表应用程序错误级别的整数)。
上面的using System;用于导入名字空间(Namespace)用来表明类的层次关系。如果不用using导入名字空间,则每次用某一个类时就得在类名前面加上名字空间。
c#程序的输入输出通过Console来实现。Console是System名字空间下的一个类。在屏幕上输出一个字符串用Console.WriteLine(),接受输入设备的输入用Console.ReadLine()方法。
&nbs......
从 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......
VB.Net入门学习笔记(2006-09-03 16:33:00)
摘要:VB.Net学习笔记
前言
微软的.Net开发平台庞大且复杂,对于一般的开发人员来讲面临最现实的要求就是在短时间内掌握VB.Net的开发技巧,并希望找到一个捷径。虽然学习一门语言应该没有什么特别的捷径可以走(本人也不赞成所谓的21天精通***),但了解他人的学习方式和快速把握语言的重点还是有必要的。
我大约从2000年底开始接触.Net,几年来一直致力于.Net的开发和培训,或多或少也有了一些心得,现在写来为准备加入.Net战线的各位做一点贡献。
基础概念和语法
学一门语言,特别是现在都是可视化的开发了,但我建议还是不要急着先去拖拉几个控件,而是踏踏实实的先了解一下这门语言的概念、语法和规范。
VB.Net虽然和以前的VB6在语法上非常的接近,但由于现在的VB.Net是全新的面向对象的语言,所以两者还是有些区别的。
正如大家所知道的,现在VB.Net已经全面支持各种面向对象的特性了,并且还有了一些其他.Net环境所需要的特性:继承、重载、重写属性和方法、实现构造函数和析构函数、接口、委托、异常、命名空间、程序集、特征编程、多线程、共享成员。(我们在后面的笔记中会逐步的来探讨这些特征的。)
先简单的描述一下VB.Net的语法,虽然它和VB6是如此的象像。所以讲述VB.Net的语句其实是对VB6语句的回顾,但有些语句是原先VB6所没有的。
VB.Net语句分为:声明语句、赋值语句、条件语句、循环语句、数组处理语句、异常语句、控制流语句、调用语句、锁语句
声明语句
在VB.Net、中声明往往是指变量的声明。
对于局部变量我们使用Dim修饰符进行声明。并且依然可以使用Const来修饰该变量为常数,Static作为描述静态变量依然有效。
声明举例(对于类和数组我们在后面描述)
Const s As String = "Hello" ''''常数局部变量
Dim b As Boolean ''''规则局部变量
 ......