Fin d'un fichier Hexa

cs_SEB73460 Messages postés 271 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 novembre 2022 - 3 août 2007 à 17:13
 Utilisateur anonyme - 4 août 2007 à 11:45
Bonsoir,

Voila, j'ouvre un fichier Hexadecimal dans un listview ( 16 colonne de 2 octets chacune )
Mais à la fin de mon fichier je me retrouve avec des FFFFFF partout

Comment charger mon listview jusqu'à la fin de mon fichier ?

Ensuite j'effectue un comptage en Hexa des lignes de mon fichier
li = ListView1.Items.Add(compteur.ToString("X").PadLeft(7, "0"))

Mais avec ce bout de code la visualisation dans mon listview est tres tres longue !

Merci pour votre aide

A+

3 réponses

Utilisateur anonyme
3 août 2007 à 20:37
Salut,

On va déjà raisoner sur la premuier partie. A savoir le chargement du fichier dans la listview.
De quel forme est ton fichier texte ? Peux tu donner un exemple (2,3 lignes) ?
As-tu commencer à faire le code ?







__________
Kenji

(


Nouveau forum VBA/Office
0
cs_SEB73460 Messages postés 271 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 novembre 2022
4 août 2007 à 08:40
Bonjour et merci pour ton aide et ta reponse Charles

Voici mon code :

Dim i
As
Integer

Dim li
As ListViewItem

Dim compteur
As
Integer

'Le chemin du fichier

Dim fichier
As
String =
""
'Configuration de la boite de dialogueOpenFileDialog1.Title "Ouvrir fichier hexad‚cimal"OpenFileDialog1.InitialDirectory Application.StartupPath &

""OpenFileDialog1.Filter =

"Fichier hexad‚cimal (*.hex)|*.hex"OpenFileDialog1.FilterIndex = 1

OpenFileDialog1.RestoreDirectory =

True

'Ouverture de la boite de dialogueOpenFileDialog1.ShowDialog()

'Lecture du fichier

Dim fs
As FileStream =
New FileStream(OpenFileDialog1.FileName, FileMode.Open) 

'Boucle pour le comptage en Hexa de la colonne d'adresses

For compteur = 0
To fs.Length

'Compte en Hexa dans la colonne d'adressesli = ListView1.Items.Add(compteur.ToString(

"X").PadLeft(6,
"0")) 

'16 est le nombre de colonnes de l'affichage

Dim pages
As
Integer = fs.Length \ 16

'Pour chaque ligne entiŠre (16 bytes)

For A
As
Integer = 0
To pages - 1

Next 

'Remplit la ligne avec 16 Octets de 2 bits chacun "00" "1F"li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))

Next

'Si il reste une ligne incomplŠte, moins de 16 octets de la position en cours … la fin du fichier

If fs.Length
Mod 16 > 1
Thenli = ListView1.Items.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))

End
If

'Pour chaque octet suppl‚mentaire de la ligne incomplŠte jusqu'… la fin du fichier

For i = 1
To (fs.Length
Mod 16) - 1li.SubItems.Add(fs.ReadByte.ToString(

"X").PadLeft(2,
"0"))

Next

'Affiche le nom et l'extension du fichier dans textboxTextBox5.Text = System.IO.Path.GetFileName(OpenFileDialog1.FileName)

'Affiche la taille du fichier en octets dans textboxTextBox3.Text = fs.Length &

" Octet(s)"
0
Utilisateur anonyme
4 août 2007 à 11:45
Peux tu donner un exemple de fichier ?







__________
Kenji

(


Nouveau forum VBA/Office
0
Rejoignez-nous