如何读取和显示在 Visual Basic 窗体上的 UNICODE 字符串

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 193540
本文已归档。它按“原样”提供,并且不再更新。
概要
本文演示了如何从一个 Unicode 文本文件中读取 Unicode 字符串和 Visual Basic 窗体上显示的字符串。
更多信息
Visual Basic 是在内部基于双字节 Unicode 标准。 但是的 Visual Basic 之外的世界上大多数仍会使用单字节 ANSI 模型。由于这个原因 Visual Basic 提供了两个窗体控件的设置,并使用 ANSI 设置为默认的控件。传递给 ANSI 的任何字符串的一组窗体控件将从其内部的 Unicode 表示形式转换为 ANSI 表示形式,并将无法正确显示 UNICODE 字符串。若要能够在 Visual Basic 窗体中显示 UNICODE 字符串,必须使用 UNICODE (Forms 2.0) 控件。下面的示例演示如何使用 Forms 2.0 控件来显示从一个 Unicode 文本文件中读取的 UNICODE 字符串。由于此行为需要 UNICODE 语言包支持,它只在 Windows NT 中当前受支持。

: 在这篇文章中所使用的 Forms 2.0 控件没有设计 Visual Basic 窗体上使用的和尚未经过正式测试环境中。本文介绍了仅在解决 Visual Basic 内部的控件的限制此非常有限的上下文中使用它们。不支持使用这些控件在 Visual Basic 窗体上的其他功能。

此外,Forms 2.0 是 Microsoft Office 的一部分,不是可再发行组件。因此,您不能与您的应用程序分发 Forms 2.0 (fm20.dll)。它必须已经是目标计算机上。

有关分发 fm20.dll 的其他信息,请参阅下面 Microsoft 知识库中相应的文章:
224305信息: 使用状况和重新分发的 FM20.DLL [OffDev]

生成示例的逐步式指南

  1. 在 Windows NT 计算机上安装简体中文语言包。请参阅有关安装说明下面参考部分。在 MingLiu 字体将自动安装在此步骤。您还可以安装其他语言包,如果您想要使用其他 UNICODE 语言支持。
  2. 创建一个标准 EXE 项目。默认情况下创建 Form1。
  3. 项目 菜单中选择 组件,并检查 Microsoft Forms 2.0 对象库。几个新控件添加到包括文本框、 标签,等的 UNICODE 版本这一工具箱中。
  4. 向 Form1 中添加窗体 2.0 文本框,并保留其默认名称: TextBox1。 设置为 MingLiu 文本框的字体。
  5. 向 Form1 中添加两个 CommandButtons
  6. 下面的代码添加到 Form1 的代码窗口:
          Private Sub Command1_Click()        ' create a Unicode text file with Chinese character        ' Dan1 and English character D.        Dim a(0 To 5) As Byte        a(0) = &HFF        a(1) = &HFE        a(2) = &H39        a(3) = &H4E        a(4) = &H44        a(5) = &H0        Open "unicode.txt" For Binary As #1        Put #1, , a        Close #1      End Sub      Private Sub Command2_Click()        Dim txtline As String        ' you may need to change the path of the file        Open "unicode.txt" For Binary As #1        txtline = InputB(2, #1)  ' always FF FE, skip them        txtline = InputB(4, #1)        Close #1        TextBox1.Text = txtline  ' display the string      End Sub
    需要跳过这些两个字节的 UNICODE 文本文件总是以开始字节 FF FE,这是为什么您的笔记。此外请注意要从文件中读取 UNICODE 字符串文件需要将作为二进制和读取使用 InputB 打开。
  7. 运行该应用程序。单击 Command1 创建 Unicode 文本文件。
  8. 单击 Command2。在文本框中正确显示中文字符 Dan1 和英文字符 D。您还可以通过用 MingLiu 字体使用记事本检查 unicode.txt 文件。
参考
有关更多的信息,请参阅下面 Microsoft 知识库中相应的文章:
177561如何添加和 $ 启用在 Windows NT 中的其他语言
224305信息: 使用状况和重新分发的 FM20.DLL [OffDev]

警告:本文已自动翻译

属性

文章 ID:193540 - 上次审阅时间:12/05/2015 09:22:25 - 修订版本: 1.4

Microsoft Visual Basic 5.0 专业版, Microsoft Visual Basic 6.0 专业版, Microsoft Visual Basic 5.0 企业版, Microsoft Visual Basic Enterprise Edition for Windows 6.0

  • kbnosurvey kbarchive kbmt kbctrl kbhowto kbunicode KB193540 KbMtzh
反馈