Visual Basic.NET - Acentos en el texto de un MessageBox()

 
Vista:
sin imagen de perfil

Acentos en el texto de un MessageBox()

Publicado por Adriano (21 intervenciones) el 30/03/2017 13:08:19
Buenas tardes:

Tengo un archivo de texto para guardar una determinada configuración. Cuando lo abro con el Bloc de Notas o con Word los acentos se respetan pero si lo abro con un MessageBox() dichos acentos no aparecen, en su lugar aparece un rombo negro con un signo de interrogación en su interior.

Adjunto el archivo de texto por si es de interés.

El código del procedimiento que tengo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Private Sub FormComenzar_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 
    'Comprobar que el archivo de configuración existe para proceder a la lectura
    If My.Computer.FileSystem.FileExists(str_NombreArchivo) Then
 
        MessageBox.Show("El archivo existe")
 
        Using LecturaArchivo As New FileIO.TextFieldParser(str_NombreArchivo)
 
            LecturaArchivo.TextFieldType = FileIO.FieldType.FixedWidth
            LecturaArchivo.SetFieldWidths(9, 5, 5, 2, 2, 2, 2, 2, 2, 2, 50, 3)
 
 
            While Not LecturaArchivo.EndOfData
 
                Dim str_CamposArchivo(11) As String
 
                str_CamposArchivo = LecturaArchivo.ReadFields()
 
                MessageBox.Show(str_CamposArchivo(0))
                MessageBox.Show(str_CamposArchivo(1))
                MessageBox.Show(str_CamposArchivo(2))
                MessageBox.Show(str_CamposArchivo(3))
                MessageBox.Show(str_CamposArchivo(4))
                MessageBox.Show(str_CamposArchivo(5))
                MessageBox.Show(str_CamposArchivo(6))
                MessageBox.Show(str_CamposArchivo(7))
                MessageBox.Show(str_CamposArchivo(8))
                MessageBox.Show(str_CamposArchivo(9))
                MessageBox.Show(str_CamposArchivo(10))
                MessageBox.Show(str_CamposArchivo(11))
 
            End While
 
        End Using
 
    Else
 
        MessageBox.Show("Para comenzar debe crear una configuración")
 
    End If
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo
Val: 1.533
Plata
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Acentos en el texto de un MessageBox()

Publicado por Wilfredo Patricio Castillo (713 intervenciones) el 30/03/2017 18:36:26
Al guardar el archivo, especificaste que sea codificación UTF-8?.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Acentos en el texto de un MessageBox()

Publicado por Adriano (21 intervenciones) el 30/03/2017 19:09:00
Buenas tardes:

El código que he utilizado para la grabación es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
'Comprobar que el archivo de configuración existe para proceder a la grabación
    If My.Computer.FileSystem.FileExists(str_NombreArchivo) Then
 
        'El archivo de configuración existe
        int_NúmeroArchivo = FreeFile()
        lng_LongitudRegistro = Len(Cabecera) 'lng_LongitudRegistro contiene la longitud de un registro (86 bytes)
        lng_TamañoFichero = FileLen(str_NombreArchivo)
        int_Posición = CInt((lng_TamañoFichero) / (lng_LongitudRegistro)) 'int_Posición contiene el número total de registros
        FileOpen(int_NúmeroArchivo, str_NombreArchivo, OpenMode.Random, , , CInt(lng_LongitudRegistro))
        FilePut(int_NúmeroArchivo, Cabecera, (int_Posición + 1))
        FileClose(int_NúmeroArchivo)
 
    Else
 
        'El archivo de configuración no existe
        int_NúmeroArchivo = FreeFile()
        lng_LongitudRegistro = Len(Cabecera)
        FileOpen(int_NúmeroArchivo, str_NombreArchivo, OpenMode.Random, , , CInt(lng_LongitudRegistro))
        FilePut(int_NúmeroArchivo, Cabecera,)
        FileClose(int_NúmeroArchivo)
 
    End If
 
    LimpiarCampos(Me)
    cbx_Curso.Text = ""
    Me.Visible = False
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo
Val: 1.533
Plata
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Acentos en el texto de un MessageBox()

Publicado por Wilfredo Patricio Castillo (713 intervenciones) el 30/03/2017 19:20:50
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Acentos en el texto de un MessageBox()

Publicado por Adriano Zarzuela (21 intervenciones) el 04/04/2017 13:04:04
Gracias Wilfredo:

Me ha venido fenomenal esa información.

Un cordial saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar