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 :
Mon souci est fontName un tableau de char, j'aimerai le convertir en string pour l'utiliser dans une messagebox, dans mon interface, ...
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
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.
Partager