博文
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 ''''规则局部变量
 ......
从VB6到VB.NET的变化综述 (转)(2006-09-03 16:15:00)
摘要:着Microsoft .NET平台的发布,Visual Basic开始成为一种完全面向对象的语言,简称为VB.NET。虽然有了一些根本性的变化,开发者从VB6到VB.NET的学习热情依然相当高,即使对于有经验的编程人员也是如此。本文中,我将列出Visual Basic语言中的变化,并在适当的地方举例说明。这里所列出的可能不完全,但是已经包括了大部分的功能。如果你是一个想要转到VB.NET上去的 VB程序员,这篇文章就一定要读一读。
ASP.NET Beta 1版本可以从http://www.asp.net/免费下载。本文中所讨论的一些变化是属于 Beta 2版本的,这些 Beta 2中的新内容在ASP.NET的Beta 1 版本中是无效的,文中都作了注明。
数据类型的改变
.NET平台为所有支持语言提供了公共类型系统,这就意味着所有语言都必须支持支持公共语言运行时间环境所强制的相同的数据类型,如此就消除了不同语言之间数据类型的不兼容性。例如,在一个32位的Windows平台上,在C++这类语言中,integer数据类型占据4个字节,而在 VB 中则占据2个字节。以下是VB.NET中与数据类型有关的变化:
在 .NET下,VB.NET 中的Integer数据类型也是4个字节。
VB.NET没有currency 数据类型,作为代替,它提供了decimal。
VB.NET 引入了一种新的数据类型,叫做Char。 Char数据类型占据2个字节,可以存储Unicode 字符。
VB.NET 没有Variant数据类型。为了得到与variant类型相同的结果,你可以使用Object数据类型。因为在.NET中的一切,包括原始数据类型,都是一个对象,一个object类型的变量,它可以指向任何数据类型。
在VB.NET中没有固定长度字符串的概念。
在VB6中,我们使用Type关键字来声明用户自定义
结构。VB.NET引入了与此目的相同的结构关键字,语法的其它部分是相同的:
Structure MyStruct1
...
End Structure
变量声明
现在看看一个简单的VB6例子:
Dim x,y......
概述从VB6到 VB.NET 的 变化(2006-09-03 16:12:00)
摘要: 深入了解 ASP.NET...
这篇文章论述了从VB6/VBScript 到VB.NET的重要的语言变化。当创建ASP.NET页时, 你必须使用一种与.NET兼容的编程语言,正如 C#, VB.NET, 或者 JScript.NET. 然而,从VB6/VBScript 到VB.NET 有一些重要的变化,这也是我们这篇文章要谈论的问题。要从整体上更深入的了解 ASP.NET , 请查阅 ASP.NET Article Index!
同样,要获得更多的资料请查阅微软的文章:
Preparing Your Visual Basic 6.0 Applications for the Upgrade to Visual Basic.NET.
绪论
随着微软.NET开发平台的发布,Visual Basic 已经融入了一个完全的面向对象语言 (命名为VB.NET). 然而由于这些跟本的变化,从VB6到VB.NET的进阶,即使是经验丰富的程序员,也要花相当多的时间。我将试图在下面列出VB.NET对于Visual Basic的语言变化,并尽可能在恰当的地方给出范例. 这个列表不一定完整,但它的确覆盖了主要的特征。如果你是一个想升级到VB.NET 的VB程序员,那这篇就是你的必读文章.
注意到当前的(到2001年5月30),ASP.NET 还是Beta 1版本,它可以从www.ASP.NET免费的下载.然而,这篇文章所谈到的一些变化是对于Beta 2版本(将计划于6月17发布)来说的,因此对于Beta 1 版本它们是不会起作用的。这部分变化将会在下边的文章里特别说明.
数据类型的变化
.NET 平台给所有它支持的语言提供了一个公共数据类型系统(Common Type System)。作为通用语言运行环境的强制标准,所有的语言必须支持相同的数据类型。这结束了众多语言数据类型不兼容的状况。例如,在32位的 Windows平台, C++中的整型数据占用了4个字节,然而在VB中,它只占用了2个字节。下面是在VB.NET中关于数据类型的主要变化:
在 .NET下VB.NET中的整型数据也是4个字节。
......
VB.NET实现关机和重新启动(2006-09-03 16:10:00)
摘要:Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Integer, ByVal dwReserved As Integer) As Integer
Const EWX_FORCE As Short = 4
Const EWX_LOGOFF As Short = 0
Const EWX_REBOOT As Short = 2
Const EWX_SHUTDOWN As Short = 1
Dim retval As Integer
' 定义Esc按键
Const VK_ESCAPE As Short = &H1Bs
Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
If Option1.Checked Then
' 注销当前用户
retval = ExitWindowsEx(EWX_FORCE, 0)
ElseIf Option2.Checked Then
' 关闭计算机
retval = ExitWindowsEx(EWX_SHUTDOWN, 0)
ElseIf Option3.Checked Then
' 重新启动
retval = ExitWindowsEx(EWX_REBOOT, 0)
End If
End Sub
Private Sub Command2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command2.Click
Me.Close()
End Sub
' 按Esc键时,......
vb.net显示系统信息(2006-09-03 16:09:00)
摘要:显示系统信息
实例说明
在本实例中,我们通过使用sysinfo控件得到有关操作系统的信息,屏幕和电源的信息。程序运行结果如图97-1所示。
技术要点
l 使用SysInfo控件
l 得到操作系统版本号、电源属性
实现过程
■ 新建项目
打开Visual Studio.NET,选择“新建项目”,在项目类型窗口中选择“Visual Basic项目”,在模板窗口中选择“Windows应用程序”,在名称域中输入“SysInfo”,然后选择保存路径。单击“确认”。
■ 添加控件
向窗体上添加十个Label控件(可以通过菜单“格式”进行排列)。
■ 设置属性
将左面一栏的Label控件的Text属性改为和界面一致。
■ 添加代码
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'得到操作系统平台代号,其中1表示95/98,2表示nt/2000系统
Select Case sysinfo.OSPlatform
Case 1
Label2.Text = "Windows95/98"
Case 2
Label2.Text = "WindowsNT/2000"
End Select
'得到操作系统版本号
Label4.Text = sysinfo.OSVersion & "." & sysinfo.OSBuild
'得到桌面尺寸大小
Label6.Text = sysinfo.WorkAreaHeight & "X" & sysinfo.WorkAreaWidth
'得到电源状态值,1表示交流电元,0表示电池
Select Case sysinfo.ACStatus
Case 1
Label8.Te......
VB.Net学习笔记(数据类型基础)(2006-09-03 16:07:00)
摘要:Net中的数据类型是程序员需要认真掌握的基础知识。.NET 中类型的两个基本类别是“值类型”和“引用类型”。基元类型、枚举和结构为值类型。类、字符串、标准模块、接口、数组和委托为引用类型。
所有的类型要么是值类型,要么是引用类型,但有一种情况例外。根类型 System.Object ,它非常特殊,因为它既不是引用类型也不是值类型,而且不能实例化。因此,类型 Object 的变量可包含值类型或引用类型。
不过无论值类型还是引用类型,它们的声明方式都是一样的,当然它们的语义是不同的。
值类型
值类型直接存储在堆栈上,要么在数组中,要么在另一个类型中。值类型总是直接访问;不可能创建对值类型的引用。值类型的值不能为空引用,值类型的变量赋值会创建所赋的值的副本。
值类型副本创建意义举例
Dim i As Int32 = 10
Dim j As Int32 = i
j = 20 'i=10
基础类型
什么是基础类型呢?简单的讲就是如果一个类型的值是可以使用常数来描述的,该类型就是基础类型。当表达式的操作数均为基元类型常数时,编译器是可以在编译时计算表达式的。这种表达式被称为常数表达式。基本类型总是有初始值的。
VB.Net定义的基础类型:整数(包括字节),浮点、布尔、日期、字符和字符串。
分类
类型
存储分配
整数值类型
Byte
1
Short
2
Integer
4
Long
8
浮点值类型
Single
4
Double
8
Decimal
16
布尔
Boolean
2
日期
Date
8
字符
Char
2
字符串
String
取决于实现......
细说VB.NET(下)(2006-09-03 15:39:00)
摘要:表单和新IDE面孔
Visual Basic.NET 的面向对象功能很伟大,但第一次启动 VB.NET 时还注意不到它。可能你注意到的第一件事是它的 IDE。IDE看起来可能很熟悉,建立VS.NET IDE的团队以前的工作是开发VB的IDE,对IDE的增强借鉴了VB IDE的经验。
同时,IDE的改变远比外表显示的深刻。所有.NET语言使用相同的IDE,并且IDE中的新工具功能强大又易于理解。你能把任何一个设计窗口设置为自动隐藏 (就像你能自动隐藏Windows任务栏那样),这样就大大地减少了混乱。主工作区域是一系列选项卡,这意味着IDE不再同时显式多个表单和代码模块。当打开对象的源代码时,IDE在它的主工作区域为工作的对象添加一个新的选项卡。
IDE还包括一个叫作任务表(Task List)的新窗口。它的内容由IDE创建的项目组成。例如,如果在试图编译一个工程时收到一个错误,VB在任务表里创建一个项目来解释这个错误。你能直接向任务表里添加项目,或者通过在代码里以 "TODO:"开始一个注释行,你可以在代码位置和任务之间建立联系。我喜欢Microsoft实现任务表的方式;在程序出炉前,都需要完成些什么?估计它能帮我省掉很多时间和麻烦。看到它时,你最容易产生的一个想法就是:以前怎么就没人想到它呢?
你能注意到的另一个变化就是:VB.NET的表单。Microsoft废弃了旧的表单引擎而使用Windows Form代替它。所有基于 CLR的语言都使用Windows Form引擎。相对于VB6的表单引擎,它有几个重要的改进。例如,Windows Form让你能创建能自动调整组件尺寸的表单,并允许将控件锚定在表单里的特定位置。换句话说,不再需要使用第三方控件就能完成这些特殊任务。Windows Form还允许表演像透明表单这样的很酷的技术。
过去,VB隐藏了建立表单的所有魔术。你使用IDE设计表单并把代码添加到Initialize事件上,但你没有手段来控制这两点之间的过程。现在,表单就是一个类,它包含用来建立表单所有的代码。我把这些代码称为肥料代码,因为大多数开发者希望远远离开它们,越远越好。要想可靠地弄坏你的程序,没有比折腾这些代码更好的办法了。另一方面,技术娴熟的用户可以通过这些代......
细说VB.NET(上)(2006-09-03 15:32: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现在是真正的面向对象......