大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
VB.NET是基于.NET框架的完全对向对象的编程语言,而vb 6.0只是半面向对象的语言,使用vb.net可以编制出功能更加强大的windows程序。现在,我们把vb.net和vb 6.0做一下比较,看看vb.net对比vb 6.0有着什么样的特性和优点。 1.在vb 6.0中,创建对象的时候,需要等这个对象创建完毕后,再另外调用一个独立的方法对其进行初始化。在vb.net中, 可以利用构造函数为对象赋初值,这样就不需要进行烦琐的调用赋初值了。构造函数的使用,简化了编码的过程和出错的机会。 2.vb.net编写线程的能力比vb 6.0有很大的增强。 3.在vb 6.0中,需要首先声明一个变量,然后才能对其赋值,这样就需要写两行代码。在vb.net中,可以 使用初始化函数将这两个步骤合并在一行代码中完成,这个似乎微小的改进,提供了更少、更简单、更易于维护的代码。 4.vb.net基于.NET框架,开发者可以快速的可视化开发网络应用程序、网络服务、Windows应用程序和服务器端组件。 5.因为vb.net是基于.NET框架的,可以与其它.NET语言协同工作。 6.在vb.net中,通过Web窗体及ADO.NET,开发者可以快速开发可扩展的Web站点。 如果你能进一步学习vb.net,你会发现更多的新特性和优点
成都创新互联是一家集网站建设,盈江企业网站建设,盈江品牌网站建设,网站定制,盈江网站建设报价,网络营销,网络优化,盈江网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
VB.NET数据类型VB.NET中有12种不同的数据类型,可以分成三类:数值类型、文本类型和混合类型。数值类型是VB.NET数据类型的主要类型,共7种。数值类型的数据类型见下表。 数据类型表示方式取 值 范 围说 明整型Integer–2147483648~2147483647用于表示简单整数字节型Byte0~255用于简单算术运算。由于这个类型的变量可以在一个字节中存储,所以运算速度最快短整型Short–32768~32767是整型的一种形式,相对表示范围较小长整型Long–9223372036854775808~9223372036854775807是整型的一种形式,相对表示范围较大单精
度型Single–3.402823E38~–1.401298E-45(对于负数)和1.401298E-45~3.402823E38(对于正数)用于存放单精度浮点数双精
度型Double–1.79869313486232E308~–4.94065645841247E-324(对于负数)和4.94065645841247E-324~1.79869313486232E308(对于正数)用于存放双精度浮点数小数Decimal当小数位为0的时候,为–79228162514264337593543950335~
79228162514264337593543950335;当小数位为28的时候,为–7.9228162514264337593543950335~
7.9228162514264337593543950335常用于存储货币值 数值类型的数据类型 用于存放文本的数据类型有两个。文本类型的VB.NET数据类型见下表。 数 据 类 型表 示 方 式说 明字符串型String用于存放任何形式的字符串,包括一个字符或者多行字符字符型Char用于存放一个字符,它以0~65535之间数字的形式存储文本类型的数据类型 其中需要说明的是: (1) 对于String类型,可以存放任何形式的字符串,它可以是纯粹的文本,也可以是文本和数字的组合或者是数字、日期等。例如"This is a book. "和"12345"都是字符串。对于字符串类型的数据,可以进行相关的字符串操作,例如连接、截断等。 (2) 对于Char类型,可以存储的只是一个字符,注意,这个字符的存储编码必需是一个数字。在计算机系统中,可以显示很多符号(不仅仅是英文字母),为了能够正确地显示,国际上有通用的标准(例如Unicode编码),为每个字符设定了一个标准的数值来表示这个字符。其余的数据类型还有:Date数据类型、布尔数据类型和Object数据类型,其说明见下表。 数 据 类 型表 示 方 式说 明日期型Date必须用mm/dd/yyyy的格式表示,也可以存储时间(可以存储00:00:00~23:59:59之间的任何时间)布尔型Boolean取值为True和False对象型Object 其他数据类型 其中需要说明的是:在VB.NET中,对于Boolean类型的数据,当需要把布尔类型的值转换为数值类型的时候,会把True当成1来处理,把False当作0来处理。当需要把VB.NET数值类型的值转换为布尔类型的时候,会把0转换为False,而把其他的非0数值转换为True。
VB.NET和VB6.0有什么区别
Visual Basic .NET是Microsoft Visual Studio .NET套件中主要组成部分之一。.NET版本的Visual Basic增加了更多特性,而且演化为完全面向对象(就像C++)的编程语言。本文将介绍VB.NET的新特性,并比较VB6.0/VB.NET之间的区别,阐述如何利用VB.NET编写简单的应用程序。
1.1 什么是 VB.NET? Microsoft推出全新的编程和操作系统Framework——.NET,支持多种语言利用公共.NET库开发应用程序,这些应用程序在.NET Framework上运行。使用Visual Basic在.NET Framework上编程,这就是VB.NET。
首先,让我演示在VB.NET中写最简单的控制台程序:Hello World。
1.2 Hello, World!“Hello World!”是初学者学习Windows编程的代表性程序。我们的第一个程序就叫做“Hello VB.NET World!”。该程序在控制台输出一句话:“Hello VB.NET World!”,代码如下所示:
代码 1.1: Hello VB.NET World例子Imports System
Module Module1
Sub Main()
System.Console.WriteLine("Hello VB.NET World!")
End Sub
End Module
1.3 VB.NET 编辑器和编译器你可以在记事本或VS.NET IDE等任意文本编辑器中撰写上述代码,然后保存为HelloWorld.vb。 代码编写完成之后,要么在命令行、要么在VS.NET IDE中编译它。在Microsoft .NET Framework SDK中已经包括VB.NET编译器vbc.exe[][1],从IDE或是命令行都可以调用。要从命令行编译HelloWorld.vb,请在命令行窗口输入
vbc HelloWorld.vb /out:HelloWorld.exe /t:exe
编译结束后,HelloWorld.exe被创建到当前目录下。在资源管理其中双击图标或在命令行执行,程序正确地运行了。祝贺你进入VB.NET开发者的行列。
Imports 语句
如你所知,大部分的.NET类型都在名字空间(namespace)中定义。Namespace是定义和管理类别的范畴。察看.NET Framework Class Library,可以看到数以百计的namespace。例如,System namespace就包括了Console、Object等类型定义。如果想使用Console类,需要用Imports指令导入System namespace。如下所示:
Imports System甚至可以明确地调用namespace而无需用Import导入。下面的例子展示了不用Import的“Hello World!”程序:
代码1.2: Hello VB.NET World例子Module Module1
Sub Main()
System.Console.WriteLine("Hello VB.NET World!")
End SubEnd Module1.4 解析 "Hello VB.NET World!"程序第一行是:
Imports System; System namespace定义了Console类,该类用于读写控制台(命令行窗口)。然后你定义了一个module:Module Module1
…End Module所有的VB程序都包括一个Main()方法,即应用程序入口点。在例子程序中,我们调用Console.WriteLine()向控制台写入“Hello VB.NET World!”:
Sub Main()
Console.WriteLine(“Hello VB.NET World!”) End SubWriteLine()方法归属于Console类,它负责向控制台写一个带有行结束符的字符串。如前所述,Console类定义于System namespace,你通过直接引用来控制类成员。
Console类负责读写系统控制台。读控制台输入用Read和ReadLine方法,向控制台输出用WriteLine方法。
表1.1 Console类定义的方法
方法 用途 例子
Read 读入单个字符 int i = Console.Read();
ReadLine 读入一行 string str = Console.ReadLine();
Write 写一行 Console.Write("Write: 1");
WriteLine 写一行,并带上行结束符
Console.WriteLine("Test Output Data with Line");
1.5 VB.NET有什么新特点? VB.NET比 VB6.0更加稳定,而且完全面向对象。也许你还记得,VB6.0不支持继承、重载和接口,所以不是真正面向对象的。而VB.NET则支持这些面向对象特性。VB6.0有两个薄弱环节——多线程和异常处理。在VB.NET中,开发多线程应用和使用C++/C#别无二致,结构化异常处理也得到支持。稍后我们会详细解释这些特性。
下面是VB.NET的特性列表——
·面向对象的编程语言。支持继承、重载、接口、共享成员和构造器。·支持所有的CLS特性,如存取控制.NET类、与其它.NET语言交互、元数据、公共数据类型、委托等等。·多线程支持。·结构化异常处理。 1.6 名字空间与集合 前面讨论了我们的第一个VB.NET程序。该程序中首先引人注意的是名字空间(namespace)。在.NET参考文档中,你会发现每个类都归属于某个namespace。那么,namespace到底是什么?
一个namespace是类和组件的逻辑组合,其目的在于将.NET class按类别定义。微软借用了C++ class packaging概念:namespace来描述这种组合。.NET Framework中的组件被称为集合(assembly)。全部.NET代码在数百个库文件(DLL)中定义。Namespace把assembly中定义的类组织起来。一个namespace可以包括多个assembly,一个assembly也可以在多个namespace中定义。 namespace树的根节点是System namespace。在.NET Library中,每个class都在一组相似的类别中定义。例如,System.Data namespace只包括数据相关类。同样,System.Multithreading只包括多线程类。
在使用.NET支持的语言(如C#、VB.NET、C++.NET等)创建新应用程序时,你会注意到每个应用程序都被定义为一个namespace,而所有的class都归属于这个namespace。通过引用这个namespace,其它应用程序就能存取这些class。 在.NET中,代码被编译为中间语言(Intermediate Language,IL),assembly中存储了IL代码、元数据和其它资源文件。同一个assembly可以附属于一个或多个Exe/DLL。所有的.NET库都存储在assembly中。
1.7 VB.NET: 完全面向对象的编程语言抽象、封装、多态、继承是面向对象语言的四个基本属性。VB6.0不支持继承,而VB.NET则不然。所以,和C++一样,VB.NET也是完全面向对象的编程语言。
Class 和 ModuleVB.NET用Class...End Class语句对创建class。每个VB.NET至少包括一个Module(模块)。Module在Module…End Module语句对中实现。应用程序的主要模块是Main方法,亦即应用程序入口点。
和VB6.0相似的地方是,都可以使用Function/Sub关键字定义方法。下面的例子显示了如何创建class、添加方法,并从主程序调用方法: Imports System
Module Module1
Sub Main()
Dim cls As TestClass = New TestClass
Console.WriteLine(cls.MyMethod)
End Sub
Class TestClass
Function MyMethod() As String
Return "Test Method"
End Function
End Class
End ModuleProperty属性(Property)是类变量的公共描述。Property…End Property语句用以创建property。属性的Get/Set方法分别用于取得和设置属性值。下面的例子中,Data是TestClass的属性。
Imports System
Imports System.Console
Module Module1
Sub Main()
Dim cls As TestClass = New TestClass
WriteLine(cls.MyMethod)
WriteLine(cls.Data)
cls.Data = "New Data"
WriteLine(cls.Data)
End Sub
End Module
Class TestClass
Private strData As String = "Some Data"
Function MyMethod() As String
Return "Test Method!"
End Function
' Adding Data property to the class
Public Property Data() As String
Get
Return strData
End Get
Set(ByVal Value As String)
strData = Value
End Set
End Property
重载VB.NET通过overload关键字支持方法重载。使用这个关键字,你可以定义同名但不同参数的方法。
类成员访问域
除了原有的Private和Public,VB.NET引入了几个新关键字。全部访问域关键字列表如下:
关键字 作用域
Private 限于class内部
Public 可以从class外访问
Friend 限于class所属的应用程序内
Protected 只能被class和其派生类访问
Protected Friend 能被class、应用程序和派生类访问
继承继承是面向对象编程语言中最常用的技术。继承让你能够重用类代码和功能。
VB.NET支持继承,而VB6.0则不支持。继承的好处在于你能使用任何人编写的类,从这些类派生自己的类,然后在自己的类中调用父类功能。在下面的例子中,Class B派生自Class A,我们将从Class B中调用Class A的方法MethodA。
Imports System
Imports System.Console
Module Module1
Sub Main()
Dim bObj As B = New B
WriteLine(bObj.MethodA())
End Sub
End Module
' Class A defined
Public Class A
Function MethodA() As String
Return "Method A is called."
End Function
End Class
'Class B, inherited from Class A. All members (Public and Protected)
' can be access via B now.
Public Class B
Inherits A
Function MethodB() As String
Return "Method B is called."
End Function
End Class
可以从一个class中派生多个自定义class,也可以从多个class派生一个自定义class。
共享的成员类的共享成员被类的所有实体共享。共享成员可能是属性、方法或字段/值域。在你不想让用户全面控制自己的类时,共享成员相当有用。例如,你可以开发一个类库,让用户通过共享成员使用其中的部分功能。
可以通过class本身引用共享成员,而无需通过类的实体。例如:Module Module1
Sub Main()
WriteLine(A.MethodA())
End Sub
End Module
' Class A defined
Public Class A
Shared Function MethodA() As String
Return "Method A is called."
End Function
End Class
多线程VB语言的一大弱点就是缺乏编写自由线程(free-threaded)程序的能力。在.NET Framework中,所有语言共享CRL(Common Runtime Library,公共运行库),也就是说,你可以用VB.NET、C#或其它.NET语言编写同样的程序。
System.Threading namespace定义了线程类。我们只需要引入System.Threading namespace,即可使用线程类。
System.Threading.Thread类提供线程对象,可以使用Thread类创建或破坏线程。
创建线程使用Thread类的实体创建一个新线程,然后用Thread.Start方法开始执行线程。线程构造器接受一个参数,该参数指明你要在线程中执行的procedure。在下例中,我想在oThread1(Thread类的一个实体)的第二线程中执行SecondThread过程:
oThread1 = New Thread(AddressOf SecondThread)
SecondThread procedure looks like below:
Public Sub SecondThread()
Dim i As Integer
For i = 1 To 10
Console.WriteLine(i.ToString())
Next
End Sub
然后,调用Thread.Start()开始线程:
oThread1.Start()
下面的代码创建两个第二线程:
Imports System
Imports System.Threading
Module Module1
Public oThread1 As Thread
Public oThread2 As Thread
Sub Main()
oThread1 = New Thread(AddressOf SecondThread)
oThread2 = New Thread(AddressOf ThirdThread)
oThread1.Start()
oThread2.Start()
End Sub
Public Sub SecondThread()
Dim i As Integer
For i = 1 To 10
Console.WriteLine(i.ToString())
Next
End Sub
Public Sub ThirdThread()
Dim i As Integer
For i = 1 To 10
Console.WriteLine("A" + i.ToString())
Next
End Sub
End Module
破坏线程 调用Abort方法来破坏(中止)一个线程。在调用Abort之前,确保用IsAlive判断线程处于活动状态。
If oThread1.IsAlive Then
oThread1.Abort()
End If
暂停线程可以使用Sleep方法来暂停线程执行。Sleep方法接受一个以毫秒为单位的参数,指明线程应当暂停多长时间。
下面的例子让线程暂停1秒钟:
oThread2.Sleep(1000)你也可以使用Suspend和Resume方法来挂起和继续线程执行。
设定线程优先级Thread类的Priority属性用于设定线程优先级。该属性可以设置为Normal,AboveNormal,BelowNormal,Highest和Lowest。如:
oThread2.Priority = ThreadPriority.Highest线程与Apartment使用ApartmentState属性设置线程的apartment类型,该属性值可以为STA,MTA或是Unknown[][2]:
oThread.ApartmentState = ApartmentState.MTAMTS意味着可以使用多线程模式,而STA则只能是单线程执行。
Public Enum ApartmentState
{
STA = 0,
MTA = 1,
Unknown = 2,
}
1.8 结构化异常处理异常处理也被称之为错误处理。作为VB程序员,你一定对On Error Goto和On Error Resume Next这些VB6.0错误处理语句耳熟能详。这种类型的错误处理被称为非结构化异常处理(Unstructured Exception Handling)。而在VB.NET中,Microsoft推出了结构化异常处理机制。VB.NET支持类似C++的TryCatch..Finally控制。Try..Catch..Finally结构如下: Try
' 可能导致异常的代码
Catch
' 当异常发生时处理异常的代码
Finally
' 清理现场
End Try
Try语句块用以抛出异常。如果异常发生,在Catch语句块中处理。Finally语句块是可选的,在需要释放资源时特别有用。
1.9 VB6.0与VB.NET的不同之处除了上面谈到的语言进化,还有一些语法上的变化。所有这些语言和语法的变化在MSDN中均可查到,本文只作简单介绍。
数据类型(Data Type)的改变VB.NET中有些数据类型得到改进。下面是变化对照表。
数据类型 VB6.0 VB.NET
Integer 16 bit size 32 bit size
Long 32 bit size 64 bit size
Currency 用于存储大浮点数 被decimal替代,支持更高精度
Variant 可以存储任意类型数据 被Object类型替代,也可以存储任意类型数据,但结果更好
Date Date类型被存储为double 引入DateTime类型,用于存储不同格式的日期
在VB.NET中,Short数据类型是16 bit的。Short,Integer和Long都等同于CLR的System.Int16、System.Int32和System.Int64类型。 变量声明的变化在VB6.0中,变量声明有许多限制。其中之一就是不能同行声明多个变量。如果一定要在一行中声明多个变量,就一定得指明每个变量的类型,否则将被默认为Variant类型。
Dim a1, a2 As Integer Dim a3 As Integer, a4 As Integer 第一行中的a1是Variant类型,a2是Integer类型。第二行中两个变量都是Integer类型。VB.NET支持同行声明多个变量,举例如下:
Dim a1, a2, a3 As Integer 变量初始化是另一个问题。在VB6.0中不能同时声明和初始化变量,而VB.NET则支持这个特性。
Dim name As String = "Mahesh"System.Console.Write(name) 声明常量也可以照此办理:Const DT_COUNT As Integer = 23 New关键字。在VB.NET中,New关键字用于创建对象。由于数据类型是对象,所以New关键字用以创建一个数据类型对象。
Dim i As Integer = New Integer()i = 10System.Console.WriteLine(i.ToString()) 代码块级别支持。像C++一样,VB.NET支持代码块级别的作用域检查。在语句块中声明的变量只在块内有效。
For i = 1 To 10Dim p As LongSystem.Console.WriteLine(i.ToString())NextSystem.Console.WriteLine(p.ToString()) 这段代码在VB.NET中会得到一个编译错误,因为p在For..Next语句块之外不可访问。在VB6.0中这段代码可以通过。
改进了的类型安全
在VB6.0中,当你声明一个对外部过程的引用时,可以指定任意类型的参数为As Any。Any关键字禁止了类型检查,允许任意数据类型传入和返回。
VB.NET不支持Any关键字。你必须指定每个参数和返回值的数据类型。数组VB.NET对数组作了明显的改动。
数组范围。在VB.NET中,你需要格外留意数组范围问题。VB6.0默认数组下界为0,故数组中的元素数量等与数组上界值加一。下面的数组界限从A(0)到A(10),共有11个元素:
Dim A(10) As Single可以使用Option Base改变下界值为1。在VB.NET中,数组和C++一样,下界值为0,不支持Option Base。注意:MSDN文档指出数组只能包括与其尺寸相等的元素数量,例如:Dim A(10) As Integer 只能包括10个元素(从A(0)到A(9)),但在编译下面这段代码时我发现它运行良好,看起来数组中容纳了11个元素。
Dim A(10) As Integer A(0) = 12 A(2) = 24 A(10) = 23 System.Console.WriteLine(A(0).ToString()) System.Console.WriteLine(A(10).ToString())System.Console.WriteLine(UBound(A).ToString()) System.Console.WriteLine(LBound(A).ToString()) Lbound和Ubound分别返回 0与10。ReDim和Fixed Array。你可以在VB6.0中指定固定长度的数组。
Dim ArrWeekDays(0 To 6) As Integer
这里的ArrWeekDays数组是固定长度的,不能用ReDim语句改变长度。VB.NET不支持固定长度数组,所以ReDim总是有效。
可以用下面两种方式声明数组: Dim ArrWeekDays(6) As IntegerDim ArrWeekDays() As Integer = {1, 2, 3, 4, 5, 6} ReDim语句。在VB6.0中,ReDim用于初始化动态数组。在VB.NET中你不能把它当作声明用。ReDim只能用于改变数组长度,不过不能改变数组维度。
Variant对阵ObjectVB6.0中的Variant数据类型能存储任意类型变量,VB.NET中Object具备相同能力。
算术操作符VB.NET支持类似C++的快捷方式。下面的表格显示了常规操作与快捷操作的不同之处。快捷方式也可用于*、/、|、等操作符。
操作符 常规语法 快捷方式加法 A = A+5 A +=5 减法 A = A – 5 A -+ 5固定长度字符串
在VB6.0中,可以在声明字符串时指定其长度。VB.NET不支持固定长度字符串。
布尔操作符VB6.0中的And、Or或是Xor语句是按位操作符。而在VB.NET中,它们是布尔操作符。执行这些操作将返回true或false。VB.NET引入新操作符来完成按位操作。
操作符 描述 BitAnd 按位AndBitOr 按位OrBitXor 按位XorBitNot 按位Not结构与自定义类型在VB6.0中,你使用Type…End Type语句块创建结构或自定义类型。例如:
Type StdRec
StdId As Integer
StdName As String End Type
VB.NET引入新的语法:Structure。Type…End Type不再被支持。Structure…End Structure与C++用法相同。可以指定结构中每个元素的可访问域,如Public、Protected、Friend、Protected Friend、Private等。例如:
Structure StdRec
Public StdId As Integer Public StdName As String
Private StdInternal As String End StructureVB.NET中的Structures就像类一样,也可以拥有方法和属性。New和Nothing关键字VB6.0中,AS New和Nothing关键字用于声明一个对象并初始化它。 VB.NET不支持隐式创建对象。如前所言,甚至连数据类型都是对象。你可以采用以下两种方法创建数据类型或对象: Dim i As Integer Dim i As Integer = New Integer() // Do something if i = Nothing Then End If 不支持Set语句VB6.0使用Set语句指派对象。例如:Set myObj = new MyObjectSet a = b在VB.NET中,不需要使用Set指派对象。例如:myObj = new MyObj()a = b过程(procedure)语法的变化在VB.NET中过程语法有了很多变化。例如类似C++的过程调用方式、ByVal(传值)为默认类型、Optional关键字、return语句等等。类似C++的过程调用方式 VB6.0允许不用加圆括号调用过程(sub)。不过,用Call语句调用函数或sub时,一定要使用圆括号。例如:Dim I as IntegerCall EvaluateData(2, i) EvaluateData 2, i 在VB.NET中,所有的方法调用都需要圆括号,而Call语句则是可选的。 ByVal是默认参数类型在VB6.0中,在调用函数或sub时ByRef(传址)是默认类型。那意味着所有改变将反映到传入的变量。VB.NET改变了这种方式。现在,默认的参数类型是ByVal(传值)。 Optional关键字VB6.0使用Optional关键字可用来让用户决定传入一个默认值,之后在调用IsMissing函数判断参数是否有效。 而在VB.NET中,每个可选参数必须声明其默认值,无需调用IsMissing函数。例如:Sub MyMethod(Optional ByVal i As Integer = 3)
Return语句VB.NET的Return语句与C++相似。使用Return语句把控制权从过程返还给调用者。在VB6.0中,Return语句与GoSub语句一起使用。VB.NET不再支持GoSub语句。流程控制的改变下面是VB.NET对流程控制语句的修改:1. GoSub不再受到支持。2. Call、Function和Sub语句均可用于调用过程。3. On ... GoSub和On ... GoTo语句不再受支持。可以使用Select Case语句来替代。4. While ... Wend语句现在改为While…End While语句。不再支持Wend关键字。小结 Visual Basic .NET是.NET版本的Visual Basic,已经从根本发生了变化!通过本文你了解到VB6.0和VB.NET的区别是很大的,可以说根本就是两种不同的语言,因为它们的内核发生了变化,VB6.0是基于COM而vb.net是基于.net框架的,因为这个变化,所以在构造类时也发生了根本性的变化。
从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。VB.NET更是几乎无所不能。
Visual Basic 特点
1、具有面向对象的可视化设计工具
2、事件驱动的编程机制
3、结构化的程序设计语言
4、提供了易学易用的应用程序集成开发环境
5、支持多种数据库系统的访问
6、高度可移植化的代码
7、VB6.0在开发环境上,网络功能等的大大增强。
Visual Basic 2005
2005——完美主义的Visual Basic
为了让 Visual Basic 有最佳的开发体验,Visual Basic 2005 的设计者绞尽了脑汁。这次 Visual Basic 2005 光语言上的改进就足以让 Visual Basic 的开发人员高兴一阵子。
Visual Basic 2012(RC)
Visual Basic 2012 RC 具有下列新增和加强的功能 :
1、异步功能
2、迭代器
3、调用层次结构
4、调用方信息
5、全局命名空间语句中的关键字
Visual Basic .NET(vb .net) 是新一代的 VB 语言,并不只是 VB 6.0 的简单升级,vb .net 与 VB (泛指 VB 6.0 之前的版本) 之间有非常大的区别。其新特性主要表现在以下几方面:
1.vb .net 完全集成到 Visual Studio 集成开发环境中,在这种集成开发环境与 VB 在若干方面有差异。主要体现在窗体的布局以及菜单等方面都有所不同。
2.vb .net 项目与 VB 不同。它使用基于文件夹的模型,所有项目均放置在项目文件夹层次结构中。
3.vb .net 中使用ado .net来访问数据库,ado .net是.NET Framework的一部分。在 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 .NET有提供转换精灵,协助开发者将 VB 6.0 的程序代码转换为 vb .net 相对应之程序代码。
学习的最主要方法是多看书,多做练习。