升级 向导 将 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。 鉴于语言的协同操作,需要一种适用于所有语言的一致表示法。 <  
1/2 1 2 下一页 尾页 |