当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 从 Visual Basic 6.0 到 Visual Basic.NET 的转换(2)

ASP.NET
使用函数传递参数来执行相应的数据库操作
如何实现在窗体和窗体之间进行传递数据
ASP.NET中文显示之两种解决方法
ASP.NET、JSP及PHP之间的抉择
ASP.NET 2.0发送电子邮件中存在的问题
谈谈HtmlControl与WebControl的区别与用途
从ASP.NET 1.1升级到ASP.NET 2.0要考虑的Cookie问题
通过系统配置来提高ASP.NET应用程序的稳定性
妙用ASP2.0中的URL映射改变网址
AJAX实现web页面中级联菜单的设计
ASP.NET跨页面传值技巧总结
再议ASP.NET DataGrid控件中的“添加新行”功能
Geometry 对象浅析
重构CollapsibleSplitter
如何利用.NET Framework使用RSS feed
ASP.NET获取IP与MAC地址的方法
在ASP.NET 2.0中使用样式、主题和皮肤
ASP.NET中为GridView添加删除提示框
ASP.NET 2.0,无刷新页面新境界
看看一个.net版对话框控件

ASP.NET 中的 从 Visual Basic 6.0 到 Visual Basic.NET 的转换(2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 50 ::
收藏到网摘: n/a

升级

向导

将 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

升级后将变为:

Dim MyFixedLengthString As New VB6.FixedLengthString(100)

有关该主题的全面说明,请参阅白皮书《准备将 Visual Basic 6.0 应用程序升级到 Visual Basic.NET》(英文)。

Type

Visual

Basic 6.0

Type 语句用于定义由用户定义的数据类型。

Visual Basic.NET

Type 和 User-Defined Type 这两个名称会引起混淆,因为类、枚举和接口也是可以由用户定义的类型。Type 和 User-Defined Type 是从 QuickBasic 遗留下来的,在 QuickBasic 中用户可以定义的类型只有结构和记录。CLR 使用 Type 这一名称广义地包含所有数据类型。

因此,在 Visual Basic.NET 中 Type 语句将变为 Structure。

升级

向导

将 Type 语句变为 Structure,因此以下代码:

Type MyType MyVariable As Integer End Type

升级后将变为:

Structure MyType Dim MyVariable As Short End Structure

用户定义类型存储

Visual

Basic 6.0 用户定义的数据类型可以包含某种数据类型、数组或先前定义的用户定义类型的一个或多个元素。在 Visual Basic 6.0 中,它们存储在连续的内存块中。

Visual Basic.NET

格式是最有效的。它可能位于一段连续的内存,也可能不。结构可以被标记为封送处理属性,以确保能够作为连续内存块传递到 COM 组件。

升级

向导

在所有需要添加封送处理属性的位置,API 均标记有 TODO 注释。(属性不是自动添加的,只有将结构传递到 API 时才需要它们。)

True

Visual

Basic 6.0 True 的值为 -1。

Visual Basic.NET

True 的值为 1。

鉴于语言的协同操作,需要一种适用于所有语言的一致表示法。

升级

向导

如果将布尔值强制转换为非布尔值,代码将标记有升级警告。例如,以下代码:

Dim MyBoolean As BooleanDim MyInteger As Integer MyInteger = MyBoolean

升级后将变为:

Dim MyBoolean As BooleanDim MyInteger As Short ' UPGRADE_WARNING: Boolean MyBoolean is being converted into a numeric MyInteger = MyBoolean

Empty

Visual

Basic 6.0 变量均初始化为 Empty,当用于数值表达式时,变量将自动转换为零,当用于字符串表达式时,则自动转换为空字符串。

Visual Basic.NET

对象变量均初始化为 Nothing,当用于数值表达式时,变量将自动转换为零,当