Bonjour,

J'ai plus l'habitude de coder en C sur de l'embarqué. Mais pour un projet, j'ai du me mettre au Visual Basic et je galère sur pas mal de trucs.
J'ai un fichier binaire un lire et dans certaines portions, j'ai du texte en clair, et je souhaiterai récupérer ces parties afin de les afficher dans mon logiciel.
J'appelle une fenêtre pour charger un fichier et ensuite, je l'analyse pour stocker les données dans une collection de structures.

Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
44
45
46
47
48
49
50
51
 
Public Structure stFont
    Dim FontIndex As Byte
    Dim FontName As String
    Dim FileFont As String
End Structure
 
   Private Sub BT_FontLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_FontLoad.Click
        Dim fontFile As String
        Dim fontName(65) As Char
        Dim uneFont As stFont
        Dim testFonts As New List(Of stFont)
 
        OF_DMSFont.Title = "Ouvrir un fichier de police"
        OF_DMSFont.InitialDirectory = "c:\"
        OF_DMSFont.Filter = "Police de caractères (*.font)|*.font"
        OF_DMSFont.RestoreDirectory = True
        OF_DMSFont.Multiselect = True
        OF_DMSFont.CheckFileExists = True
 
        If OF_DMSFont.ShowDialog() = DialogResult.OK Then
            For Each fontFile In OF_DMSFont.SafeFileNames
                CLB_DisplayFont.Items.Add(fontFile)
            Next
 
            For Each fontFile In OF_DMSFont.FileNames
                If (File.Exists(fontFile)) Then
                    uneFont.FileFont = String.Copy(fontFile)
 
                    Dim fStream As New IO.FileStream(fontFile, IO.FileMode.Open, IO.FileAccess.Read)
                    Dim binReader As New IO.BinaryReader(fStream)
 
                    uneFont.FontIndex = binReader.ReadByte
                    binReader.Read(fontName, 0, 64)
 
                    fStream.Close()
                    binReader.Close()
 
                    testFonts.Add(uneFont)
 
                End If
            Next
 
            For Each uneFont In testFonts
                MessageBox.Show("Font is " + uneFont.FileFont + " of index " + uneFont.FontIndex.ToString)
 
            Next
 
        End If
 
    End Sub
Mon souci est fontName un tableau de char, j'aimerai le convertir en string pour l'utiliser dans une messagebox, dans mon interface, ...
Je ne sais pas comment faire pour la transformer.
J'ai essayé diverses méthodes mais aucune n'a donné les résultats voulus.

Si vous avez une idée ou une piste, merci.