vb.net分布式的简单介绍

.NET Framework是什么微软对.NET的定义是
The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the
Internet.
意思是,.NET是在高度分布式的互连网环境中,使软件开发简单化的新的计算平台(哦 , 不象一个句子啊^_*) 。这里说了分布式的互
连网环境,这个很重要呀,说明以后的商业活动会在网上进行 , 所以我们也应该跟着时代潮流,做程序的时候要考虑到这一点 。说
白了就是.NET可以提高我们应用程序开发的速度 。因为什么呢?继续吧 。
.NET的优点
提供标准的面向对象开发环境,不仅可以在本地与对象交互,还可以通过Web Service和.NET Remoting技术在远程与对象交互 。
提供优化的代码执行环境,使以前让人们头痛的程序版本问题得到了解决 。我们可以在同一台机器中安装相同程序的不同版本 。而
且deployment也得到了改善 , 微软说是X-COPY,就是说象拷贝文件s一样简单了 。
提供代码运行安全性 。以前我们担心网页中包含的ActivX控件会执行恶意的代码,但现在不用担心了,因为.NET Framework保障执
行代码的安全性 。
使用JIT(Just In Time Activation)技术,提高代码运行速度 。
提供标准的框架和强大的开发工具,可以让程序员在实际的开发当中,积累更多的经验 。
.NET遵循业界标准规范 , 所以可以让代码(.NET里的代码)可以与其他系统交互 。
比如Web Service,COM等等 。
.NET构架
.NET有两个主要的部件 , 一个是CLR(Common Language Runtime),另一个是.NET Framework class library 。CLR是.NET系统构架中最
核心部分,负责执行代码、管理内存、提供安全性等等核心功能,把她想成JAVA的VM就可以了 。运行在.NET Framework中的代码
叫做managed code,反之叫做unmanaged code 。.NET class library提供功能强大而完全面向对象的函数库,而且我们可以在任何种类中
项目中都可以使用她 。以前SDK是函数方式,而且比较低级复杂(??。?但现在用组件封装之后,使用起来就比较简单、易用了
。.NET class library包括以下方面的组件
Console applications
Windows GUI application(Windows Forms)
Asp.NET applications
XML Web services
Windows Services
.NET Compact Framework
.NET Compact Framework是.NET Framework的简化版本 。为了在小型机器(smart device)中运行 , 微软为.NET Framework减了肥,
让她适合当前小型机器硬件环境 。用于PDA的Compact Framework 2M多的容量,而用于手机的只有几百K 。要开发小型机器程序要
安装smart device extension 。
VB和VB.net一样吗?请高手解释详尽一些!三扣了1、VB6.0是解释性语言vb.net分布式,需要VB虚拟机加以解释执行(就是那个很大的DLL)
2、Vb.net用的是.net框架(主要是针对新一代分布式网络应用的开发)
3、VB6是独立的一个开发工具vb.net分布式,vb.net则更象是一个可选语法,它和vc.net和C#用的共同的runtime language,也就是说编译后它们就是一样的 。
呵呵,其实vs.net的用法与vb6.0比起来难不到哪里去,vb.net分布式你很快就会掌握的
语法一样的
vb和vb.net的区别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按类别定义 。微软借用了Cclass 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 = "https://www.04ip.com/post/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 = https://www.04ip.com/post/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
【vb.net分布式的简单介绍】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 5A=5 减法A = A – 5A -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是什么东西啊[编辑本段]Visual Basic编程语言
1991年,美国微软公司推出了Visual Basic(可简称VB),目前的最新版本是VB 2010 测试版 。
Visual 意即可视的、可见的 , 指的是开发像Windows操作系统的图形用户界面(Graphic User Interface,GUI)的方法,它不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可 。
Basic 实际上是一个短语的缩写,这个短语就是 Beginners all_purpose symbolic instruction code , 其中文意思为“初始者通用符号指令代码语言” 。
Visual Basic 6 有学习版、专业版和企业版三种版本,以满足不同的开发需要 。学习版适用于普通学习者及大多数使用 Visual Basic 开发一般 Windows 应用程序的人员vb.net分布式;专业版适用于计算机专业开发人员,包括了学习版的全部内容功能以及Internet控件开发工具之类的高级特性;企业版除包含专业版全部的内容外,还有自动化构件管理器等工具,使得专业编程人员能够开发功能强大的组骨子里分布式应用程序 。
Visual Basic 是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言 , 可用于开发 Windows 环境下的各类应用程序 。它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美 。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具 , 使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统 。随着版本的提高 , Visual Basic的功能也越来越强 。5.0版以后,Visual Basic 推出了中文版,与前个版本相比,其功能有了很大提升 。
但是 , 功能再强大,Visual Basic 仍然有一个缺点:在没有MSVBVM**.DLL的计算机上必须安装所需的DLL文件 。用它可设计操作系统,不过,比较困难 。
在21世纪初 , Microsoft 公司推出 Visual Studio .NET 2003,它与 Visual Basic 之间有了重大变化,Visual Studio 为各种编程工具做了一个平台,Visual Basic.NET 可在这种平台上运行 。相对于传统VB,有很大的不同 。VB .Net , 首次使用.Net构架进行可视化编程,并且能很好地与COM构架兼容 , Visual Studio .NET 2003 应用 .NET Framework 1.1。
2005年 Visual Studio 2005 则运用了 NET 2.0 的技术,更加的方便了程序员的工作 。可是新的程序对系统配置要求也较高,需要微软.Net Framework 2.0以上的.Net构架支持 。
2007年12月,微软(Microsoft)推出了Visual Studio 2008 Beta 2 发生了重大的变化(见附图)在代码输入的时候,可以比VB2005快很多,在非特殊的情况下,VB2008都会自动开启 自动完成关键字 这个命令 而且支持最新的 .NET Framework 3.5 SP1 Beta
由VB派生的语言
微软开发了一系列有关VB的脚本语言:
Visual Basic for Applications,即VBA,包含在微软的应用程序中(比如Microsoft Office),以及类似WordPerfect Office这样第三方的产品里面 。VBA这样嵌入在各种应用程序中看起来有些矛盾,但是它的功能和VB一样强大 。
VBScript是ASP的默认语言,还可以用在Windows脚本编写(Shell Script)和网页编码(HTML)中 。尽管它的语法类似于VB,但是它却是一种完全不同的语言 。VBS不使用VB运行库运行,而是由Windows脚本宿主(wscript.exe - Microsoft Windows Based Script Host)解释执行 。这两种语言之中的不同点影响ASP网站的表现 。
当微软准备开发一种新的编程工具的时候,第一决定就是利用最抢手的 VB6 来进行修改,或者就是重新组建工程开发新工具 。微软后来开发了VB的继任者Visual Basic .NET,同时也是.NET平台的一部分 。VB.NET编程语言是一种真正的面向对象编程语言(VB4-VB6 只能称为基于对象而不是面向对象,最明显的特征就是 VB4-VB6 都不支持类的继承) , 和传统 Visual Basic 并不完全兼容 。[1]
VB编程语言历史
Visual Basic从1991年诞生以来 , 现在已经18年了 。BASIC是微软的起家产品,微软当然不忘了这位功臣 。随着每一次微软技术的浪潮 , Visual Basic都会随之获得新生 。可以预见,将来无论微软又发明了什么技术或平台,Visual Basic一定会首先以新的姿态登上去的 。如果你想紧跟微软,永远在最新的技术上最快速地开发,你就应该选择Visual Basic 。
1991-西雅图夜空的雷电
随着 Windows 3.0 的推出 , 越来越多的开发商对这个图形界面的操作系统产生了兴趣 , 大量的Windows应用程序开始涌现 。但是,Windows 程序的开发相对于传统的DOS有很大的不同,开发者必须将很多精力放在开发GUI上,这让很多希望学习Windows开发的人员却步 。1991年 , 微软公司展示了一个叫Thunder的产品 , 所有的开发者都惊呆了 , 它竟然可以用鼠标“画”出所需的用户界面,然后用简单的BASIC语言编写业务逻辑,就生成一个完整的应用程序 。这种全新的“Visual”的开发就像雷电(Thunder)一样,给Windows开发人员开辟了新的天地 。这个产品最终被定名为Visual Basic,采用事件驱动,Quick BASIC的语法和可视化的IDE 。Visual Basic 1.0带来的最新的开发体验就是事件驱动,它不同于传统的过程式开发 。同时,VBX控件让可视化组件的概念进入Visual Basic 。Visual Basic 1.0是革命性的BASIC,它的诞生也是VB史上的一段佳话 。
Visual Basic 1.0
1992-渐入佳境的Visual Basic
由于Windows 3.1的推出,Windows已经充分获得了用户的认可 , Windows开发也进入一个新的时代 。Visual Basic 1.0的功能过于简单,相对于Windows 3.1的强大功能没有发挥出来 。所以,微软在1992年推出了新版本Visual Basic 2.0 。这个版本最大的改进就是加入了对象型变量,比如
Dim b As CommandButton
Dim c As Control
而且有了最原始的“继承”概念,对象型变量分为一般类型(Control和Form)和专有类型(CommandButton和Form1等),一般类型的变量可以引用专有类型的实例,甚至通过后期绑定访问专有类型的属性和方法 。还可以通过TypeOf…Is运算符获取对象实例的运行时类型信息(这个功能就是当今C#的is运算符或Java的instanceof运算符) 。除了对语言的改进和扩充 , Visual Basic 2.0对VBX有了很好的支持 , 许多第三方控件涌现出来 , 极大地丰富了Visual Basic的功能 。微软还为Visual Basic 2.0增加了OLE和简单的数据访问功能 。
Visual Basic 2.0标准版
Visual Basic 2.0专业版
1993-数据库组件新添力量
Visual Basic 2.0推出没几个月 , 微软就发布了新版本的Visual Basic 3.0,可以看出VB这时候旺盛的生命力 。乍一看,Visual Basic 3.0的界面没有太大的变化 , 但其实这个版本是非常及时的 。它增加了最新的ODBC2.0的支持 , Jet数据引擎的支持和新版本OLE的支持 。最吸引人的地方是它对数据库的支持大大增强了,Grid控件和数据控件能够创建出色的数据窗口应用程序,而Jet引擎让Visual Basic能对最新的Access数据库快速地访问 。Visual Basic 3.0还增加了许多新的金融函数 。此外还增加了相当多的专业级控件,可以开发出相当水平的Windows应用程序 。Visual Basic 3.0是98年以前中国最流行的Visual Basic版本,因为它开发出来的可执行文件非常小,通常能用一张软盘装下 。不过,Visual Basic采用虚拟机运行P代码的做法也让很多开发者不满,他们认为这样程序运行的效率很低 , 这时候Visual Basic的竞争者Delphi也诞生了 。
Visual Basic 3.0标准版
Visual Basic 3.0特别版
1995-第二次革命性变化,向COM进军 。
从1993年到1995年年中,Visual Basic一直没有新的动静 , 焦急的开发者都想一窥这个神秘的新版本到底发生了什么变化 。Visual Basic 4.0的BETA最后终于和大家见面了 。这个版本包含了16位和32位两个版本,16位的版本就像是Visual Basic 3.0的升级版,而32位版则是一场新的革命 。首先,人们发现VBX控件不见了,全部换成了OCX控件,这个OCX可能是指OLE Custom Controls,这个OLE已经不是传统的OLE了,用现在的话说 , 它就是COM控件 。第二个最大变化是Visual Basic 4.0所用的语言换成了Visual Basic For Application , 这就和Office 95所采用的宏语言统一起来,这个新语言有很多亮点:
1、 加入了“类模块” 。这是面向对象最重要的封装性的基础 。
2、 加入了属性过程,加上函数过程,子程序过程,VB已经有组件开发所需的封装性特征 。
3、 加入了Byte类型、Boolean类型和Object类型 。这大大完善了VB的类型系统 。
4、 For Each语句和Collection对象 。For Each语句给遍历集合类型提供了极大的方便,现在可以在动态增长的Collection上使用For Each,而不用担心集合内容的总数或烦人的下标问题 。
这个版本的Visual Basic还能够开发DLL工程 , 其实就是COM的DLL , 可以将书写好的类用这种方式和其他语言共享 。
总之,这个4.0的版本为Visual Basic成为一种COM语言奠定了基础 。用Visual Basic 4.0开发基于COM的DLL比任何一种开发工具都方便 。但是 , Visual Basic 4.0的性能问题变得更加严重了,P-代码的组件成为Visual Basic 4.0严重的性能瓶颈 , 而且巨大的运行库也让用户感到不满 。Visual Basic 4.0对以前版本的支持也不好 , 使用了大量VBX的项目很难移植到Visual Basic 4.0中 。因此,Visual Basic 4.0在中国的普及程度非常低 。
Visual Basic 4.0
1997-Visual Basic的丰收年
1997年 , 微软推出了Visual Basic 5.0 , 这个版本的重要性几乎和4.0一样高 。COM(这时候叫ActiveX)已经相当成熟,Visual Basic 5.0当然对它提供了最强的支持 。不过,国内还没有意识到COM的重要性前主要对这个版本另一个最大的亮点十分关注:本地代码编译器 。Visual Basic 5.0终于在用户的呼声中加入了一个本地代码编译器,它可以让应用程序的效率大大提升 。除了这个大家都知道的改进以外,Visual Basic 5.0对Visual Basic For Application语言有重大的完善和丰富:
5、 事件 。Visual Basic 5.0终于允许用户自己创建事件,而且这事件的语法相当强健和完善,这在一种不支持函数回调的语言中是很难得的 。现在,VB拥有属性、方法和事件的完整封装性 。
6、 接口 。这是VB实现多态性的基础 。同时为编写COM组件提供了更多方便 。
7、 枚举 。在Visual Basic 5.0中枚举作为Long整型的子类型出现,用枚举可以对常量进行完善的封装 。
8、 类模块的改进 。通过类模块的属性可以指定类模块具有多种指定的行为 , 如私有构造函数等,可以通过这个功能创建符合Singleton和Monostate模式的设计 。
9、 Debug.Assert 。虽然这个断言系统有点鸡肋,但是总算是给调试带来了方便 。
10、 Visual Basic 5.0支持创建自己的集合类 。可以创建用于For Each语句的集合类型 。
11、新的数据类型Decimal,可以精确地处理有效数位较多的计算 。
Visual Basic 5.0的IDE支持“智能感知” , 这是一项非常方便开发者的功能,可以不必记住很长的成员名称和关键字,只要按“.” , 想要的东西统统弹出来 。
Visual Basic 5.0还支持开发自己的ActiveX 控件、进程内的COM DLL组件、进程外的COM EXE组件以及在浏览器中运行的ActiveX文档 。这极大丰富了Visual Basic的开发能力,在Internet开发上,Visual Basic 5.0也能有所建树 。
1998-企业真正高效的源泉
Visual Basic 6.0作为Visual Studio 6.0的一员发布,证明微软正在改变Visual Basic的产品定位,他想让Visual Basic成为企业级快速开发的利器 。Visual Basic 6.0在数据访问方面有了很大的改进,新的ADO组件让对大量数据快速访问成为可能 。数据环境和新的报表功能也让数据开发有了全新的体验 。Visual Basic 借助COM/COM 强大的功能,可以开发具有N层结构的分布式应用程序 。同时,Visual Basic还可以在IIS上开发性能超群的Web应用程序 。Visual Basic 6.0在语言方面和IDE方面的改进都不大,但是许多新增的组件成为Visual Basic开发人员手中的利器,如File System Object等 。新的字符串函数Split和Replace等也给Visual Basic的程序员带来很大方便 。
总之Visual Basic 6.0已经是非常成熟稳定的开发系统,能让企业快速建立多层的系统以及Web应用程序 , 成为当前 Windows 上最流行的 Visual Basic 版本 。
Visual Basic 6.0
2002-第三次革命性变化,向.NET进军
从1998年发布到2002年正式推出Visual Basic. NET简直吊足了开发者的胃口 。从2000年就开始传言的具有继承、Try…Catch语句等新功能的全新VB7.0一直没有露面 。直到2001年,Visual Studio.NET的第一个BETA版问世的时候,所有人都呆了——这是Visual Basic吗?And语句变成了BitAnd,数组只能从0下标开始 , 而且连Dim语句的意义都变了,几乎所有的窗体控件都变了,Long变成了Integer而Integer变成了Short , Variant不见了,Static不能用了……简直是翻天覆地,人们已经无暇关注这个版本有什么改进,转而担心vb.net分布式我怎么才能接受这个本本了 。其实Visual Basic. NET完全是为了.NET Framework这一全新的平台而设计的,Visual Basic. NET的设计者一开始没有掌握好新平台和旧语言的平衡 。到了BETA2中 , 很多东西回归了6.0,如BitAnd又变回了And,数组的定义语句也变回了原有的意义,Static也回到了Visual Basic中 。但是BETA1惊人的变化让所有的VB开发者怕了,他们觉得这种语言被改的千疮百孔 , 有些人干脆转去研究传说中的新语言C# 。但是Visual Basic. NET渡过几个BETA版本之后还是找到了正确的定位 。Visual Basic. NET有对CLR最完善的支持,同时尽量保留着BASIC易懂的语法风格和易用性 。这个版本新增加的功能已经数不清,最重要的几个是:
1、 继承 。至此,Visual Basic完成了向面向对象转变的道路 。
2、 共享成员 。
3、 Try…Catch结构化异常处理 。
4、 Delegate和Interface 。
5、 名称空间 。
6、 对自由线程的支持 。
特别的是,Visual Basic. NET大大减少了Visual Basic语言的关键字,如GoSub、PSet等等 。原先的Visual Basic有多达120个关键字,这给写程序带来了很大的不便 , 现在经过精简,Visual Basic脱下了这个沉重的包袱 。
Visual Basic. NET现在是一门现代的、强壮的、面向对象的、简单的可视化开发语言 。强大的语言功能吸引了很多开发者 。历史是在不断重演的,Visual Basic. NET如今的处境和Visual Basic 4.0很相似,由于兼容性变差,人气也降低了 。同时由于依附于.NET Framework , 程序发布造成了一定的困难 。现在国内使用Visual Basic. NET的人相对于Visual Basic 6.0来讲显得很少 。但是凭借Visual Basic. NET强大的语言功能和MS的支持,Visual Basic. NET一定会显出它的光辉来 。
2003-稳中求变的新版本
Visual Basic. NET 2003是一个相当稳重的版本,改变很少,但对小处有很多改进 。首先Visual Basic 6.0升级向导做了很大改进,这给从老版本痛苦升级的人带来了更多一些的希望 。其次在IDE方面 , Visual Basic. NET 2003修正了许多错误 , 还让事件处理恢复了6.0的开发体验 。语言方面只有两项改进:
1、 在For、For Each语句中声明循环变量 。
2、 增加了数学移位运算符和 。
在这个比较成熟稳定的新版本下,许多Visual Basic的爱好和开始重新了解Visual Basic. NET,社区里面也渐渐热闹起来 。但是,有些使用C#的开发者坚持认为Visual Basic. NET是垃圾,尽管Visual Basic. NET拥有比C#更多的功能和更好的IDE 。这说明不了解Visual Basic. NET成为它普及的最大障碍 。
2005-完美主义的Visual Basic,能否再现辉煌?
为了让Visual Basic有最佳的开发体验 , Visual Basic 2005的设计者绞尽了脑汁 。这次Visual Basic 2005光语言上的改进就足以让Visual Basic的开发人员高兴一阵子 。大家可以去看看我那篇介绍Visual Basic 2005新增功能的贴子 。挑重要的列在下边:
1、 泛型
2、 运算符重载
3、 Partial Type
4、 窗体的默认实例(让你用VB6的语法使用窗体)
5、 语法的多种改进
6、My关键字
现在用Visual Basic 2005只要一行代码就可以读写注册表、访问文件、读写串口、获取应用程序信息…… 用Visual Basic 2005完全可以称作享受开发 。而泛型、运算符重载等功能又可以让Visual Basic的开发人员深入.NET Framework的全部功能 , 开发出最优秀的应用程序 。
2008-功能极强且最易用的 Visual Basic
新版本的VB2008 具有下列新功能和加强功能
1、Language-integrated query: 可以让使用者在VB2008中进行资料查询 。
2、物件关联式设计工具会协助开发人员建立和编辑 , 使应用程序连接至资料库的 link to sql 类别 。
[编辑本段]维生素B
这里的V表示Vitamin
维生素B包括维生素B1、维生素B2、维生素B6、维生素B12、烟酸、泛酸、叶酸 。这些B族维生素是推动体内代谢,把糖、脂肪、蛋白质等转化成热量时不可缺少的物质 。如果缺少维生素B , 则细胞功能马上降低,引起代谢障碍,这时人体会出现怠滞和食欲不振 。相反喝酒过多等导致肝脏损害 , 在许多场合下是和维生素B缺乏症并行的 。
以下是含有丰富维生素B的食品:
①含有丰富维生素B1的食品:小麦胚芽、猪腿肉、大豆、花生、里肌肉、火腿、黑米、鸡肝、胚芽米等 。
②含有丰富维生素B2的食品:七腮鳗、牛肝、鸡肝、香菇、小麦胚芽、鸡蛋、奶酪等 。
③含有维生素B6、维生素B12、烟酸、泛酸和叶酸等食品: 肝、肉类、牛奶、酵母、鱼、豆类、蛋黄、坚果类、菠菜、奶酪等 。其中的维生素B1在人体内无法贮存,所以应每天补充 。
B族维生素若想全部摄取比较困难 , 但是认真选择食物就可以简单且方便的摄取 。上述含有维生素B的食物可以分为①和②③两组 。看看上述分类就可以明白 , ②和③全都含在大体相同的食物中 。因此①作为一组食物,②和③合在一起形成一组食物,组合选择两组食物 , 基本上可以把B族维生素摄取到手 。
[编辑本段]价键理论
valence-bond theory
一种获得分子薛定谔方程近似解的处理方法 。又称电子配对法 。历史上最早发展起来的化学键理论 。主要描述分子中的共价键和共价结合 , 其核心思想是电子配对形成定域化学键 。
1927年W.H.海特勒和F.W.伦敦首次完成了氢分子中电子对键的量子力学近似处理,这是近代价键理论的基础 。L.C.鲍林等加以发展 , 引入杂化轨道概念,综合成价键理论,成功地应用于双原子分子和多原子分子的结构 。
价键理论是海特勒伦敦处理氢分子方法的推广,要点如下:①若两原子轨道互相重叠,两个轨道上各有一个电子,且电子自旋方向相反,则电子配对给出单重态,形成一个电子对键 。②两个电子相互配对后 , 不能再与第三个电子配对 , 这就是共价键的饱和性 。③遵循最大重叠原则,共价键沿着原子轨道重叠最大的方向成键 。共价键具有方向性 。原子轨道通常在某个特定方向上有最大值,只有在此方向上轨道间才有最大重叠而形成共价键 。不同原子轨道有不同成键能力 。原子轨道的最大值作为原子轨道成键能力的度量,鲍林给出s、p、d、f等原子轨道成键能力依次为1、3、5、7 。在主量子数相同时,成键能力大的轨道形成的共价键较牢固 。
价键理论与化学家所熟悉的经典电子对键概念相吻合,一出现就得到迅速发展 。但价键理论计算比较复杂 , 使得后来发展缓慢 。随着计算技术日益提高,该理论还会有新发展 。
[编辑本段]虚拟网桥(Virtual Bridge)
VB其实是为了管理方便对管理域的一个划分,相当于一个虚拟的L2 Lanswitch 。在城域网的应用中 , VB是基于用户划分的 。即:每个用户都有自己独立的VB,其中包含多个vlan标签和mac地址 。由于各个VB之间相互隔离,不同的VB可分配相同的vlan而互不影响,而基于vlan划分VB的L2芯片不能区分不同用户的相同vlan 。
百度百科
vb.net分布式的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、vb.net分布式的信息别忘了在本站进行查找喔 。

    推荐阅读