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

2016-01-29 12:08 6 1 收藏

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

【 tulaoshi.com - vb 】

升级

向导

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

将 Currency 数据类型转换为 Decimal,因此以下代码:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Dim x As Currency

升级后将变为:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Dim x As Decimal

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Date

Visual

Basic 6.0 Date 变量在内部以 Double 格式存储,能够作为 Double 类型的变量操作。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Date 变量存储为 IEEE 64 位浮点数,表示从 100 年 1 月 1 日到 9999 年 12 月 31 日的日期和从 0:00:00 到 23:59:59 的时间。任何可识别的文字日期都可以指定为 Date 变量。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

当其他数字类型转换为 Date 时,小数点左边的值表示日期信息,而小数点右边的值表示时间信息。午夜为 0,正午为 0.5。整个数值为负表示 1899 年 12 月 30 日之前的日期。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Visual Basic.NET

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Date 在内部存储为 64 位整数,因此无法直接作为 Double 进行操作。.NET 框架提供了 ToOADate 和 FromOADate 函数以进行 Double 和 Date 之间的转换。将日期表示为整数形式可以简化并加速对日期的操作。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

升级

向导

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

升级工具并非能够检测到所有使用变量将 Date 存储为 Double 的情况,但它一般会在将 Double 指定为 Date 的位置插入适当的 ToOADate 或 FromOADate 方法。例如,以下代码:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Dim dbl As Double Dim dat As Date Dbl = dat

升级后将变为:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Dim dbl As Double Dim dat As Date Dbl = dat.ToOADate

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

定长字符串

Visual

Basic 6.0 除类模块的 Public 变量之外,其他变量均可以声明为定长字符串。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Visual Basic.NET

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

CLR 第一版不支持定长字符串。在后续版本中将添加这一支持功能。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

升级

向导

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

在大多数情况下不会出现问题。假设为定长字符串表现方式,则以下代码:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Dim MyFixedLengthString As String * 100

升级后将变为:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Dim MyFixedLengthString As New VB6.FixedLengthString(100)

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Type

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Visual

Basic 6.0

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Visual Basic.NET

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

升级

向导

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Type MyType MyVariable As Integer End Type

升级后将变为:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Structure MyType Dim MyVariable As Short End Structure

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

用户定义类型存储

Visual

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Visual Basic.NET

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

升级

向导

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

True

Visual

Basic 6.0 True 的值为 -1。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Visual Basic.NET

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

True 的值为 1。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

升级

向导

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Dim MyBoolean As BooleanDim MyInteger As Integer MyInteger = MyBoolean

升级后将变为:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/vb/)

Empty

Visual

Basic 6.0 变量均初始化为 Empty,当用于

来源:https://www.tulaoshi.com/n/20160129/1484781.html

延伸阅读
开始编码之前 在 Visual Basic 中创建应用程序的最重要的(又往往为人忽视的)部分是设计阶段。需要为应用程序设计一个用户界面,这是显然的;但需要设计代码的结构就不那么显然了。构造应用程序的方法不同,可造成应用程序的性能及代码的可维护性、可使用性不同。 Visual Basic 应用程序的代码是用分层方式组织的。典型应用程...
为了理解应用程序开发过程,先要理解 Visual Basic 赖以创建的一些关键概念。因为 Visual Basic 是 Windows 开发语言,所以有必要与 Windows 环境保持一定的相似性。如果不熟悉 Windows 编程,就需要明白在 Windows环境下编程和在其它环境下编程的一些根本性的差别。 Windows 的工作方式:窗口、事件和消息 全面地讨论 Windows ...
标签: vb
这个程序实现了以下的功能:将BMP、JPG、jpeg、GIF、.png、.tiff文件转化成ico文件,可以对转化后的文件进行编辑;创建并编辑一个新的ico文件;对已有的ico文件进行编辑。所有被编辑的文件都保存为ico文件,可以在任何可使用ico文件的地方使用它们。 我先说明一下什么是GDI+。GDI+ 是GDI(Windows 早期版本提供的图形设备接口)的...
运行安装程序时将会为 Visual Basic 创建目录,从而可选择要安装的 VisualBasic 部件。 除了 \Os 目录下的操作系统文件,CD 上的其它文件是没有被压缩的,所以可从盘上直接使用。例如,在 \Tools 目录下有许多的工具和部件,可以直接从 CD-ROM 运行或安装。 要从 CD 盘上安装,请按照以下步骤执行: 1. 在 CD-ROM 驱动器中...
使用 CommandButton 控件 命令按钮控件被用来启动、中断或结束一个进程。单击它时将调用已写入Click 事件过程中的命令。 大多数 Visual Basic 应用程序中都有命令按钮,用户可以单击按钮执行操作。单击时,按钮不仅能执行相应的操作,而且看起来就象是被按下和松开一样,因此有时称其为下压按钮。 详细信息 关于 CommandB...

经验教程

753

收藏

56
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部