CÓMO: Leer y mostrar cadenas UNICODE en un formulario de Visual Basic

Seleccione idioma Seleccione idioma
Id. de artículo: 193540 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se demuestra cómo leer una cadena Unicode de un archivo de texto Unicode y mostrarla en un formulario de Visual Basic.

Más información

Visual Basic se basa internamente en el estándar Unicode de doble byte. Sin embargo, fuera del mundo de Visual Basic, se sigue utilizando el modelo ANSI de un bit. Por esta razón, Visual Basic proporciona dos conjuntos de controles de formularios y utiliza los conjuntos ANSI como control predeterminado. Cualquier cadena que se pase al conjunto ANSI de controles de formularios se convierte de su representación Unicode interna a su representación ANSI y las cadenas UNICODE no se mostrarán correctamente. Para poder mostrar la cadena UNICODE en un formulario de Visual Basic, deben utilizarse los controles UNICODE (Forms 2.0). En el ejemplo siguiente se ilustra cómo utilizar los controles de Forms 2.0 para mostrar cadenas UNICODE obtenidas de un archivo de texto Unicode. Puesto que se necesita el paquete de compatibilidad de idioma UNICODE, actualmente este sistema sólo se aplica a Windows NT.

NOTA: los controles de Forms 2.0 utilizados en este artículo no fueron diseñados para ser utilizados en formularios de Visual Basic y no se han probado formalmente en dicho entorno. En este artículo se documenta su uso únicamente en este contexto limitado para pasar por alto la limitación de los controles intrínsecos de Visual Basic. La utilización de otras características de estos controles en formularios de Visual Basic no se admite.

Además, Forms 2.0 forma parte de Microsoft Office y no se puede redistribuir. Por tanto, no puede distribuir Forms 2.0 (fm20.dll) con su aplicación. Debe encontrarse en los equipos de destino.

Para obtener información adicional acerca de cómo distribuir fm20.dll, consulte el artículo siguiente de Microsoft Knowledge Base:
224305 INFO: Uso y distribución de FM20.DLL [OffDev]

Guía paso a paso para compilar un ejemplo

  1. Instale el paquete de idioma chino en un equipo donde se use Windows NT. Para ver las instrucciones de instalación, vea la sección REFERENCIAS que aparece a continuación. La fuente MingLiu se instalará automáticamente en este paso. También puede instalar otros paquetes de idioma, si desea utilizar las funciones de otro idioma UNICODE.
  2. Cree un proyecto EXE estándar. De manera predeterminada se creará Form1.
  3. En el menú Proyecto seleccione Componentes y Microsoft Forms 2.0 Object Library. Se agregan varios controles nuevos al cuadro de herramientas, incluidas las versiones UNICODE del cuadro de texto, etiqueta, etcétera.
  4. Agregue un control TextBox de Forms 2.0 al formulario Form1 y conserve su nombre predeterminado: TextBox1. Establezca la fuente del cuadro de texto como MingLiu.
  5. Agregue dos controles CommandButtons a Form1.
  6. Agregue el código siguiente en la ventana de código de 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
    Observe que el archivo de texto UNICODE siempre empieza con los bytes FF FE, por lo que debe saltárselos. Observe también que para leer cadenas UNICODE de un archivo, es necesario abrirlo como de tipo binario y leerlo con InputB.
  7. Ejecute la aplicación. Haga clic en Command1 para crear el archivo de texto Unicode.
  8. Haga clic en Command2. El carácter chino Dan1 y el carácter inglés D aparecerán correctamente en el cuadro de texto. También puede comprobar el archivo unicode .txt si usa el Bloc de notas con la fuente MingLiu.

Referencias

Para obtener información adicional, consulte los artículos siguientes de Microsoft Knowledge Base:
177561 CÓMO: Agregar y habilitar idiomas adicionales en Windows NT
224305 INFO: Uso y distribución de FM20.DLL [OffDev]

Propiedades

Id. de artículo: 193540 - Última revisión: viernes, 11 de julio de 2003 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Edición empresarial
Palabras clave: 
kbhowto kbunicode kbctrl KB193540

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com