[VB 6]Lecture de fichiers binaires

cs_Sharkiller Messages postés 80 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 25 avril 2011 - 7 avril 2007 à 20:00
cs_Sharkiller Messages postés 80 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 25 avril 2011 - 8 avril 2007 à 18:15
Bonsoir!
J'arrive à afficher le contenu d'un fichier binaire... Mais j'aimerais savoir s'il est possible de le retranscrire en une chaîne de caractères.

J'ai essayé avec open as Binary, mais j'ai une erreur parlant de type automation...

Quelqu'un pourrait m'aider slp?

§H@®?¦££€®[mailto:$|-|@|2|<!LL€|2 ]

6 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 avril 2007 à 10:50
salut,

http://www.codyx.org/snippet_mettre-fichier-dans-tableau-bytes_1.aspx#250

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_Sharkiller Messages postés 80 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 25 avril 2011
8 avril 2007 à 14:13
Merci PCPT, mais ça me donne une valeur entière, et ce n'est pas ce que je voudrais... En fait, des fois quand on ouvre un fichier binaire, on peut y voir des informations, comme un répertoire. Et en fait j'aimerai voir le reste des informations, qui elles sont en binaire... Je sais pas si tu vois? Moi quand j'enregistre un fichier en binaire, ca m'affiche aussi certaines données. Et quand je le lis en binaire, ca me met ce que j'avais avant d'enregistrer (normal). Mais dans ce cas-là, quand j'essaie de lire, ca m'affiche tout en binaire :(
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 avril 2007 à 16:08
héberge un exemple de fichier complet stp
et mets le code que tu utilises ;)
0
cs_Sharkiller Messages postés 80 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 25 avril 2011
8 avril 2007 à 16:22
Alors:

C'est sous VB 6 donc:
Il y a des contrôles Dir, Drive et File, pour pouvoir chercher un fichier sur un disque, une zone de texte txtPath pour mémoriser le fichier choisit, et une zone de texte txtCtnt pour afficher le contenu du fichier.

Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub


Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub


Private Sub File1_Click()
If Mid(File1.Path, Len(File1.Path), 1) <> "" Then
    txtPath.Text = File1.Path & "" & File1.FileName
Else
    txtPath.Text = File1.Path & File1.FileName
End If
End Sub


Private Sub Form_Load()
Dir1.Path = "C:"
End Sub



Private Sub Label1_Click()
Dim tmp As String
Open txtPath.Text For Input As #1
    Input #1, tmp
Close #1
txtCtnt.Text = tmp
End Sub


C'est le passage en gras sur lequel l'attention se porte^^
Quand on met ça, on obtient ce qui est contenu dans le fichier.. Mais si c'est un fichier en binaire, ça nous l'affiche en binaire (forcément^^).
Si j'essaie "Open txtPath for Binary Access Write as #1" par exemple, eh bien il enregistre la même valeur... Donc quand on fait un Get, on obtient toujours cette même valeur!

§H@®?¦££?®[mailto:$|-|@|2|<!LL?|2 ]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
romain145 Messages postés 25 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 3 février 2011
8 avril 2007 à 17:24
salut, essaye txtCtnt.Text = Chr(tmp)
c'est de cette manière que je décode les octets en taant que caractères.

++
Romain
0
cs_Sharkiller Messages postés 80 Date d'inscription dimanche 12 octobre 2003 Statut Membre Dernière intervention 25 avril 2011
8 avril 2007 à 18:15
Ah, j'ai un exemple de contenu:
Par exemple quand on ouvre calc.exe (dans c:\windows\system32), on obtient le début de fichier suivant:

MZ�3;�4;ÿÿ¸@ð�E;�1F;º�E;´ Í!¸�1;LÍ!This program cannot be run in DOS mode.

J'imagine donc qu'on peut arriver à déchiffrer MZ�3;�4;ÿÿ¸@ð�E;�1F;º�E;´ Í!¸�1;LÍ!
Merci romain145, mais ta méthode revient au même

Sharkiller
0
Rejoignez-nous